Agile Unternehmen und flexible IT durch Serviceorientierung

Auch scheinbare Kleinigkeiten wie unterschiedliche Bezeichnungen für dieselben Informationen in unterschiedlichen Anwendungen – zum Beispiel „Personalnummer“ und „Mitarbeiternummer“- können Probleme aufwerfen. Ein weiteres Problem besteht darin, dass – wie bereits erwähnt – die Anzahl der Datentransformationen mit der Anzahl der zu verbindenden Anwendungen exponentiell wächst. Die Kopplung zwischen den im vorgestellten Beispiel beteiligten Anwendungen ist ein Maß dafür, welche Annahmen die Applikationen untereinander treffen müssen, um zusammenarbeiten zu können. Das Beispiel zeigt, dass die Programme an vielen Stellen Annahmen machen müssen. Es besteht folglich eine starke Kopplung. Jede Anwendung muss wissen, welche Anwendung sie entsprechend den Geschäftsregeln aufrufen muss und welche Datentypen und Formate sie benötigt. Die Kommunikation zwischen den Anwendungen ist im Hinblick auf die Datenformate und Datentypen in den meisten Fällen nicht standardisiert und zu klein granuliert. Die im Beispiel zum Einsatz kommende Variable x dient dafür als Beleg.

Bleibt festzuhalten: Die starke Kopplung zwischen Anwendungen und das Fehlen von Standards für den Datenaustausch haben zu starren und unflexiblen IT-Landschaften geführt, bei denen geschäftsprozessrelevante Änderungen nur durch aufwändiges Programmieren der Ablauflogik innerhalb verschiedener Anwendungen möglich sind. Das Ändern und Ersetzen von Teilsystemen ist äußerst aufwändig und kann „gefährliche“ Nebenwirkungen nach sich ziehen, indem Annahmen verletzt werden. Eine Wiederverwendung von Softwaremodulen in verschiedenen Prozessen ist bei enger Kopplung daher äußerst kompliziert. Enorme Wartungskosten und unzureichende Flexibilität und Agilität der Prozesse und damit der Unternehmen sind die Folge.

FACHLICHE BESCHREIBUNG

Ein Service beschreibt eine oder mehrere fachliche Funktionen (Serviceoperationen). Services kommunizieren miteinander durch den Austausch von Business-Objekten in Form strukturierter Nachrichten (auch Messages oder Dokumente genannt). Abbildung 4 zeigt schematisch die Anatomie eines Services. Die Funktionalität (Capability) eines Services (Service Provider) wird durch eine Schnittstelle (Interface) definiert, welche die Nachrichten deklariert, die der Service konsumieren oder produzieren kann.

Abbildung 4: Anatomie eines Service

Damit publiziert der Dienst seine „allgemeinen Geschäftsbedingungen“(AGBs) nach außen. Der Natur eines Services gemäß beinhalten diese AGBs nicht nur die Beschreibung der Funktionalität und der Schnittstellen, sondern sie müssen auch die Qualität eines Services durch Service Level Agreements (SLAs) definieren. Damit können flexible Anwendungen und Prozesse unter Berücksichtigung vorgegebener Critical Success Factors (CSFs) und definierter Key Performance Indicators (KPIs) schon vor der Implementierung simuliert werden. Sie dienen als Vorgabe für eine Implementierung der Services und Prozesse sowie für ein späteres Performance Monitoring laufender Prozesse.

Von größter Wichtigkeit für eine funktionierende Kommunikation zwischen einzelnen Services ist es, dass die Nachrichten einem Standard entsprechen. Dabei ist zu beachten, dass innerhalb eines Services keine Ablauffunktionen oder Datentransformationen definiert sind. Ein Service Provider wird durch Senden eines Business-Objekts von einem Service Requestor oder Client aufgerufen, verrichtet seine Arbeit und sendet sein Ergebnis (Dokument) an den aufrufenden Client zurück. Beide wissen nichts von der Implementierung des anderen und müssen keine Annahmen machen. Wesentlich ist eine saubere Nomenklatur einer fachlichen Sprache, die die Nomina und Verben innerhalb einer Domäne als Standard definiert. Den Verben entsprechen die Services, die Schnittstellen werden durch eine Liste von Nomina definiert.

DIE ROLLE VON WEB SERVICES

Fachliche Services werden oft durch Web Services implementiert. Ein Web Service ist ein atomarer Softwarebaustein und beinhaltet Methoden (Funktionen), in denen die Serviceoperationen des fachlichen Dienstes implementiert sind. Die Programmiersprache ist auf dieser Ebene nebensächlich. Web Services besitzen eine Adresse und kommunizieren miteinander über standardisierte Nachrichten. Die Nachrichten sind im Allgemeinen XML-Dokumente. Die Schnittstellenbeschreibung (Schema) eines Web Service erfolgt mithilfe der Web Service Definition Language (WSDL) – ein XML-basierter Standard zur Definition der Schnittstelle des Web Service und zur Interpretation der Input- und Output-Dokumente. Leider fehlt im WSDL-Standard eine Beschreibungsmöglichkeit für SLAs. Ein funktionierendes SOC (Service Oriented Computing) setzt die strikte Benutzung und Einhaltung der gegebenen Standards voraus. Die Web Services könnten sonst nicht miteinander kommunizieren, da die Nachrichten schließlich zur Laufzeit der Programme interpretiert werden müssen.

FAZIT

Die Serviceorientierung beschreibt einen Lösungsansatz aus fachlicher Sicht für agile Unternehmen auf Basis einer flexiblen IT. Dabei steht die lose Kopplung von Services im Vordergrund. Eine serviceorientierte Architektur (SOA) liefert die IT-Infrastruktur für die Umsetzung der Serviceorientierung.

Dr. Peter Eichhorst war CEO der SOCON Inc. in San Diego und Dresden (www.soconinc.com) und bekannt als „Vater“ von OPEN ACCESS und ENFIN, der ersten objektorientierten Enterprise-Entwicklungsumgebung. Er leitete die Entwicklung des serviceorientierten Tools SC SOBA Studio.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.