Wenn geeignete Services ausgewählt und im (kategorisierten) Serviceportfolio dokumentiert wurden, muss bestimmt werden,
welche dieser Services verfügbar gemacht werden sollten. Theoretisch könnte jeder geeignete Service verfügbar gemacht
werden, indem die Serviceschnittstelle als Servicebeschreibung exportiert wird. Es sollte jedoch nicht jeder
geeignete Service verfügbar gemacht werden, wenn dies ökonomisch und praktisch (im Sinne von Abstrichen bei den nicht
funktionalen Anforderungen) nicht durchführbar ist. Insbesondere die naive Entscheidung "alle Methoden aller Klassen"
verfügbar zu machen, würde zu einer überwältigenden und oft nicht verwaltbaren Anzahl von Services führen, die unter
der Bezeichnung "Serviceproliferationssyndrom" bekannt ist. Dieses Syndrom erzeugt enorme Probleme im Bereich der
Leistung und des Servicemanagements, ganz zu schweigen davon, dass potenziell die Wissensressourcen des Unternehmens
preisgegeben werden. Außerdem darf nicht vergessen werden, dass die Verfügbarmachung jedes Service mit Kosten
verbunden ist. Dabei sind Finanzierung, Steuerung und zugrunde liegende Infrastruktur des Service und der
Komponenten für die Implementierung des Service (sowie die Sicherheit, Leistung und Verwaltung der Infrastruktur) zu
berücksichtigen.
Daher sind einige Kriterien notwendig, die die Entscheidung erleichtern, ob ein Service verfügbar gemacht werden
sollte, und vor allem, ob die Erstellung der Servicekomponente, die die Funktionalität des Service bereitstellt, sowie
die Wartung, Überwachung, Sicherheit, Leistung und die weiteren Service-Level-Agreements für den Service finanziert
werden sollten.
Litmustests für Services
Projekterfahrungen haben gezeigt, dass eine Reihe von Kriterien in Form des Litmustests für Services zum Filtern
der geeigneten Services verwendet werden kann und sollte. Mit dieser Metapher werden Tests bezeichnet, mit deren Hilfe
sich feststellen lässt, ob ein gegebener Service für eine Verfügbarmachung (mit einer Servicebeschreibung) in Frage
kommt. Diese Tests können zusammen angewendet werden, um Antworten auf Fragen wie die folgenden zu finden: Welche der
geeigneten Services sollten verfügbar gemacht werden? Welche der verfügbar zu machenden Services sollten wir
finanzieren? Welche der Services haben einen geschäftlichen Nutzen?
Im Extremfall könnte jeder Geschäftsanwendungsfall als geeigneter Service angesehen werden. Das andere Extrem wäre, nur
ganz wenige Services für eine Verfügbarmachung auszuwählen. Bei Anwendung des Litmustests für Services ergibt sich in
der Regel eine Mittellösung zwischen beiden Extremen: eine verwaltbare Gruppe von Services, die das Geschäft verfügbar
machen möchte und die später in Kompositionen genutzt werden können.
Geeignete Services, die alle Litmustests für Services bestehen, sollten in der SOA als Services verfügbar gemacht
werden. Es könnte geeignete Services geben, die den Litmustest für Services nicht bestanden haben und dennoch
implementiert werden. Der Litmustest für Services ist ein Hilfsmittel zur Bestimmung der Services, die verfügbar
gemacht werden sollten. Wenn ein Geschäft entscheidet, geeignete Services, die den Litmustest für Services nicht
bestanden haben, verfügbar zu machen, nimmt es in Kauf, dass die Vorteile der SOA nicht genutzt werden können.
Geeignete Services, die den Litmustest für Services nicht bestehen, müssen so implementiert werden, dass sie
Geschäftsanforderungen erfüllen. Sie könnten als Methoden von Servicekomponenten implementiert werden, so dass weder
WSDL noch eine andere Form von Servicedefinition erstellt werden muss. Sie können aber auch als Entitäten verwendet
werden, die nicht verfügbar gemacht werden.
Hinweise
Die Anwendung von Litmustests für Services ist ein iterativer Prozess. Für die erste Ausarbeitungsphase sollten
ausgehend vom aktuellen Kenntnisstand Entscheidungen getroffen werden. Sobald sich im Verlaufe des Designprozesses
weitere Informationen ergeben, sollten die Litmustests für Services nochmals bearbeitet werden.
Litmustests für Services sollten auf jeden geeigneten Service angewendet und mit den entsprechenden Fachleuten oder
Stakeholdern geprüft werden.
Die Überprüfung der Ergebnisse der Litmustests für Services ist eine hilfreiche Methode, die Tauglichkeit der Kriterien
und die Eignung der Serviceunterteilung festzustellen. Wenn beispielsweise zu viele geeignete Services einen bestimmten
Test bestehen, ist die Testdefinition möglicherweise zu allgemein gefasst, oder die Serviceziele sind nicht mit der
entsprechenden Detailgenauigkeit angegeben.
Ein Service kann bei einem oder mehreren Litmustest(s) durchfallen und dennoch aufgrund einer projektspezifischen
Entscheidung (Geschäft oder IT) verfügbar gemacht werden. Das ist durchaus in Ordnung, denn unabhängig von den
Litmustests für Services kann es eine Architektur- oder Geschäftsentscheidung für die Verfügbarmachung eines Services
geben.
|