10.08.2007, 08:58 Uhr

SOA auf Herz und Nieren prüfen

Service-orientierte Architekturen (SOA) sind auf dem Vormarsch und er-setzen bestehende Applikationsmonolithen durch eine Vielzahl granularer Applikationsservices. Damit entsteht eine neue Komplexität, die auch die Qualitätssicherung vor neue Herausforderungen stellt.
Marcus Purzer ist Managing Director von Senacor Technologies.
Immer mehr Unternehmen nutzen Service-orientierte Architekturen (SOA), um gewachsene Systemlandschaften schrittweise aufzuräumen. Mit Hilfe lose gekoppelter und wiederverwendbarer Services lassen sich Redundanzen beseitigen und neue Geschäftsprozesse schnell in der IT abbilden. Wenn etwa bei einem grossen Konzern die Kundenstammdaten auf bis zu 40 verschiedene Systeme verteilt sind, bietet sich eine Konsolidierung mit Services an.

Herausforderung Qualitätssicherung

Wer dem neuen Paradigma folgt, muss einige althergebrachte Vorgehensweisen in der IT auf den Prüfstand stellen. Dabei wird das Qualitätsmanagement (QM) häufig vernachlässigt, obwohl gerade diese übergreifende Querschnittsfunktion eine notwendige Klammer für den stark verteilten Architekturansatz bilden muss. In einer Welt von mehreren hundert unabhängig entwickelten Services mit nahezu beliebigen Kombinationsmöglichkeiten ist die Qualitätssicherung jedoch eine besondere Herausforderung. Um sie zu meistern, müssen die SOA-Experten bei der Modellierung der Services fachliche und informationstechnologische Anforderungen miteinander in Einklang bringen.
In einer SOA orientiert sich die Granularität der Software an der Feinkörnigkeit der zugehörigen Fachanforderungen. Ein fachliches Service-Modell bildet die Verbindung zwischen Fachlichkeit und Technologie. Es stellt Geschäftsobjekte wie «Kunde» oder «Auftrag» mit funktionalen Interaktionsbeziehungen wie etwa «Kunde erteilt Auftrag» im Kontext von Geschäftsprozessen dar. Jeder Service ist einer Interaktionsbeziehung zugeordnet, sodass sich die Semantik eines Services und seiner verschiedenen Nutzungen leicht erschliesst. Mit diesem Wissen lässt sich die Komplexität bewältigen und die Qualität einer SOA sichern.
IT-Projekte stehen damit letztlich vor der Aufgabe, den Entwicklungsprozess von der Fachlichkeit bis zur Software konsequent durchgängig zu gestalten. «Schon bei herkömmlichen Entwicklungsprojekten und noch mehr in der SOA-Welt kommt es auf Durchgängigkeit an», ist Heinz Bons, Chief Operational Officer der SQS Software Quality Systems AG überzeugt. «Zwischen Anforderungsdefinition, Entwicklung und Test darf es keine logischen und medialen Brüche mehr geben». Die dafür notwendigen Verfahren und Werkzeuge seien, erklärt Bons, inzwischen verfügbar.
Weniger bedeutsam für Qualitätssicherung wird hingegen die technische Komplexität in kleinteiligen, heterogenen Systemlandschaften, wie sie durch Service-orientierte Architekturen entstehen können. Dafür sorgt die technische Komponente einer SOA, der Enterprise Service Bus (ESB). Ausschliesslich über ihn kommunizieren die Services miteinander. So kann er als zentraler Vermittler zwischen verschiedensten technischen Service-Implementierungen wirken. Die lange geforderte Technologietransparenz ist damit einen bedeutenden Schritt näher gerückt.

Mehr Testautomatisierung möglich

Als wohl prominenteste Eigenschaft einer SOA gilt die ausgeprägte Wiederverwendbarkeit (Reuse) von Services. Sie stellt das Qualitätsmanagement vor eine grosse Herausforderung. Mit der Wiederverwendung von Software über verschiedene Geschäftsprozesse hinweg beseitigt SOA heute übliche Redundanzen von Funktionen und Daten. Auf den ersten Blick hat dies den positiven Effekt, weniger Software testen zu müssen. Andererseits unterstützt jeder einzelne Service eine Vielzahl unterschiedlicher Geschäftsprozesse, so dass er in Bezug auf die gesamte IT-Landschaft deutlich geschäftskritischer wird: Ein einziger fehlerhafter Service wirkt sich zumeist auf eine Vielzahl von Geschäftsprozessen aus. Folglich müssen die Anforderungen an die Qualität dieses einen Services sehr hoch sein
Ein Dienst wie «Kunden anlegen» muss so robust entworfen und umgesetzt sein, dass er im Laufe seines Lebenszyklus viele neue Nutzer und Weiterentwicklungen vertragen kann, gleichzeitig aber für die «alten» Anwender weiterhin brauchbar bleibt. Modifikationen an einem vielfach wiederverwendeten Service bergen natürlich die Gefahr unvorhergesehener Nebenwirkungen in den verschiedenen Teilen der Systemlandschaft, in denen der Service wiederverwendet wird.
Ein besonderer Fokus sollte daher auf möglichst vollständigen Regressionstests liegen. Sie dienen zur Identifikation von Software-Bugs, die durch veränderte Software entstanden sind. Durch den hohen Grad an Wiederverwendung steigt der Aufwand für Regressionstests in einer SOA dramatisch an. Dem kann man mit substanziell erhöhter Testautomatisierung entgegenwirken. Die zuvor beschriebenen fachlichen Service-Modelle eignen sich bei entsprechend formaler Modellierungsmethodik hervorragend als Grundlage für die Generierung von Tests. «Im Regressionstesten liegt ein großes Automatisierungspotenzial», meint SQS-Vorstand Bons. «Wer die Tests über den gesamten Lebenszyklus hinweg integriert und harmonisiert, muss erst einmal investieren, um die verschiedenen Insellösungen zu einem übergreifenden Testsystem zusammen zu schmieden.» Die so erzielten Aufwandssenkungen machten diese Investitionen jedoch schnell wett.

Qualitätsmanagement wächst

Nicht nur die Mittel des Qualitätsmanagement (QM) ändern sich. Mit SOA wächst zugleich der Betrachtungsumfang. Statt einzelne Applikationen zu testen, müssen Qualitätsmanager nun die Qualität kompletter Systemlandschaften kontrollieren. Ein wesentliches Qualitätsmerkmal einer SOA ist die «semantische Integrität» der Systemlandschaft. Sie steht dafür, dass ein «Kunde» in System A das Gleiche bedeutet wie ein «Kunde» in System B. Nur so können sich die Systeme über ursprünglich nicht vorgesehene Service-Beziehungen zum Geschäftsobjekt «Kunde» fehlerfrei austauschen.
Um eine solche semantische Integrität projekt- und systemübergreifend sicherzustellen, ist letztlich eine zentrale Governance-Funktion im Unternehmen nötig. Diese kann nicht auf eine klassische reine Review-Funktion für einfache Design-Richtlinien beschränkt sein. Vielmehr geht es um ein vermittelndes Problemlösen zwischen zwei oder mehreren Projekten. In der Konsequenz wächst QM immer stärker in ein übergreifendes IT-Management hinein. Dies verlangt dem Qualitätsmanager freilich auch spezifische Qualifikationen ab. Letztlich eröffnet sich hier eine Chance für die Qualitätssicherung. Sie muss nicht in der manchmal als lästig empfundenen Kontrolleurs-Rolle verharren, sondern kann zur aktiven, gestaltenden Instanz werden.
Weitere Informationen

SOA-Basics

Unter Service-orientierter Architektur (SOA) versteht man ein Konzept für das Management und die Architektur von IT-Landschaften. SOA überträgt bewährte Strukturprinzipien aus der Anwendungsentwicklung wie Komponentisierung und lose Kopplung auf die gesamte Systemlandschaft. Monolithische Anwendungen zerlegen sich in einer SOA in fachlich definierte Komponenten, die ihre fachlichen Dienste über sogenannte Services der restlichen Systemlandschaft anbieten. Diese Services zeichnen sich durch ihre Wiederverwendbarkeit aus. So besteht eine etablierte SOA aus einem Portfolio unabhängiger und mehrfach wiederverwendeter Services, die zur Unterstützung verschiedener Geschäftsprozesse kombiniert werden. Unternehmen erwarten sich davon neben einer verbesserten Effizienz vor allem eine IT, die schnell auf neue Geschäftsanforderungen reagieren kann.
Marcus Purzer



Das könnte Sie auch interessieren