Regeln für serviceorientierte Architekturen hoher Qualität

Das Schlagwort der serviceorientierten Architektur (SOA, siehe z.B. [1, 5, 14, 18, 19, 25]) beherrscht gegenwärtig die Diskussion um die Gestaltung unternehmensweiter IT-Anwendungslandschaften. Unternehmen erwarten von einer SOA eine höhere Flexibilität ihrer Geschäftsprozesse sowie die Reduktion von ITKosten. Die Erreichung dieser Ziele ist möglich. Die Einführung einer SOA erfordert jedoch neben guter Planung auch eine fachliche Architektur von hoher Qualität (siehe z.B. [20]): zuverlässig, effizient und vor allem änderbar. Aber wie erreicht man diese hohe Qualität? Wie ist eine Anwendungslandschaft zu gestalten? Wie sind Komponenten und Services zu schneiden? In der SOA-Literatur (z.B. [1, 5, 14, 18, 25]) werden dazu allgemeine Hinweise gegeben. Leider stehen jedoch sowohl die Forschung als auch die Industrie noch am Anfang, wenn es um konkrete Regeln und nachprüfbare Kriterien hierfür geht. Das Forschungsvorhaben Quasar Enterprise der sd&m AG spricht genau diese Lücke an: konkrete Regeln für den Aufbau einer SOA mit hoher Qualität vor allem im Hinblick auf Flexibilitätskriterien wie Erweiterbarkeit, Anpassbarkeit etc. Quasar Enterprise setzt das langjährige Forschungsvorhaben Quasar (Qualitäts-SoftwareArchitektur, siehe z.B. [3, 23]) bei sd&m fort. Quasar beschreibt Konzepte, Architektur und Lösungen für betriebliche Informationssysteme. Quasar Enterprise weitet den Fokus auf die Gestaltung ganzer Anwendungslandschaften und die Integration von Systemen. Seit nunmehr zwei Jahren kondensieren wir die Projekterfahrungen aus über zehn Integrationsprojekten und SOA-Vorhaben der sd&m AG der letzten fünf Jahre mit einem Gesamtvolumen von über 100 Jahren Bearbeitungszeit. In diesem Artikel veröffentlichen wir einen wesentlichen Teil unserer bisherigen Ergebnisse aus dem Teil von Quasar Enterprise, der SOA behandelt. Einige der Regeln sind schon konkret und nachprüfbar, andere sind noch eher Heuristiken, welche sich jedoch im Projektalltag bewährt haben. Weitere Ergebnisse von Quasar Enterprise, auf die wir in diesem Artikel nicht eingehen, sind Referenzarchitekturen, Integrationsebenen, Integrationsmuster [24] und Sicherheit in Anwendungslandschaften. Der Artikel ist wie folgt aufgebaut: Im nächsten Kapitel führen wir die Geschäftsarchitektur als Grundlage der Architektur von Anwendungslandschaften ein. Dabei werden wesentliche Begriffe definiert. Danach stellen wir eine Referenzarchitektur für Anwendungslandschaften vor. Die drei folgenden Abschnitte beschreiben Regeln zur Gestaltung von Komponenten und Services sowie zur Kopplung von Systemen in Anwendungslandschaften. Im Anschluss beschreiben wir Projekterfahrungen mit der Anwendung der Regeln. Der Artikel endet mit einem Fazit und einem Ausblick auf weiterführende Arbeiten.

[1]  Dirk Krafzig,et al.  Enterprise SOA: Service-Oriented Architecture Best Practices (The Coad Series) , 2004 .

[2]  Jan-Peter Richter Wann liefert eine Serviceorientierte Architektur echten Nutzen? , 2005, Software Engineering.

[3]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[4]  Harald Haller,et al.  AKTUELLES SCHLAGWORT* / SERVICEORIENTIERTE ARCHITEKTUR } , 2005 .

[5]  David S. Linthicum,et al.  Enterprise Application Integration , 1999 .

[6]  David Lorge Parnas,et al.  Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .

[7]  Johannes Siedersleben,et al.  Moderne Softwarearchitektur - umsichtig planen, robust bauen mit Quasar , 2004 .

[8]  Wolfgang Keller,et al.  Enterprise Application Integration Erfahrungen aus der Praxis , 2002 .

[9]  Johannes Willkomm,et al.  i-Portal-Patterns - Lösungsmuster für wiederkehrende Anforderungen , 2003, GI Jahrestagung.

[10]  J. E. Ball,et al.  RIG, Rochester's Intelligent Gateway: System Overview , 1976, IEEE Transactions on Software Engineering.

[11]  Sanjay Bose,et al.  Service-Oriented Architecture Compass: Business Value, Planning, and Enterprise Roadmap , 2005 .

[12]  Dirk Krafzig,et al.  Enterprise SOA: Service-Oriented Architecture Best Practices , 2004 .

[13]  Ernst Denert,et al.  Wie baut man Informationssysteme? Überlegungen zur Standardarchitektur , 2000, Informatik-Spektrum.

[14]  Karl Fuchs,et al.  Erfahrungen aus der Praxis , 1906 .

[15]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[16]  Lutz Heuser Enterprise Services Architecture and Semantic Web Services , 2005, CEC.

[17]  R. Watson,et al.  Data Management , 1980, Bone Marrow Transplantation.

[18]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[19]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975 .

[20]  Bernhard Humm,et al.  Architekturzentriertes Vorgehen für Integrationsprojekte , 2004, GI Jahrestagung.

[21]  Brian Henderson-Sellers,et al.  Coupling and cohesion (towards a valid metrics suite for object-oriented analysis and design) , 1996, Object Oriented Syst..

[22]  Bernhard Humm,et al.  Eine Normalform für Services , 2006, Software Engineering.

[23]  Thomas Erl,et al.  Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services , 2004 .