Refernzmodell des SOA Innovation Lab

Smart Services leichter entwickeln und einsetzen

Christoph Witte arbeitet als Publizist, Sprecher und Berater. 2009 gründete er mit Wittcomm eine Agentur für IT /Publishing/Kommunikation. Hier bündelt er seine vielfältigen Aktivitäten als Autor, Blogger, Sprecher, PR- und Kommunikationsberater. Witte hat zwei Bücher zu strategischen IT-Themen veröffentlicht und schreibt regelmäßig Beiträge für die IT- und Wirtschaftspresse. Davor arbeitete er als Chefredakteur und Herausgeber für die Computerwoche, Deutschlands wichtigster IT-Publikation für Unternehmen. Außerdem ist Witte Mitbegründer des CIO Magazins, als dessen Herausgeber er bis 2006 ebenfalls fungierte.
Wenn ein Service "smart" ist, gilt er als cool, als passend zur digitalen Welt. Fragt man aber, was smart eigentlich bedeutet, werden die Antworten schnell unklar. Deshalb hat das SOA Innovation Lab ein Referenzmodell für Smart Services entwickelt. Es hilft Anwenderunternehmen "Smartness" zu bewerten und Providern erleichtert es, Smart Services zu entwickeln.

"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:

Referenzmodell Smart Services des SOA Innovation Lab
Referenzmodell Smart Services des SOA Innovation Lab
Foto: SOA Innovation Lab

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.