Klare Begriffe für eine syste
matische Serviceorientierung
Artikel erschienen in Swiss IT Magazine 2006/05
Serviceorientierung findet sich heute in unterschiedlichsten fachlichen Kontexten wieder – von Servicemanagement à la ITIL über fachliche Services bis zu serviceorientierter Realisierung mehr oder weniger konventioneller Fachde-signs. Auch die Vorstellungen über die Vorteile, die mit Serviceorientierung erreicht werden können, reichen von Netzwerkfähigkeit über Agilität/Flexibilität bis zu Wiederverwendung. Angesichts der grossen Marketingbudgets und der ambitionierten Business-Pläne für wirklich oder angeblich serviceorientierte Lösungen verwundert die Begriffs- und Zielverwirrung nicht. Unter diesen Umständen ist es aber kaum möglich, wirklich serviceorientierte Lösungen zielgerichtet und systematisch zu konzipieren.
Damit dies möglich ist, muss zunächst klar sein, was womit gemeint ist: Serviceorientiert realisierte Softwarekomponenten sollten «technische Services», serviceorientiert strukturierte Fachkomponenten dagegen «fachliche Services» (oder Enterprise Services) genannt werden. Wenn Softwarekomponenten nicht serviceorientiert realisiert sind, sollte nur von Softwarekomponenten die Rede sein. Analog sollten konventionell strukturierte fachliche Komponenten nur Fachkomponenten genannt werden. In Strategie- und Organisationskonzepten spricht man am besten gar nicht von Services, sondern von marktlichen Leistungen oder Prozessleistungen.
Das Ziel der Serviceorientierung ist es, Prozesse und Teilprozesse möglichst umfassend aus fachlichen Services zu «orchestrieren». Wenn Prozesse durch konventionelle Fachkomponenten unterstützt werden, sollte dies demnach auch nicht als Orchestrierung, sondern beispielsweise als Unterstützung oder Umsetzung bezeichnet werden. Fachkomponenten werden manchmal aus fachlichen Services, meist aber aus anderen, untergeordneten Fachkomponenten «komponiert».
Zwischen Komposition und Orchestrierung muss dabei sorgfältig unterschieden werden: Während die Bildung elementarer Fachkomponenten und deren Komposition dem Ziel der Wiederverwendung dient, dient die Bildung fachlicher Services und deren Orchestrierung dem Ziel der Agilität.
Neben technischen Services und konventionellen Softwarekomponenten unterschiedlichen Komplexitätsgrads, konventionellen fachlichen Komponenten unterschiedlichen Komplexitätsgrads und fachlichen Services unterschiedlichen Komplexitätsgrads tritt zusätzlich der Applikationsbegriff auf: Applikationen bündeln eng gekoppelte fachliche Komponenten zu logischen Einheiten. Auf hoher Aggregationsebene spricht man von Domänen oder Quartieren. Applikationen stehen als logische Bündel zwischen Fachkomponenten (aus denen sie bestehen) und fachlichen Services (die sie bereitstellen, um Prozesse zu orchestrieren).
Aus der Begriffs- und Zielverwirrung im Umfeld der Serviceorientierung zu einem gemeinsamen Verständnis zu finden, ist notwendig, um endlich Best Practices des «bottom-up»- und des «top-down»-Vorgehens zu Elementen einer systematischen Entwurfsmethode zu integrieren, denn ohne systematisches Vorgehen werden wir keine Chance haben, in den komplexen gewachsenen Applikationslandschaften Wiederverwendung und vor allem Agilität systematisch zu steigern.