Java Reference
In-Depth Information
Theoretisch kann eine SOA auch bei Einrechner-Systemen eingesetzt werden, aber in
der Praxis wird sie vor allem bei verteilten Systemen angewendet. Die Kommunikation
des verteilten Systems wird hier nur skizziert, aber nicht explizit betrachtet.
Zentraler Begriff in einer SOA ist ein Dienst . Dienste ergeben sich durch die Betrach-
tung von Geschäftsprozessen und deren Unterstützung durch ein DV-System. Nach
[Gol12] ist ein Anwendungsfall ein Geschäftsprozess oder ein Teil davon, der durch
ein DV-System unterstützt wird. Ziel eines Anwendungsfalls ist also die Erbringung ei-
nes Dienstes, der in einem Geschäftsprozess genutzt werden kann. Ein solcher
Dienst wird daher auch als Anwendungsservice oder einfach kurz als Service be-
zeichnet. Eine serviceorientierte Architektur umfasst also in sich abgeschlossene Dien-
ste eines DV-Systems, die Teilen eines Geschäftsprozesses aus Sicht der Verarbei-
tung entsprechen sollen. Die technischen Funktionen, die beim Entwurf eines Anwen-
dungsfalls zur eigentlichen Verarbeitungsfunktion dazukommen, werden hier nicht be-
trachtet. Ein Beispiel für eine technische Funktion ist der Start-up/Shut-down.
Ein Anwendungsservice resultiert aus der 1-zu-1-Abbildung eines
Geschäftsprozesses auf die Architektur eines DV-Systems. Auf
dem Rechner wird nur die Verarbeitungsfunktionalität betrachtet,
nicht jedoch die technischen Funktionen. Eine Abbildung des
Problembereichs auf Komponenten des Lösungsbereichs
soll verhindern, dass Geschäftsprozesse und Anwendungsfälle
leicht auseinanderdriften, wenn die Geschäftsprozesse nicht
direkt in der Architektur eines Systems sichtbar gemacht werden.
Die folgende Aufzählung gibt die Anforderungen an Services wieder. Diese Anfor-
derungen sind nach Wichtigkeit sortiert:
x Verteilung (engl. distribution )
Ein Dienst steht in einem Netzwerk zur Verfügung.
x Geschlossenheit (engl. component appearance )
Jeder Dienst stellt eine abgeschlossene Einheit dar, die unabhängig aufgerufen
werden kann. Aus der Sicht des Servicenutzers muss jeder Service als eine in sich
geschlossene Funktion erscheinen.
x Zustandslos (engl. stateless )
Ein Service startet bei jedem Aufruf eines Servicenutzers im gleichen Zustand. Das
bedeutet, dass ein Service keine Informationen von einem früheren Aufruf zu einem
späteren Aufruf weitergeben kann. Er hat also "kein Gedächtnis" für frühere Aufrufe.
x Lose Kopplung (engl. loosely coupled )
Die Services sind untereinander entkoppelt. Dies bedeutet, dass ein beliebiger
Service bei Bedarf dynamisch zur Laufzeit vom Servicenutzer gesucht und auf-
gerufen werden kann.
x Austauschbarkeit (engl. exchangeability )
Ein Service muss stets austauschbar sein. Daher muss es standardisierte Schnitt-
stellen geben. Solange die Schnittstelle stabil bleibt, kann ein Dienst problemlos op-
timiert werden.
Search WWH ::




Custom Search