SOA - Neue Konzepte, alte Fehler

von Martin Kuppinger, Jürgen Höfling

26.02.2009

SOA - Neue Konzepte, alte Fehler Die saubere Strukturierung von serviceorientierten Architekturen (SOA) ist ein zentraler Punkt in IT-Governance-Konzepten. Neueste Studien zeigen indes, dass solche Konzepte nur bei ­einem Bruchteil der deutschen Unternehmen auch in die Praxis umgesetzt sind. Das birgt viele Risiken für die zahlreichen SOA-Projekte.

Das Konzept der SOA (Serviceorientierte Architekturen) hat sich inzwischen für die Entwicklung von Anwendungen etabliert. Die flexible Verkettung (»Orchestrierung«) vorhandener und neuer Services, die sowohl von der internen IT als auch extern bereitgestellt werden können, erlaubt potenziell die schnellere Entwicklung und Anpassung von Anwendungen. Dadurch entsteht aber auch zusätzliche Komplexität, weil im Vergleich zu einer monolithischen Anwendung eben viele, oftmals dezentrale Services verwendet werden. SOA-Governance zielt auf die Regulierung und Kontrolle einer SOA-Infrastruktur ab, also den definierten und ordnungsmäßigen Umgang mit SOA-Konzepten bei der Realisierung von Anwendungen in Unternehmen. Dazu gehört der Blick auf die entstehenden Anwendungen ebenso wie auf die einzelnen Services, die genutzt werden können. Eine 2008 veröffentlichte gemeinsame Studie von Kuppinger Cole und von Ernst & Young hat allerdings eklatante Mängel bei der SOA-Governance konstatiert. So nutzen nach dieser Untersuchung zwar 73 Prozent der Unternehmen SOA-An­sätze, aber nur 14 Prozent davon verfügen auch über eine standardisierte Vorgehensweise. Nur ein Viertel der Unternehmen hat eine Initiative zur SOA-Governance gestartet. Und nur 16 Prozent haben ein Sicherheitskonzept für SOA-basierende Anwendungen. Diese Ergebnisse machen deutlich, dass bei der Nutzung von SOA zwar die technischen Chancen gesehen werden, die Risiken aber doch oft ausgeblendet werden.

Vielfältige Anforderungen

Diese Risiken sind vielfältig. Einige der wichtigsten Punkte sind die Verfügbarkeit von Diensten, ein definiertes Lebenszyklus-Management für Dienste und durchgängige Sicherheit über alle Anwendungen hinweg. Die Verfügbarkeit von Diensten ist eine Kernherausforderung, insbesondere wenn auch externe Dienste genutzt werden. Die Verfügbarkeit von SOA-basierenden Anwendungen steht und fällt mit der Verfügbarkeit der genutzten Dienste. Klare Regelungen zu den Verfügbarkeitsanforderungen für Dienste sind mithin ein wichtiges Element der SOA-Governance. Noch viel interessanter ist aber das Lebenszyklus-Management, weil das Thema SOA-Governance hier gleich mehrfach tangiert wird. Vor allem ist es zwingend, dass es für die einzelnen Dienste ein sauberes Management gibt, schon um Redundanzen und nicht erkannte funktionale Veränderungen zu vermeiden, die sich auf die die Dienste nutzenden Anwendungen auswirken. Lebenszyklus-Management ist aber auch wichtig, um die Prüf- und Abnahmeprozesse für Software zu optimieren, die in vielen Branchen und für viele Anwendungen verpflichtend sind – auch wenn sie keineswegs immer durchgeführt werden. Das Konzept der SOA bietet hier viel Potenzial, weil man sich im Prinzip auf die Prüfung der eigentlichen Anwendung beschränken kann. Das geht aber nur unter der Voraussetzung, dass die Services selbst bereits geprüft wurden. Bei richtiger Durchführung lässt sich aber der Prüfungsaufwand und vor allem auch die benötigte Zeit massiv reduzieren, weil man nicht jeden einzelnen Service und nicht die komplette Anwendung prüfen muss. Niedrigere Kosten und eine schnellere Verfügbarkeit von Anwendungen sind das Ergebnis. Das funktioniert aber eben nur, wenn es ein definiertes Lebenszyklus-Management für Services gibt, weil nur dann sichergestellt werden kann, dass auf bereits geprüfte Services in einem definierten Zustand zugegriffen wird.

Fehlende IT-Sicherheitsarchitektur

Die größte Herausforderung der SOA-Governance ist aber die durchgängige Sicherheit über alle verbun­denen Anwendungen hinweg. Der überwiegende Teil von SOA-Anwendungen verwendet kein standardi­siertes Sicherheitskonzept – nur ein Drittel der Unternehmen hat laut Studie bereits ein solches Konzept. Immerhin vier von fünf Unternehmen halten ein solches aber für erforderlich. Statt nun mit standardisierten Services für die Sicherheit zu arbeiten, insbesondere für die Verwaltung, Authentifizierung und Autorisierung von Benutzern und für das Auditing, wird Sicherheit immer noch entweder in die Anwendungen codiert oder es wird versucht, die fehlende Sicherheit durch externe Tools zu kompensieren. Das Ergebnis sind Anwendungen, in denen beispielsweise im Code geprüft wird, welche Rückgabewerte eines Services überhaupt an den aktuellen Benutzer gegeben werden dürfen. Codierte Sicherheit ist aber in der Praxis kaum zu pflegen, geschweige denn nach­zuvollziehen. Damit werden grundlegende Anforde­rungen an eine IT-Sicherheitsarchitektur missachtet. Immerhin zeichnen sich inzwischen klare Tendenzen bei den Herstellern von Anwendungsinfrastrukturen ab, diese Anforderung besser zu unterstützen. Oracle hat seine Service Oriented Security vorgestellt, SAP ­unter anderem NetWeaver Identity Services und Microsoft integriert mit »Geneva« Identity-Federation-Konzepte mit dem .NET Framework.

Silo-Organisation der IT verhindert saubere SOA-Konzepte

Der Hauptgrund dafür, dass es bei der SOA-Governance so viele offene Fragen gibt, liegt aber nicht an fehlenden technischen Funktionen, sondern an der Struktur von IT-Organisationen. Themenfelder wie Identity Management, GRC (Governance, Risk Management, Compliance), ITSM und BSM (IT/Business Service Management) und Anwendungsarchitektur und -entwicklung finden sich in getrennten Strukturen innerhalb der IT-Organisation. Das erschwert die Umsetzung von Sicherheitskonzepten für SOA, bei denen IAM, GRC und SOA gesamthaft betrachtet werden müssen. Es erschwert auch ein sauberes Lebens­zyklus-Management, weil die ausgereiften Methoden von ITIL kaum einmal auf das Management von Services innerhalb von SOA-Konzepten transportiert werden. Die Herausforderung SOA-Governance ist damit eine Herausforderung an die IT-Organisation und den CIO. Die bestehenden Silos innerhalb der IT-Or­ganisation müssen aufgebrochen werden, um erfolgreiche, umfassende Konzepte für die SOA-Governance realisieren zu können. Das eröffnet aber auch ein Potenzial für die Wiederverwendung, beispielsweise von Lösungen für das Project Portfolio Management oder eben für das Identity und Access Management. Und, richtig gemacht, sinken sowohl die Kosten für die Entwicklung von sicheren Anwendungen als auch die für den Betrieb der Infrastruktur – bei höherer Flexibilität. Die Herausforderungen bei der SOA-Governance sind letztlich nur ein Symptom für ein fundamentales Problem der IT-Organisation mit ihren sehr oft wenig durchlässigen Silos – weshalb auch in SOA-Anwendungen Sicherheit viel zu oft codiert und Sicherheitskonzepte neu erfunden statt standardisiert werden.

Martin Kuppinger ist IT-Fachautor und Gründer des Analystenunternehmens Kuppinger Cole.