"Ok Google, Jörg anrufen". Nachdem in einem kurzen Sprechdialog geklärt ist, welcher Jörg aus der Kontaktliste gemeint ist, ruft die App den gewünschten Teilnehmer an. Auf die gesprochene Frage: "Wer ist Ada Lovelace, antwortet Siri: "Augusta Ada Byron King, Countess of Lovelace, allgemein als Ada Lovelace bekannt, war eine britische Mathematikerin…" Diese und andere Assistenzfunktionen wie Routenberechnungen, SMS verschicken oder Whats App Nachrichten aufrufen von Google Now, Siri oder Cortana sind zwar praktisch, gerade wenn man das Handy nicht in der Hand halten kann, aber sind sie auch smart? Ein System, das selbstständig auf Basis bestimmter Parameter Aktien kauft und verkauft - ist das selbst smart oder ist es nur intelligent programmiert? Welche Anforderungen muss ein Softwareservice eigentlich erfüllen, um tatsächlich als "smart" eingestuft zu werden?
Alles wird Smart
Das Adjektiv "smart" wird zurzeit inflationär benutzt. Es gibt Smart Watches, Glasses, TVs, Homes, Factories oder sogar smart Cities" zählt Andreas Riegg auf. "Dabei sollen alle diese Produkte, Services und Umgebungen mehr können als ihre un-smarten Pendants, aber was sie genau schlau macht, ist nicht wirklich definiert." Dabei seien die Anforderungen an "Smartness" ganz wichtig, findet der Leiter der Arbeitsgruppe Smart Services im SOA Innovation Lab, einem Anwenderverband aus Großunternehmen, der sich mit den Themen Enterprise Architecture Management und serviceorientierten Architekturen auseinandersetzt. Unternehmen, die einen solchen Service entwickeln, Komponenten dafür bauen oder ihn auch nur professionell nutzen möchten, müssten schließlich wissen, um welche Eigenschaften es genau geht. Sei es um verschiedene Smart Services miteinander vergleichen zu können, entsprechende Eigenschaften selbst zu entwickeln, Komponenten dafür einzukaufen, oder solche Services in die eigene Enterprise Architektur einzubetten.
Die Arbeitsgruppe im SOA Innovation Lab, hat deshalb ein Referenzmodell für Smart Services entwickelt, mit dem sich genau verstehen lassen soll, was einen Service smart macht und welche Eigenschaften ein solcher Service bis zu welchem Grad aufweisen soll, wenn man ihn entwickelt. "Das Referenzmodell stellt ein Bauprinzip dar, keinen Plan und keine Werkzeuge, mit denen ein solcher Smart Service entwickelt werden kann", betont Riegg.
Um herauszubekommen, welche Eigenschaften den Begriff "Smartness" definieren, untersuchte die Arbeitsgruppe zunächst generische Definitionen. Zum Beispiel, die von Michael Youngblood: "Eine smarte Umgebung kann Wissen über sich selbst und seine Bewohner sammeln und anwenden, um ihre Lebensumstände zu verbessern." Oder die der Eastern Connecticut State University: "Smart Devices sind elektronische Geräte, die schnurlos, mobil und immer verbunden sind. Sie beherrschen Daten-, Sprach- und Videokommunikation, können im Internet surfen, ihre Lokation bestimmen und sie können bis zu einem gewissen Grad autonom agieren."
Referenzmodell für Smart Services
Aber auch Definitionen über menschliche und künstliche Intelligenz spielten bei der Annäherung an den Begriff eine Rolle. "Mit Smartness backen wir allerdings bewusst deutlich kleinere Brötchen als mit Künstliche Intelligenz (KI)", erklärt Riegg. Zum einen sei der Begriff Künstliche Intelligenz sehr stark mit dem Vergleich zur menschlichen Intelligenz aufgeladen. Zum anderen seien die Ziele hochgesteckt. Die Encyclopaedia Britannica dazu: "Künstliche Intelligenz ist die Fähigkeit (eines Computers oder Computer kontrollierten Roboters) zu schlussfolgern, Bedeutung zu entdecken, zu generalisieren und aus vergangenen Erfahrungen zu lernen." Diesen KI-Attributen stellt die SOA-Gruppe vier konkrete Fähigkeiten oder Capabilities gegenüber, die "Smartness" definieren:
Self Description - Ein Service kann sein eigenes Verhalten beschreiben und macht sich so für andere Services nutzbar. Diese Fähigkeit kann unterschiedlich ausgeprägt sein. Statisch, semantisch und dynamisch. Im Gegensatz zu "statisch" nutzt eine semantische Selbsterklärung zum Beispiel eine bestimmte Sprache, die den Sinn der Selbstbeschreibung für andere Services verständlich macht. Dynamisch wird die Beschreibung, wenn der Service zum Beispiel neu integrierte Fähigkeiten in seine Beschreibung aufnimmt und damit jederzeit auf Knopfdruck in der Lage ist, seine aktuell gültige Servicebeschreibung zu liefern.
Beispiel: Der Ortungsservice eines Handys macht sich gegenüber anderen Services als solcher erkennbar und kann für Ortungen zum Beispiel in Navigationssystemen oder Bewertungsportalen genutzt werden. Der Service weiß, ob er funktioniert oder nicht.
Context Consideration - Ein Service kann die Umgebung und deren Zusammenhänge (also den Kontext) erkennen, in dem er benutzt wird. Auch diese Fähigkeit ist in Abstufungen definiert: Erfassen, verarbeiten, reagieren. Der Service erfasst einen bestimmten Zusammenhang, verarbeitet seine Auswirkungen und reagiert darauf zum Beispiel mit einem "alternativen" Lösungsvorschlag.
Beispiel: Ein Navigationssystem erkennt, dass es von einem Fußgänger zur Nachtzeit befragt wird und schlägt eine Route vor, die zu Fuß nachts auch als ausreichend sicher angesehen werden kann. Und wenn es eine solche Route beginnend von dem aktuellen Standort nicht gibt, dann empfiehlt es dringend zum Beispiel doch besser ein Taxi zu rufen.
Learning - Ein Service kann sein Verhalten aufgrund von Informationen verändern, um sich neuen Zusammenhängen anzupassen. Diese Fähigkeit ist abgestuft, von Anpassen über Verbessern bis hin zu Selbstverbessernd. Mit "Verbessern" ist gemeint, dass ein Service aufgrund früherer Ereignisse und Erfahrungen sein Verhalten anpassen kann. Der Nutzer kann eingreifen. Mit "Selbstverbessernd" ist gemeint, dass der Service mit Mitteln der Selbstoptimierung oder Selbstheilung komplexe Situation ohne Eingreifen des Nutzers meistern kann.
Beispiel: Ein digitaler Assistent "lernt", dass sein Nutzer in 90 Prozent der Fälle aus den drei vorhandenen "Jörg" in seinem Adressbuch mit dem ersten telefoniert. Der Assistent wählt daraufhin standardmäßig die Telefonnummer des ersten Jörg.
Agency - Ein Service kann durch Interaktion mit anderen Services und proaktivem Verhalten die ihm gesteckten Ziele selbständig erreichen. Auch diese Fähigkeit ist abgestuft in cooperate, plan und execute. Ein Service auf der Stufe "cooperate" kann mit anderen Services kooperieren, um seine Ziele zu erreichen. "Plan" bedeutet, dass ein Service auf Basis von Informationen, die ihm über interne Schritte zur Verfügung stehen, sein Ziel innerhalb eines bestimmten Aktivitätenmusters erreichen kann - zum Beispiel in dem er mit anderen bekannten und zugelassenen Services interagiert. Auf der Stufe "execute" kann der Service auch mit anderen Services interagieren, die vorher noch nicht bekannt waren, die ihm aber helfen können, seine Ziele zu erreichen.
Beispiel: Ein Aktienhandels-Service interagiert mit anderen Services, die ihn zum Beispiel in kurzen Zeitintervallen über den aktuellen Wert von Börsenpapieren informieren. Der Handelsservice vergleicht die aktuellen Kurse, mit den Schwellenwerten, die ihm für sein Portfolio vorgegeben sind. Werden die Schwellenwerte erreicht, kauft oder verkauft der Service selbsttätig. Dabei kann es sein, dass ihm ein Schwellenwert für das gesamte Portfolio vorgegeben ist oder für einzelne Papiere oder er sogar auf wechselnde Schwellenwertvorgaben reagiert, die ihm von einem anderen Service aktuell zur Verfügung gestellt werden.
Fähigkeiten sind konkret und messbar
Diese Fähigkeiten sind zwar keineswegs anspruchslos, aber sie sind konkret und sie müssen weder alle in einem Service vertreten sein, noch müssen die vorhandenen Fähigkeiten in vollem Ausmaß entfaltet sein. Die granulare Beschreibung hilft einerseits, den Grad an Smartness zu beurteilen, den ein Service aufweist. Andererseits hilft sie aber auch Providern oder Anwenderunternehmen zu beurteilen, welche Fähigkeiten ein Service benötigt, den sie bereitstellen wollen.
Um Smartness einfacher bewerten zu können, hat die SOA Gruppe Capabilities und ihre Einstufung in einen dreidimensionalen Würfel gepackt und diesen außerdem mit den nichtfunktionalen Aspekten Softwareentwicklung, Security und Recht ausgestattet. Diese haben zwar nichts mit den Fähigkeiten zu tun, die ein smarter Service aufweisen kann, aber jeder Service muss bestimmte Gesetze und Security-Regeln einhalten. Darüber hinaus werden bestimmte Technologien und Vorgehensweisen benutzt, um einen Service zu entwickeln. Um den Grad der Smartness - den Reifegrad quasi - noch einfacher bewertbar zu machen, wurden für alle Capabilities die selbsterklärenden Levels "handled", "reasoned" und "autonomous" dem Würfelmodell hinzugefügt.
Daraus ergibt sich für die SOA-Gruppe folgende Definition von Smartness: "Ein smarter Service ist ein digital vernetzter Service, der von den als smart identifizierten Capabilities (Self Description, Context, Learning und Agency) mindestens eine aufweist. Der Grad der Smartness bemisst sich am erreichten Reifegrad der jeweiligen Capabilities."
Wie smart ist Enterprise IT?
Aspekte dieser Definition von Smartness finden sich heute teilweise bereits in den Enterprise IT Umgebungen wieder. Die Capability "Agency" taucht zum Beispiel in aktuellen Technologien wie autonome Fahrzeuge, cyber-physische Systeme auf. Die Fähigkeit "Learning" lässt sich am prominentesten im Sektor Data Analytics beobachten. "Content Consideration" findet sich in den Bereichen Location-based Services. "Self Description" schließlich begegnet uns am deutlichsten in den Web Service Beschreibungssprachen WSDL, RSDL oder Swagger.
Smartness realisiert sieht SOA-Mann Riegg zum Beispiel in den digitalen Assistenten Siri, Google Now oder Cortana. "Wenn Sie da unseren smarten Würfel anlegen, können sie den Grad der Smartness genau bestimmen und wissen, welche Fähigkeiten genau die Schlauheit der Assistenten definieren. Damit können wir smarte Services vergleichen", freut sich der Service-Experte. Wenn ein Anwenderunternehmen vor der Wahl stehe, brauche es objektive Kriterien, mit denen sich smarte Services vergleichen lassen. "Das liefert unser Referenzmodell."
Doch nicht nur beim Bewerten hilft das Modell des SOA Lab, sondern auch beim Entwickeln. "Es hilft, festzulegen, welche Fähigkeiten ein Service braucht und es unterstützt die Entscheidung, ob bestimmte Fähigkeiten selbst entwickelt werden müssen oder nicht", erklärt Riegg. Er geht davon aus, dass sich der Markt für Smart Service schnell weiterentwickelt und viele Teilnehmer hineindrängen werden. "Das wird wahrscheinlich ein sehr arbeitsteiliger Markt, in dem die Rollen von Anbieter und Nutzer immer wieder wechseln können. Die Marktteilnehmer brauchen Orientierung, die können wir mit dem Referenzmodell liefern."
Eine detaillierte Herleitung und Erklärung für das SOA Lab Referenzmodell Smart Services finden Sie hier: https://soa-lab.de/fileadmin/pdf/Whitepaper_Smart_Services_SOA_Innovation_Lab.pdf