Mittwoch, September 23, 2009

Was macht einen guten Service aus?

Auf SOAPARK.TV findet sich ein kurzes Video von mir, das allgemein Qualitätskriterien für Services andiskutiert. Wem das Medium Video nicht gefällt, der findet hier die Textbasis zum Film:

Was macht einen „guten“ Service aus?
Torsten Winterberg, OPITZ CONSULTING GmbH

Häufig geraten wir in Situationen, wo wir beurteilen müssen, ob ein vorliegender Service nun ein „guter“ Service ist oder aber nicht. In diesem Beitrag wollen wir Kriterien für Basis-Services betrachten, die als Web Service realisiert werden.

Generell existieren zwei Szenarien: man stellt uns Services zur Verfügung, die verwendet werden sollen oder wir müssen selbst Services erstellen, die dann wieder von anderen weiterverarbeitet werden. In beiden Fällen möchten wir in der Lage sein, die Güte der Services beurteilen zu können, um ggf. Nachbesserungen unserer Zulieferer zu verlangen, bzw. um sicher zu sein, dass wir selbst qualitativ hochwertige Arbeit abliefern.

Dazu ist zunächst zwischen fachlich und technisch guten Services zu unterscheiden.

Ein fachlich guter Service setzt die Anforderungen der Fachseite adäquat um und ist so beschrieben, dass er in diversen Situationen aufrufbar ist. Wir sprechen in diesem Fall von sogenannten „Public Services“, meinen damit diejenigen Dienste, die fachlichen Nutzen bringen und deren Schnittstellen auf allgemeine Verwendung hin entworfen wurden. „Private Services“, also nicht zu exponierende technische Konstrukte, werden niemals wiederverwendet und müssen daher nicht gesondert betrachtet werden.

Kernaspekt ist das fachliche Servicedesign, das neben dem Finden von Services, der Vergabe starker fachlicher Namen und dem Zuschnitt mit möglichst kohärenten Operationen auch die Verwendung eines kanonischen Datenmodells umfasst. Weiterhin sind die Einordnung in eine Service Kategorisierung, sowie die Beschreibung der möglichen fachlichen Fehlermeldungen zu adressierende Punkte. 

Die Aspekte, die uns zu technisch „guten“ Services führen, lassen sich weniger aus den funktionalen Anforderungen ableiten, sondern ergeben sich eher aus der Sichtbarkeit der Services und dem Gebot der Losen Kopplung.

Dabei sind für jeden Service eine Reihe von Anforderungen zu prüfen, etwa die Einhaltung der technischen Compliance. Hierunter subsumieren wir z.B. den Grad der Zustandslosigkeit, die Eigenschaft der Idempotenz, aber auch, ob eine Partizipation an Kompensationsmechanismen bedacht wurde. Zudem kommt Interoperabilitäts-Gesichtspunkten eine besondere Bedeutung zu: nicht nur die generell zu überprüfende Einhaltung der WS-I Konformität ist wichtig, sondern etwa auch das Zusammenspiel mit verschiedenen Security-Konzepten. Weiterhin bedeutsam sind Kommunikationsaspekte, sowie die Beschreibung der möglichen technischen Fehler inkl. der Bereitstellung entsprechender Testsuiten.

Die hier vorgestellte Auflistung finden Sie als detaillierte Checkliste im Anhang zu diesem Video, die es Ihnen erlaubt, einen „guten“ Public Service zu erkennen und damit generell die Qualität der Services unserer SOA-Landschaften zu erhöhen.

Keine Kommentare: