SOA: Die Vorteile lose gekoppelter Web-Services

Nicht jede Koppelung ist schlecht. Vielmehr erfordern alle nichttrivialen Programme einen gewissen Grad an Koppelung. Koppelungen werden jedoch zum Problem, wenn sie die Möglichkeiten der Anwendung einschränken. Diese Einschränkungen können sich bei der Entwicklung, in der Testphase und beim Einsatz der Anwendung zeigen. Bei den meisten Anwendungen ergeben sich immense Vorteile, wenn man die Koppelung zwischen den Komponenten auf ein Minimum reduziert.

Lose gekoppelte Komponenten finden sich und kommunizieren untereinander in Laufzeit – im Gegensatz zu einer während des Kompilierens erstellten, statischen Verknüpfung. Dies wird häufig auch als späte Bindung bezeichnet. Dadurch kann eine lose gekoppelte Anwendung ganz nach Wunsch eingesetzt werden, ohne den Beschränkungen enger Koppelungen zu unterliegen. Die richtigen Entscheidungen können zum Zeitpunkt des Einsatzes getroffen werden. Es ist also nicht bereits bei Beginn der Entwicklung der Einsatz der Anwendung zu berücksichtigen.

Eine weitere Möglichkeit zum Entkoppeln der Komponenten ist das Entfernen von Koppelungen, die mit erwarteten Anfragen und Antworten assoziiert sind. Dies kann mit asynchronen Anwendungen erfolgen. Nicht alle Anwendungen können sich eine zeitliche Entkoppelung erlauben. Allerdings verschafft diese wirkungsvolle Technik jenen Anwendungen riesige Vorteile, bei denen es ohnehin unrealistisch wäre, eine unverzügliche Antwort zu erwarten.

SOA sorgen für lose Koppelungen

Serviceorientierte Architekturen (SOA) verfügen über eingebaute Mechanismen, die lose Koppelungen zwischen Services und anderen Komponenten einer Anwendung erleichtern. Eine SOA stellt sicher, dass der Service hinsichtlich Ort, Protokoll und Zeit von anderen Komponenten unabhängig ist.

Ortstransparenz

Services müssen ortstransparent sein. Mit anderen Worten: Sie können sich irgendwo befinden und dennoch dynamisch von anderen Komponenten oder Anwendungen aufgefunden werden. SOA stellt durch den Einsatz von Service-Registrierungen einen Mechanismus zur Ortstransparenz bereit.

Ein Service wird im Allgemeinen in ein öffentliches oder privates Register eingetragen. Das kann eine Datenbank, ein Verzeichnisdienst, ein UDDI-Register oder eine XML-Datei sein. Sobald ein Service registriert ist, können Komponenten, die diesen Service aufrufen möchten, das Register zum Auffinden und Aufrufen des Service nutzen. Registrierung und Auffinden des Service werden durch die SOA-Plattform so geregelt, dass der Service selbst nicht wissen muss, an welchem Ort oder auf welche Weise er abgelegt wurde.

Protokollunabhängigkeit

Services sind außerdem protokollunabhängig. Das heißt, sie funktionieren unabhängig davon, welches Protokoll verwendet wurde, um mit ihnen zu kommunizieren. Einem Service ist es gleichgültig, welches Protokoll zur Kommunikation mit ihm verwendet wird. Die Unterstützung bestimmter Kommunikationsprotokolle stellt die SOA-Plattform bereit.

Bei dem Protokoll kann es sich um eine Programmiersprache, XML, standardbasiert oder etwas gänzlich anderes handeln. Es kommt darauf an, dass der Service völlig unabhängig vom Kommunikationsprotokoll entwickelt wird. Die SOA lässt sich mit neuen Kommunikationsprotokollen erweitern. Zugleich kann der Service von neuen und anderen Clients nach wie vor genutzt werden, ohne dass er selbst beeinträchtigt wird.

Zeitunabhängigkeit

Services können synchron oder asynchron aufgerufen werden. Da sich ein Service lediglich mit domainbezogener Arbeitslogik befasst, funktioniert er unabhängig davon, wie er von anderen Teilen der Anwendung aufgerufen oder verwendet wird. Das garantiert, dass der Service in neuen, unterschiedlichen Anwendungen mit derselben Arbeitslogik wieder eingesetzt werden kann. Eine Anwendung verwendet den Service eventuell synchron, während eine andere ihn asynchron einsetzt. Dem Service ist das egal.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu SOA: Die Vorteile lose gekoppelter Web-Services

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *