Resource Oriented Architecture - Das WWW fürs Unternehmen

geschrieben von jmeier
12. Mai 2009

warehouse_sDas World Wide Web hat ja einige ganz erstaunliche Eigenschaften. Zum Beispiel seine Fähigkeit, zu skalieren. Nur um eine Zahl zu nennen: im Sommer 2008 hatte Google insgesamt über eine Billion (das ist eine 1 mit 12 Nullen) unterschiedlicher URLs indexiert. Ich will hier aber nicht mit Trivia langweilen, sondern würde gerne die Eigenschaft des Skalierens jener der Stabilität gegenübersetzen. Wie kann ein so großes System, dass sich zudem permanent in seiner Struktur ändert, so stabil und zuverlässig funktionieren? Wer die Informatik seines Unternehmens kennt, weiss, wie aufwändig und teuer Releasewechsel grösserer Systeme sind, und wie trotz ausgiebigen Testens immer ein Unsicherheitsfaktor bleibt, “ob es denn wohl klappt nächstes Wochenende.”

Was macht das WWW anders als die Unternehmensinformatik? Ein wichtiger Grund liegt unter anderem in der losen Kopplung der Systeme. Das Web, genauer sein Protokoll HTTP arbeiten zustandslos. Das heisst, nach der Abarbeiterung einer Anfrage durch den Client ist diese für den Server endgültig abgeschlossen. Er behält nichts (ausser Log-Einträgen über die Anfrage), und die Kommunikationsverbindungen sind “gekappt”. Somit liegt es am Client, Status zwischen zwei Anfragen zwischenzuspeichern, und diese falls nötig bei der nächsten Anfrage als Kontext mitzuliefern. Das Prinzip der Zustandslosigkeit (engl statelessness) erlaubt die beste Lastverteilung, Failover bei Serverausfällen, vor allem aber den Austausch von Server-Resourcen, ohne damit den Client zu beeinträchtigen.

Gerade die Zustandslosigkeit wird heute meiner Erfahrung nach  innerhalb der Unternehmen praktisch immer durchbrochen. Obwohl ebenfalls HTTP eingesetzt wird, erlaubt der Einsatz von Cookies und HTTP-Sessions, Client und Server zustandsvoll zu verkabeln. Und damit drehen wir die Vorteile der Zustandslosigkeit ins genaue Gegenteil.

Ein weiter Grund für die mangelnde Flexibilät in Unternehmenssystemen ist die enge Kopplung durch sehr spezifische Server-Schnittstellen. Die kleinste Aenderung an den Aufrufsprozeduren, und sämtliche Client-Anwendungen müssen nachgezogen werden. Das WWW hingegen verwendet nur gerade 6 Methoden, wovon Browser gerade mal zwei unterstützen (GET und POST). Der Rest wird über Parameter und Metadaten geregelt.

Was bringt nun die Verwendung dieser und weiterer WWW-Grundmechanismen im Unternehmen? Genau dieser Frage nimmt sich die Resource Oriented Architecture (ROA) an, und deshalb heisst sie bei anderen Quellen, beispielsweise Gartner, auch Web Orientied Architecture (WOA). Die Eckpunkte: einzelne Informationsstücke werden adressierbar gemacht mittels einer URL, die Unternehmsinformatik wird flexibler (wegen den generischen Interfaces), schneller und skalierbarer (wegen der Zustandslosigkeit) und zuverlässiger (durch alle vorgenannten Gründe).

Ob das wirklich passt fürs Unternehmen? Zweifelsohne. Wer die Welt strukturieren kann, für den ist ein Unternehmen eine relativ kleine Sache. Und: der Ausgangspunkt des WWW war denn auch ein einzelnes Unternehmen: das CERN in Genf. Erst drei Jahre nach dessen Einführung gab es das WWW für die Welt frei. Das ursprüngliche Ziel beim CERN war, verstreute Informationen an den Ort zu bringen, wo sie gebraucht werden: zum Endbenutzer, der diese Informationen in Wissen und Handlungen umsetzt. Ich glaube, an diesem grundlegenden Ziel hat sich bis heute herzlich wenig geändert.

Eine Beschreibung eines prototypischen Unternehmens und weitere Links finden Sie hier.
Ein Beitrag über Business-Aspekte gibt es hier.

Eine Kommentar