Architektur
(von griech. αρχη′ = Anfang, Ursprung und lat. tectum = Haus, Dach) beschreibt in der Informatik im Allgemeinen das Zusammenspiel der Komponenten eines komplexen Systems
Zwar trägt SOA das Wort Architektur schon im Namen, aber Sie hinterfragen mit Fug und Recht, ob das berechtigt ist: Hinter SOA verbirgt sich eher ein Architekturstil, d.h. eine Menge (abstrakter) Rahmenbedingungen für unterschiedliche (konkrete) Architekturen. Es gibt daher nicht nur eine richtige, »konforme« Umsetzung des Konzeptes, sondern viele unterschiedliche.
Dementsprechend vielfältig sind die Beiträge in diesem Teil, die sich mit unterschiedlichen Aspekten der Architektur serviceorientierter Anwendungslandschaften befassen:
Hans-Jürgen von Henning betrachtet im Kapitel 20 den Zusammenhang zwischen Geschäftsprozessen, Workflows und Diensten und erklärt, wie man von ihnen ausgehend »gute« Services finden kann. Von Henning klassifiziert Services nach bestimmten Eigenschaften, um eine Taxonomie zu bilden – ähnliche, aber nicht identische Einordnungen finden Sie auch in den Kapiteln 5 oder 16.
Für das Design guter Services lassen sich keine harten Regeln aufstellen, sehr wohl aber Heuristiken. Wolfgang Keller geht in Kapitel 21 von etablierten Ansätzen für Schnittstellendesign in modularen und objektorientierten Umgebungen aus und zeigt, welche davon auch in einer serviceorientierten Umgebungen angewandt werden können.
Dass Services korrekt funktionieren müssen, versteht sich von selbst. Aber wie lässt sich sicherstellen, dass sie auch performant genug sind, um in der Praxis eingesetzt zu werden? Diesen Aspekt betrachtet Nicolai Josuttis in Kapitel 22. Wie passen Anforderungen zu Wiederverwendung und Allgemeingültigkeit mit Performance zusammen?
Stefan Tilkov zeigt in Kapitel 23 einen alternativen Ansatz zur Umsetzung von SOA: REST, die Architektur des Web (die wir Ihnen in Kapitel 1 als ressourcenorientierten Stil kurz vorgestellt haben).
Phillip Ghadir vertieft in Kapitel 24 REST und arbeitet dabei Vorteile heraus, die sich für die Kommunikation mit Partnern ergeben, die man zum Zeitpunkt des Entwurfs noch gar nicht kennt.
Markus Völter erläutert, wie Services, Komponenten und Modelle zusammenhängen und wie ein modellgetriebener Entwurfs- und Entwicklungsansatz dabei helfen kann, die Investitionen in Serviceentwurf auch über Wechsel in der technologischen Basis hinweg zu erhalten (Kapitel 25).
Gregor Hohpe stellt die Konversation zwischen lose gekoppelten Diensten in den Mittelpunkt von Kapitel 26.
Welche Konzepte folgen auf den Remote Procedure Call und die nachrichtenorientierte Kommunikation? In seinem zukunftsorientierten Beitrag (Kapitel 27) behauptet Ralf Westphal , dass die Abstraktion des »entfernten Funktionsaufrufs« nicht den wirklichen Zweck der Kooperation erfüllt – und bereitet damit eine (mögliche) Grundlage für zukünftige Implementierung kooperierender Services.
Zwar sind semantische Netze schon längere Zeit in der Diskussion – jedoch erst in den letzten Monaten haben auch große Softwarehersteller den Begriff Semantik in ihr jeweiliges Vertriebsportfolio aufgenommen. In Kapitel 28 erklärt Thomas Bandholtz , was sich hinter Semantik und dem Semantic Web verbirgt und liefert einen Ausblick auf mögliche Einsatzgebiete im SOA-Umfeld.
Zusammenhang zu anderen Teilen
Eine kurze Einführung in verschiedene Architekturstile finden Sie in Kapitel 1. Zur Umsetzung der in diesem Teil vorgestellten Architekturansätze finden Sie im Bereich (Teil VII) eine Reihe alternativer Strategien. Einen weiteren Bericht zum Einsatz von REST in der Praxis liefert Jan Algermissen in Kapitel 48.