Lade Inhalt...

Dynamische Visualisierung serviceorientierter Architekturen

©2007 Diplomarbeit 128 Seiten

Zusammenfassung

Inhaltsangabe:Einleitung:
Die Geschäftsprozesse in Unternehmen sind gekennzeichnet von einer kontinuierlichen Dynamik. Die variierenden Rahmenbedingungen im Bezug auf Kunden, Wettbewerber und Märkte, resultieren in wechselnden Anforderungen an die Prozesse. Um den Anforderungen gerecht zu werden, müssen Geschäftsprozesse sich flexibel gestalten lassen. Entsprechend flexibel müssen auch die Softwaresysteme und deren Architekturen sein, die den Prozessen zugrunde liegen. Damit eine Anpassung möglichst dynamisch erfolgen kann, werden serviceorientierte Architekturen eingesetzt. Sie sollen durch die Nutzung kombinierbarer und wiederverwendbarer Softwarekomponenten, eine schnellere und einfachere Veränderung von Softwarearchitekturen in Unternehmen realisieren. Mit dem Ziel diese Architekturen dynamischer auf die Geschäftsprozesse und deren Anforderungen ausrichten zu können, als dies in der Vergangenheit der Fall war.
Nicht allein im Bezug auf serviceorientierte Architekturen ist dabei zu beachten, dass die Entwicklung und Wartung von Softwarearchitekturen einen umfangreichen und vielschichtigen Prozess darstellt. Voraussetzung für die erfolgreiche Durchführung eines derartigen Prozesses, ist das Verständnis der beteiligten Personen. Ein solches Verständnis zu erlangen wird in zunehmendem Maße wichtiger, angesichts immer komplexerer Softwaresysteme und gleichzeitig kürzerer Softwarelebenszyklen. Aufgrund der Größe und Komplexität der meisten Systeme, ist ein Verständnis dafür jedoch nicht ohne weiteres erreichbar. Dies gilt besonders für serviceorientierte Architekturen, deren Einsatz auch mit einer stärkeren Vernetzung der technischen und wirtschaftlichen Ebene in Unternehmen einhergeht. Die infolgedessen bestehenden Beziehungen zwischen diesen Ebenen, steigern zusätzlich die Komplexität serviceorientierter Architekturen.
Aus diesen Gründen sind Werkzeuge erforderlich, welche dabei helfen die Komplexität von Softwaresystemen zu reduzieren und somit ein Verständnis für sie zu ermöglichen. Die Softwarevisualisierung stellt ein Werkzeug dieser Art dar. Sie versucht mit Hilfe graphischer Darstellungen, das Verständnis für unterschiedliche Aspekte von Softwaresystemen zu schaffen und zu verbessern. Um dies zu erreichen, wurden in den vergangenen Jahren zahlreiche Ansätze und Tools für die Visualisierung von Software entwickelt. Die Ansätze und die ihnen zugrunde liegenden Konzepte, fokussieren in ihrer Ausrichtung allerdings primär objektorientierte […]

Leseprobe

Inhaltsverzeichnis


Christian Kahl
Dynamische Visualisierung serviceorientierter Architekturen
ISBN: 978-3-8366-0408-6
Druck Diplomica® Verlag GmbH, Hamburg, 2007
Zugl. Universität Duisburg-Essen, Standort Essen, Essen, Deutschland, Diplomarbeit,
2007
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte,
insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von
Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der
Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen,
bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung
dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen
der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik
Deutschland in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich
vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des
Urheberrechtes.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in
diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme,
dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei
zu betrachten wären und daher von jedermann benutzt werden dürften.
Die Informationen in diesem Werk wurden mit Sorgfalt erarbeitet. Dennoch können
Fehler nicht vollständig ausgeschlossen werden, und die Diplomarbeiten Agentur, die
Autoren oder Übersetzer übernehmen keine juristische Verantwortung oder irgendeine
Haftung für evtl. verbliebene fehlerhafte Angaben und deren Folgen.
© Diplomica Verlag GmbH
http://www.diplom.de, Hamburg 2007
Printed in Germany

Inhaltsverzeichnis
I
Inhaltsverzeichnis
Abbildungsverzeichnis ... V
Abkürzungsverzeichnis... VII
1
Einführung und Motivation... 1
2
Grundlagen serviceorientierter Architekturen... 5
2.1
Motivation... 5
2.2
Definition... 6
2.3
Ziele ... 8
2.3.1
Einfachheit ... 8
2.3.2
Flexibilität und Wartbarkeit ... 9
2.3.3
Wiederverwendbarkeit ... 9
2.3.4
Entkopplung von Funktionalität und Technologie ... 9
2.4
Elemente ... 10
2.4.1
Service und Servicerollen ... 10
2.4.2
Servicebeschreibung... 11
2.4.2.1
Erreichbarkeit... 11
2.4.2.2
Funktionalität ... 11
2.4.2.3
Policies ... 12
2.4.2.4
Service Interface ... 12
2.4.2.5
Servicevertrag... 13
2.4.3
Ausführungskontext... 13
2.5
Konzepte ... 14
2.5.1
Sichtbarkeit... 14
2.5.1.1
Bewusstsein ... 14
2.5.1.2
Bereitschaft... 15
2.5.1.3
Erreichbarkeit... 15
2.5.2
Interaktion ... 15
2.5.3
Realwelt Effekt... 16
2.6
Aufbau und Kontext... 16
2.6.1
Anwendungsschicht ... 19
2.6.2
Serviceschicht... 19
2.6.2.1
Anwendungsserviceschicht ... 20
2.6.2.2
Geschäftsserviceschicht ... 20
2.6.2.3
Orchestrierungsserviceschicht... 21
2.6.3
Prozessschicht ... 21
2.7
Charakteristika ... 22
2.7.1
Wiederverwendbarkeit ... 22

Inhaltsverzeichnis
II
2.7.2
Formaler Vertrag ...22
2.7.3
Lose Kopplung...23
2.7.4
Abstraktion ...23
2.7.5
Kombinierbarkeit ...23
2.7.6
Autonomie ...24
3
Grundlagen der Softwarevisualisierung ... 25
3.1
Motivation ...25
3.2
Definition ...26
3.3
Ziele ...27
3.4
Anforderungen ...28
3.4.1
Expressivität ...28
3.4.2
Effektivität ...28
3.4.3
Angemessenheit ...29
4
Konzepte und Techniken der Softwarevisualisierung... 31
4.1
Verständnisstrategien...31
4.1.1
Bottom Up ...31
4.1.2
Top Down ...32
4.1.3
Wissensbasiert ...33
4.1.4
Systematisch und nach Bedarf ...33
4.1.5
Integriert...33
4.2
Visualisierungspipeline ...34
4.2.1
Datenaufbereitung ...34
4.2.2
Datenabbildung ...34
4.2.3
Bildgenerierung ...35
4.3
Sichtenkonzept ...35
4.3.1
Logische Sicht ...37
4.3.2
Prozesssicht ...37
4.3.3
Entwicklungssicht...38
4.3.4
Physische Sicht...38
4.3.5
Szenarios...38
4.4
Visuelle Konzepte ...39
4.4.1
Multiple Sichten ...39
4.4.2
Filterung ...40
4.4.3
Aggregation ...40
4.4.4
Pan und Zoom ...41
4.4.5
Kontext und Detail ...42
5
Ansätze und Probleme der Softwarevisualisierung ... 43
5.1
Charakterisierung ...43

Inhaltsverzeichnis
III
5.1.1
Inhalt ... 44
5.1.2
Form ... 45
5.2
Bestehende Ansätze ... 48
5.2.1
Unified Modeling Language ... 48
5.2.1.1
Inhalt... 48
5.2.1.2
Form ... 50
5.2.2
BLOOM ... 51
5.2.2.1
Inhalt... 52
5.2.2.2
Form ... 52
5.2.3
Simple Hierarchical Multi Perspective... 53
5.2.3.1
Inhalt... 53
5.2.3.2
Form ... 54
5.2.4
Code Crawler ... 55
5.2.4.1
Inhalt... 55
5.2.4.2
Form ... 55
5.2.5
Source Viewer 3D... 56
5.2.5.1
Inhalt... 57
5.2.5.2
Form ... 57
5.2.6
Software Landscapes ... 59
5.2.6.1
Inhalt... 59
5.2.6.2
Form ... 60
5.3
Probleme ... 62
5.3.1
Darstellung... 62
5.3.2
Komplexität und Skalierbarkeit... 63
5.3.3
Dynamik ... 65
5.3.4
Ganzheitlichkeit ... 68
5.3.5
Anwendung ... 69
5.3.5.1
Automatisierung ... 69
5.3.5.2
Evaluation... 70
5.3.5.3
Anwendung in der Praxis... 71
6
Modell der dynamischen Visualisierung ... 73
6.1
Motivation... 73
6.2
Definition und Ziele ... 75
6.3
Anforderungen... 77
6.3.1
Dynamik ... 77
6.3.2
Multidimensionalität... 77
6.3.3
Skalierbarkeit ... 77
6.3.4
Ganzheitlichkeit ... 78

Inhaltsverzeichnis
IV
6.4
Aufbau und Kontext ...78
6.4.1
Stakeholder ...79
6.4.2
Serviceorientierte Architektur ...81
6.4.3
Softwarevisualisierung...81
6.4.4
Visualisierungsprozess ...82
6.5
Dynamische Sicht ...84
6.5.1
Inhalt ...85
6.5.2
Form ...88
6.5.2.1
Multiple Subsichten...89
6.5.2.2
Informationshierarchie ...93
6.5.2.3
Information on Demand...96
6.5.2.4
Filterung ...98
6.5.2.5
Aggregation ...100
6.5.2.6
Kontext und Detail...102
7
Zusammenfassung und Ausblick... 105
Literaturverzeichnis ... 109

Abbildungsverzeichnis
V
Abbildungsverzeichnis
Abbildung 1.1: Aufbau der Arbeit ... 2
Abbildung 2.1: Das Service Konzept ... 7
Abbildung 2.2: Aufbau der Unternehmenslogik... 17
Abbildung 2.3: Aufbau einer serviceorientierten Architektur ... 18
Abbildung 2.4: Subschichten der Serviceschicht ... 20
Abbildung 4.1: Die Visualisierungspipeline... 34
Abbildung 4.2: Das 4+1 Sichten Modell... 37
Abbildung 4.3: Schematische Sicht ... 39
Abbildung 4.4: Das Konzept der multiplen Sichten... 39
Abbildung 4.5: Das Konzept der Filterung ... 40
Abbildung 4.6: Das Konzept der Aggregation ... 41
Abbildung 4.7: Das Pan und Zoom Konzept ... 41
Abbildung 4.8: Das Kontext und Detail Konzept ... 42
Abbildung 5.1: Sichten der UML nach Kategorien... 49
Abbildung 5.2: Beispiel für ein UML Klassendiagramm... 51
Abbildung 5.3: Beispiel für ein UML Zustandsdiagramm... 51
Abbildung 5.4: Beispiele für Visualisierungen in BLOOM... 53
Abbildung 5.5: Schrittweise Anzeige von Details in SHriMP ... 54
Abbildung 5.6: Beispiel einer Visualisierung in SHriMP... 55
Abbildung 5.7: Beispiel einer Visualisierung in Code Crawler ... 56
Abbildung 5.8: Beispiel einer Visualisierung in SV3D ... 58
Abbildung 5.9: Überblicksdarstellung in SV3D (Ausschnitt) ... 58
Abbildung 5.10: Visualisierung von Relationen in Software Landscapes... 61
Abbildung 5.11: Beispiel einer Visualisierung bei Software Landscapes ... 61
Abbildung 5.12: Beispiele für die Komplexität von Visualisierungen... 64
Abbildung 6.1: Die Softwarevisualisierung im Kontext... 73
Abbildung 6.2: Das Modell der dynamischen Visualisierung ... 79
Abbildung 6.3: Der Visualisierungsprozess im MDV ... 82
Abbildung 6.4: Schematische serviceorientierte Architektur ... 89
Abbildung 6.5: Dynamische Sicht mit zwei Subsichten ... 90
Abbildung 6.6: Die Informationshierarchie auf der Anwendungsschicht ... 94
Abbildung 6.7: Information on Demand am Beispiel eines Services ... 97
Abbildung 6.8: Ausblendung von Elementen durch Filterung ... 99
Abbildung 6.9: Aggregation von Elementen ...101
Abbildung 6.10: Betrachtung von Details und Kontext...103

Abkürzungsverzeichnis
VII
Abkürzungsverzeichnis
BPEL... Business Process Execution Language
IT... Informationstechnik
JAVA EE ... JAVA Enterprise Edition
MDV ... Modell der dynamischen Visualisierung
UML... Unified Modeling Language
WSDL ... Web Service Description Language
XML... Extended Markup Language

Einführung und Motivation
1
1
Einführung und Motivation
Die Geschäftsprozesse in Unternehmen sind gekennzeichnet von einer kontinu-
ierlichen Dynamik. Die variierenden Rahmenbedingungen im Bezug auf Kunden,
Wettbewerber und Märkte, resultieren in wechselnden Anforderungen an die Pro-
zesse. Um den Anforderungen gerecht zu werden, müssen Geschäftsprozesse
sich flexibel gestalten lassen. Entsprechend flexibel müssen auch die Software-
systeme und deren Architekturen sein, die den Prozessen zugrunde liegen. Damit
eine Anpassung möglichst dynamisch erfolgen kann, werden serviceorientierte
Architekturen eingesetzt. Sie sollen durch die Nutzung kombinierbarer und
wiederverwendbarer Softwarekomponenten, eine schnellere und einfachere Ver-
änderung von Softwarearchitekturen in Unternehmen realisieren. Mit dem Ziel
diese Architekturen dynamischer auf die Geschäftsprozesse und deren Anforde-
rungen ausrichten zu können, als dies in der Vergangenheit der Fall war.
Nicht allein im Bezug auf serviceorientierte Architekturen ist dabei zu beachten,
dass die Entwicklung und Wartung von Softwarearchitekturen einen umfangrei-
chen und vielschichtigen Prozess darstellt. Voraussetzung für die erfolgreiche
Durchführung eines derartigen Prozesses, ist das Verständnis der beteiligten
Personen. Ein solches Verständnis zu erlangen wird in zunehmendem Maße
wichtiger, angesichts immer komplexerer Softwaresysteme und gleichzeitig kür-
zerer Softwarelebenszyklen. Aufgrund der Größe und Komplexität der meisten
Systeme, ist ein Verständnis dafür jedoch nicht ohne weiteres erreichbar. Dies
gilt besonders für serviceorientierte Architekturen, deren Einsatz auch mit einer
stärkeren Vernetzung der technischen und wirtschaftlichen Ebene in Unterneh-
men einhergeht. Die infolgedessen bestehenden Beziehungen zwischen diesen
Ebenen, steigern zusätzlich die Komplexität serviceorientierter Architekturen.
Aus diesen Gründen sind Werkzeuge erforderlich, welche dabei helfen die Kom-
plexität von Softwaresystemen zu reduzieren und somit ein Verständnis für sie
zu ermöglichen. Die Softwarevisualisierung stellt ein Werkzeug dieser Art dar.
Sie versucht mit Hilfe graphischer Darstellungen, das Verständnis für unter-
schiedliche Aspekte von Softwaresystemen zu schaffen und zu verbessern. Um
dies zu erreichen, wurden in den vergangenen Jahren zahlreiche Ansätze und
Tools für die Visualisierung von Software entwickelt. Die Ansätze und die ihnen
zugrunde liegenden Konzepte, fokussieren in ihrer Ausrichtung allerdings primär
objektorientierte Systeme. Serviceorientierte Softwaresysteme und ihre Archi-
tekturen finden dagegen bislang wenig Berücksichtigung. Obwohl ihnen in der
Softwareentwicklung eine wachsende Bedeutung zuteil wird und obwohl gerade
hier, aufgrund der skizzierten Komplexität dieser Architekturen, geeignete Werk-

Einführung und Motivation
2
zeuge notwendig sind, um ein Verständnis zu ermöglichen. Es stellt sich daher
die Frage, inwieweit heute bestehende Ansätze der Softwarevisualisierung und
die darin verwendeten Konzepte, in der Lage sind, serviceorientierte Architektu-
ren adäquat zu visualisieren.
Ausgehend von dieser Frage, soll im Rahmen der vorliegenden Arbeit zunächst
gezeigt werden, dass die Konzepte der Softwarevisualisierung und die Art in der
sie bisher angewendet werden, für eine geeignete Visualisierung service-
orientierter Architekturen nicht ausreichen. Ziel der Arbeit ist die Identifikation
der Schwächen bestehender Visualisierungsansätze und darauf aufbauend die
Entwicklung eines Modells, dass die Visualisierung serviceorientierter Architek-
turen beschreibt. Das Modell soll einen ganzheitlichen Ansatz für die visuelle
Darstellung derartiger Architekturen repräsentieren. Grundlage hierfür ist die
explizite Ausrichtung eines solchen Ansatzes an den spezifischen Charakteristika
serviceorientierter Architekturen und ein angemessener Einsatz von Konzepten
der Softwarevisualisierung. Damit soll das Modell die Grundlage schaffen für eine
nachhaltige Förderung des Verständnisses, bei allen Personen (Stakeholder), die
ein Interesse an einer solchen Architektur haben.
Abbildung 1.1: Aufbau der Arbeit
Um die Zielsetzung zu erreichen (vgl. Abbildung 1.1), sind zunächst service-
orientierte Architekturen und ihre Grundlagen, Gegenstand dieser Arbeit (vgl. 2).
Hierbei erfolgt vor allem eine Betrachtung der Konzepte, welche diesen Architek-
turen zugrunde liegen und der Bestandteile, aus denen sie sich zusammen-
setzen. Ziel dieses Teils der Arbeit ist es, einen Überblick zu geben, was service-

Einführung und Motivation
3
orientierte Architekturen sind und über welche charakteristischen Eigenschaften
sie verfügen.
Serviceorientierte Architekturen sind in diesem Kontext beispielhaft für die Kom-
plexität von Softwaresystemen und ihren Architekturen zu sehen. Ausgehend
davon betrachten die anschließenden Kapitel die Softwarevisualisierung als Mög-
lichkeit, zur Reduktion von Komplexität und zur Schaffung von Verständnis. Im
Mittelpunkt stehen die Grundlagen der Softwarevisualisierung (vgl. 3), gefolgt
von spezifischen Konzepten und Techniken (vgl. 4).
Darauf aufbauend stellt Kapitel 5 einige exemplarische Ansätze der Softwarevi-
sualisierung vor, um Beispiele für ihre Anwendung in der Praxis zu geben. Hier-
bei zeigt sich allerdings auch, dass mit den bestehenden Ansätzen einige Prob-
leme verbunden sind. Probleme, die insbesondere im Bezug auf serviceorientier-
te Architekturen von Bedeutung sind. Aus diesem Grund findet abschließend die
Vorstellung eines neuen Ansatzes der Softwarevisualisierung statt (vgl. 6), der
speziell diese Architekturform fokussiert.
Für ein umfassendes Verständnis serviceorientierter Systeme in Unternehmen ist
neben einer Betrachtung der Struktur auch die Betrachtung ihres Verhaltens von
Bedeutung. Eine derartige Betrachtung würde jedoch über den Rahmen dieser
Arbeit hinausgehen. Die Ausrichtung des vorgestellten Modells, auf ausschließlich
die Architektur und damit strukturelle Aspekte serviceorientierter Systeme, stellt
daher eine notwendige Einschränkung dar.
Bezüglich der Verwendung von Begriffen sollte beachtet werden, dass die Begrif-
fe Software, Softwaresystem und System im Folgenden synonym verwendet
werden. Gleiches gilt, sofern nicht anders beschrieben, für die Begriffe Soft-
warearchitektur und Architektur.

Grundlagen serviceorientierter Architekturen
5
2
Grundlagen serviceorientierter Architek-
turen
Serviceorientierte Architekturen stellen eine besondere Form von Software-
architekturen dar. Eine Form, die ein hohes Maß an Flexibilität ermöglichen soll,
die aber gleichermaßen neue Herausforderungen bedingt. Die folgenden Ab-
schnitte beschäftigen sich mit den Grundlagen serviceorientierter Architekturen.
Dabei steht zunächst im Mittelpunkt, welche Motivation dieser Architekturform
zugrunde liegt, wie sie definiert werden kann und welche Ziele mit ihrem Einsatz
verbunden sind. Daran schließt sich eine Betrachtung wesentlicher Elemente an,
aus denen serviceorientierte Architekturen bestehen, bevor die mit ihnen ver-
bundenen Konzepte vorgestellt werden. Wie die einzelnen Bestandteile im Rah-
men des Aufbaus serviceorientierter Architekturen in Beziehung zueinander
stehen und welche Charakteristika sich daraus ergeben, ist Gegenstand der
letzten beiden Abschnitte dieses Kapitels.
2.1
Motivation
Im globalen Wettbewerb sind Unternehmen einer stetigen Dynamik ausgesetzt.
Die Märkte auf denen sie agieren, die Bedürfnisse ihrer Kunden und nicht zuletzt
die technischen Rahmenbedingungen, verändern sich schnell und die Lebens-
zyklen von Produkten und Entscheidungen werden zunehmend kürzer. Dies hat
zur Folge, dass die Geschäftsprozesse in Unternehmen kontinuierlich angepasst
werden müssen, um den sich ändernden Rahmenbedingungen gerecht zu wer-
den. Entsprechende Adaptionen müssen auch die Softwaresysteme ermöglichen,
welche die Durchführung der Geschäftsprozesse umsetzen und somit deren Basis
auf technischer Ebene bilden.
Die Problematik liegt darin, dass die eingesetzten Softwaresysteme oft nicht so
flexibel, agil und effizient anpassbar an veränderte Anforderungen sind, wie es
notwendig wäre, um der wirtschaftlichen Dynamik in technischer Hinsicht zu ent-
sprechen. Vor allem die Struktur der Systeme ist vielfach zu unflexibel für grund-
legende Veränderungen [KrBS2005, 2]. Viele kleinere Änderungen werden zu-
dem oftmals nur dann eingefügt, wenn gerade die Notwendigkeit dafür besteht.
Sie erfüllen folglich zwar in einem Teilbereich eines Softwaresystems ihren
Zweck, unterliegen aber keinem übergeordneten Konzept, so dass die Auswir-
kungen, welche sie für das gesamte System haben können, kaum oder gar nicht
absehbar sind [KrBS2005, 3]. Aufgrund dieser Einschränkung, lassen sich die
aus den dynamischen Rahmenbedingungen resultierenden Anforderungen nicht
ausreichend schnell in den Systemen umsetzen. Dies führt zu einer Minderung
der Reaktionsfähigkeit der Unternehmen.

Grundlagen serviceorientierter Architekturen
6
Die Softwaresysteme in Unternehmen erfordern zudem nicht nur Flexibilität und
Adaptierbarkeit, sondern auch eine starke Einbindung in die Organisation und in
die Geschäftsprozesse, welche das Unternehmen ausmachen. Dabei müssen die
entsprechenden Systeme unternehmensweit betrachtet werden, da sich Ge-
schäftsprozesse nicht auf einzelne Teilbereiche beschränken [KrBS2005, 3ff].
Die genannten Aspekte legen die Schlussfolgerung nahe, dass Softwaresysteme
und ihre Architekturen, in den Formen in denen sie heute in vielen Unternehmen
existieren, den Anforderungen ihres Einsatzgebietes nicht oder zumindest nicht
in ausreichendem Maße genügen. Vor diesem Hintergrund werden serviceorien-
tierte Architekturen als eine Möglichkeit betrachtet, um Softwaresysteme in
Unternehmen besser integrieren und die Anforderungen an die Geschäfts-
prozesse flexibler und schneller umsetzen zu können [MLMB2006, 11; KrBS2005,
6].
2.2
Definition
Dem Konzept der serviceorientierten Architektur ist in den vergangenen Jahren
große Beachtung zuteil geworden. Dabei existiert eine Vielzahl von unterschiedli-
chen und zum Teil gegensätzlichen Definitionen für diesen Begriff [MLMB2006,
4]. Ähnlich wie im Hinblick auf den Begriff der Softwarearchitektur, gibt es bezo-
gen auf die serviceorientierte Architektur ebenso keine eindeutige und allgemein
anerkannte Definition. Serviceorientierte Architekturen stellen eine besondere
Form der Softwarearchitektur dar. Eine Softwarearchitektur kann allgemein defi-
niert werden, als die Struktur der Strukturen eines Softwaresystems. Unter einer
Struktur sind Softwareelemente (z.B. Komponenten, Module) und die Beziehun-
gen zwischen diesen Elementen zu verstehen [BaCK2003, 3; CBBG2003, 1ff]
1
.
Die Elemente einer Architektur werden auch als Artefakte bezeichnet. Die Soft-
warearchitektur beschreibt die technische Struktur sowie die Bedingungen und
Charakteristiken, welche für ein Softwaresystem gelten [KrBS2005, 56]. Analog
zu der Architektur eines Gebäudes in der Realwelt, die dessen Struktur und Auf-
bau beschreibt.
In Abgrenzung zu anderen Architekturformen, liegt serviceorientierten Archi-
tekturen das Paradigma der Serviceorientierung zugrunde. Das Paradigma be-
trachtet Softwaresysteme, im Kontext von Unternehmen, hinsichtlich ihrer Rolle
als Dienstleister. Ausgangspunkt ist die Vorstellung, dass Entitäten, in Form von
Personen oder Unternehmen, Probleme lösen müssen, mit denen sie in ihrer
1
Weitere Definitionen: http://www.sei.cmu.edu/architecture/definitions.html

Grundlagen serviceorientierter Architekturen
7
Geschäftsumwelt konfrontiert sind. Eine Problemlösung stellt in diesem Fall eine
Leistung dar, die von einer Entität erbracht und an andere Entitäten bereitge-
stellt wird, um deren Probleme zu lösen und ein bestimmtes Bedürfnis zu erfüllen
[MLMB2006, 8]. Die Entität welche die Leistung erbringt, tritt demzufolge als
Dienstleister (Anbieter) für einen Konsumenten (Nachfrager) auf. Im Falle eines
Unternehmens, wird eine solche, oftmals komplexe Leistung, zusätzlich in ein-
zelne kleinere und weniger komplexe Teilaufgaben zerlegt, die von den Abteilun-
gen und deren Mitarbeitern durchgeführt werden. Ein Service tritt dabei als
Vermittler auf, der einem Nachfrager die Nutzung der Leistung eines Anbieters
ermöglicht (vgl. Abbildung 2.1).
Abbildung 2.1: Das Service Konzept
Verdeutlichen lässt sich die Serviceorientierung an einem Beispiel aus der Real-
welt. Angenommen, eine Person hat das Bedürfnis eine Reise zu buchen. Eine
Fluglinie bietet in diesem Fall die Möglichkeit, das Bedürfnis zu befriedigen, in-
dem sie Flugreisen anbietet. Die Person tritt somit als Nachfrager einer Leistung
(Flugreise) gegenüber einem Anbieter (Fluglinie) auf. Die Buchung erfolgt aber
nicht direkt bei der Fluglinie. Vielmehr nutzt die Person deren Internetseite, für
die Buchung des Fluges. Die Internetseite repräsentiert damit den Service, wel-
cher die Leistung des Anbieters an den Nachfrager vermittelt.
Im Bezug auf Softwaresysteme in Unternehmen gilt es, Probleme in Form der
Durchführung von Geschäftsprozessen zu lösen und damit Bedürfnisse von Kun-
den zu erfüllen. Unter einem Geschäftsprozess wird ein Arbeitsablauf verstan-
den, für dessen Durchführung eine Menge einzelner Arbeitsschritte, in einer
bestimmten zeitlichen Abfolge erforderlich ist [Erl2005, 288; KrBS2005, 57]. Die
Arbeitsschritte werden als Aktivitäten bezeichnet. Sie repräsentieren die Tätig-
keiten, welche zur Erbringung einer Leistung notwendig sind. Zur Durchführung
der Aktivitäten, werden unterschiedliche Softwaresysteme im Unternehmen
genutzt. Jedes Softwaresystem erbringt eine Leistung, ähnlich wie ein Mitarbeiter
oder eine Abteilung im Unternehmen. Damit diese Leistung von anderen Elemen-
ten in einem System genutzt werden kann, ist es erforderlich sie über eine
Schnittstelle verfügbar zu machen. Diese Schnittstelle wird durch einen Service
repräsentiert. Über den Service kann die Leistung der Softwaresysteme im

Grundlagen serviceorientierter Architekturen
8
Rahmen von Geschäftsprozessen genutzt werden. Die Softwaresysteme treten
somit als Dienstleister auf. Sie führen eine bestimmte Funktionalität aus, erbrin-
gen dadurch eine bestimmte Leistung und ermöglichen so die erfolgreiche
Durchführung einer Aktivität. Ebenso ist es möglich, dass Leistungen system-
oder unternehmensübergreifend und damit verteilt, bereitgestellt und verwendet
werden [MLMB2006, 8; Erl2005, 32f].
Eine serviceorientierte Architektur wird demnach, in Anlehnung an [MLMB2006,
8], als ein Paradigma für die Organisation und Verwendung von verteilten Funk-
tionalitäten definiert. Im technischen Sinn repräsentiert eine Funktionalität hier-
bei eine Leistung. Die Funktionalitäten können sich unter der Kontrolle verschie-
dener Besitzer befinden. Eine serviceorientierte Architektur umfasst die Bereit-
stellung und Nutzung von im Rahmen des Softwaresystems zur Verfügung ste-
henden Funktionalitäten über Services [KrBS2005, 56; Gart2004, 325].
2.3
Ziele
Betrachtet man die zuvor geschilderten Problematiken von Softwaresystemen in
Unternehmen (vgl. 2.1), so stellt die Serviceorientierung (vgl. 2.2) generell eine
mögliche Lösung dieser Probleme dar. Im Kern ist es folglich Ziel des Paradigmas
der Serviceorientierung, die Softwaresysteme in Unternehmen gemäß den Erfor-
dernissen, welche aus den Geschäftsprozessen resultieren, anlegen und gestal-
ten zu können [MLMB2006, 8; BLBB2000, 3f]. Um dies zu erreichen, gibt es
einige explizite Ziele, die serviceorientierte Architekturen in der Praxis erfüllen
sollten. Nach [KrBS2005, 6f] gehören dazu Einfachheit, Flexibilität und Wartbar-
keit, Wiederverwendbarkeit sowie die Entkopplung von Funktionalität und Tech-
nologie. Diese Ziele sind prägend für das Design serviceorientierter Archi-
tekturen.
2.3.1
Einfachheit
Eine Softwarearchitektur dient immer auch dem Zweck der Kommunikation
zwischen einzelnen Stakeholdern [BaCK2003, 26ff]. Da serviceorientierte Archi-
tekturen eine besondere Form von Softwarearchitekturen repräsentieren, gilt
dies für sie gleichermaßen. Für die Ermöglichung einer effizienten Kommunika-
tion zwischen den Stakeholdern, sollte eine serviceorientierte Architektur einfach
sein, so dass sie allen verständlich ist. Ein solches Verständnis ist vor allem im
Hinblick auf die Rollen und Aufgaben wichtig, welche den verschiedenen Stake-
holdern im Unternehmen zukommen. Das Verständnis ist Voraussetzung dafür,
dass die Stakeholder, die sich hinsichtlich ihrer Rolle sowie ihrer Interessen,
Fähigkeiten und Kenntnisse unterscheiden, ihre jeweiligen Aufgaben adäquat
durchführen können [KrBS2005, 6].

Grundlagen serviceorientierter Architekturen
9
2.3.2
Flexibilität und Wartbarkeit
Eine serviceorientierte Architektur soll Unternehmen flexibler machen, damit die
Unternehmen und ihre Geschäftsprozesse den Anforderungen gerecht werden
können, die sich ihnen im Rahmen ihrer Geschäftsumwelt stellen. Ziel ist es,
schnell und effizient auf neue oder veränderte Anforderungen reagieren und die
Architektur entsprechend anpassen zu können [MLMB2006, 11]. Für die Er-
reichung dieses Ziels, muss eine serviceorientierte Architektur entsprechend
flexibel und anpassbar sein.
Die Architektur sollte deshalb aus einzelnen, abgeschlossenen Komponenten be-
stehen, die sich in verschiedener Weise, flexibel miteinander kombinieren lassen
[KrBS2005, 6]. Die einzelnen Komponenten müssen darüber hinaus effizient
wartbar sein, etwa für die Erweiterung um zusätzliche Funktionalitäten. Services
repräsentieren eine solche Form von Komponenten [KrBS2005, 67].
2.3.3
Wiederverwendbarkeit
Die Elemente aus denen Softwaresysteme in Unternehmen bestehen, beinhalten
jeweils eine Menge spezifischer Funktionalitäten. Ziel einer serviceorientierten
Architektur ist es, dass diese Funktionalitäten sich in unterschiedlichen Kontex-
ten zur Durchführung wechselnder Aufgaben wiederverwenden lassen. Damit soll
Redundanz bezüglich der Funktionalitäten vermieden und Kosten gesenkt wer-
den [KrBS2005, 6f].
Wiederverwendbarkeit kann auch durch die Bereitstellung von Mechanismen
erfolgen, welche das Auffinden von Services ermöglichen. Etwa durch Service
Repositories, in denen anhand bestimmter Kriterien nach entsprechenden Servi-
ces gesucht werden kann [KrBS2005, 6f].
2.3.4
Entkopplung von Funktionalität und Technologie
Serviceorientierte Architekturen sollen die Unabhängigkeit von Funktionalitäten
und den ihnen zugrunde liegenden Technologien ermöglichen. Das bedeutet,
dass eine Entkopplung und damit die Unabhängigkeit der Geschäftsprozesse, von
deren technischer Implementierung ermöglicht werden soll [KrBS2005, 57].
Wesentlich für dieses Ziel ist der potenziell lange Lebenszyklus von Geschäfts-
prozessen, der kurzen technologischen Entwicklungszyklen gegenüber steht.
Eine Entkopplung von Funktionalität und Technologie soll vermeiden, dass sich
die Änderung einer Technologie auf die Geschäftsprozesse auswirkt, welche die
Funktionalitäten nutzen [KrBS2005, 7]. Änderungen auf technischer Ebene, etwa
bei der Implementierung bestimmter Funktionalitäten oder der Nutzung spezifi-
scher Technologien, sind so ohne Auswirkungen auf Geschäftsprozesse möglich.

Grundlagen serviceorientierter Architekturen
10
Eine derartige Trennung geht folglich mit einer verminderten Technikzentrierung
von Softwarearchitekturen in Unternehmen einher. Damit werden heterogene
Systemlandschaften realisierbar, innerhalb derer ein Geschäftsprozess die Funk-
tionen verschiedener Systeme nutzen kann, während diese unabhängig von-
einander austauschbar sind.
2.4
Elemente
Für die Umsetzung des Paradigmas der Serviceorientierung (vgl. 2.2) und die
Erreichung der damit assoziierten Ziele (vgl. 2.3), existieren bestimmte Ele-
mente. Hierbei handelt es sich um fundamentale Bestandteile, aus denen servi-
ceorientierte Architekturen aufgebaut sind. Die folgenden Abschnitte stellen mit
dem Service, der Servicebeschreibung sowie dem Ausführungskontext, diese
Elemente im Detail vor.
2.4.1
Service und Servicerollen
Dem Paradigma der Serviceorientierung folgend (vgl. 2.2), stellt ein Service
allgemein einen Mechanismus für die Vermittlung von Leistungen zwischen ei-
nem Anbieter und einem Nachfrager in Unternehmen dar. In technischer Hinsicht
bietet ein Service die Möglichkeit, auf eine Leistung oder eine Menge von Leis-
tungen zugreifen und diese nutzen zu können [MLMB2006, 12; KrBS2005, 59].
Unter einer Leistung kann eine Funktionalität verstanden werden, die von einem
Softwaresystem oder einem Teilsystem dessen erzeugt wird.
Demzufolge lassen sich im Bezug auf Services zwei Rollen identifizieren. Die des
Anbieters und die des Nachfragers einer Leistung. Anbieter und Nachfrager stel-
len technische Entitäten dar, welche mit dem Service interagieren. Der Nach-
frager (Service Consumer) hat ein bestimmtes Bedürfnis in Form einer Aufgabe
die durchgeführt werden muss. Um dieses Bedürfnis zu befriedigen, nimmt der
Service Consumer die Leistung bzw. Funktionalität einer anderen Entität in
Anspruch. Diese Leistung, in dem Fall die Durchführung der entsprechenden Auf-
gabe, wird durch den Anbieter (Service Provider) erstellt. Der Service stellt die
technische Schnittstelle zwischen beiden Parteien dar. Er bietet dem Service
Consumer die Möglichkeit, die Leistung des Service Providers zu nutzen. Ein Ser-
vice kapselt damit die Leistungen, welche von einem Service Provider angeboten
werden. Das bedeutet die Interaktion zwischen Service Provider und Consumer
findet nur über den Service, aber nicht direkt statt. Der potenzielle Service Con-
sumer muss dem Service Provider daher auch nicht bekannt sein [MLMB2006,
12].

Grundlagen serviceorientierter Architekturen
11
Zu betonen ist an dieser Stelle die klare Trennung zwischen der Rolle des Service
Providers und der des Service Consumers. Der Service selbst ist lediglich Ver-
mittler zwischen Anbieter und Nachfrager, der den Zugang zu einer Leistung
bereitstellt, nicht jedoch die Leistung selber erbringt [MLMB2006, 13]. Bezüglich
der Terminologie finden in der Literatur zum Teil auch die Begriffe Client für
Service Consumer und Server für Service Provider Verwendung [KrBS2005, 14].
2.4.2
Servicebeschreibung
Die Servicebeschreibung (Service Description) dient der Dokumentation eines
Services. Sie stellt alle Informationen bereit, welche für die Interaktion mit dem
Service erforderlich sind [MLMB2006, 20]. Die Servicebeschreibung kann sowohl
von einem Service Consumer als auch von einem Service Provider genutzt wer-
den. Insbesondere wird es dem Service Consumer dadurch ermöglicht, auf Basis
der Informationen über unterschiedliche Services denjenigen auszuwählen, der
für die Nutzung in einer konkreten serviceorientierten Architektur am besten
geeignet erscheint [MLMB2006, 21].
Zu den Informationen die ein Service bereitstellen muss, zählen Informationen
darüber, welche Leistungen er anbietet und wie die angebotenen Leistungen ge-
nutzt werden können. Weiterhin muss die Beschreibung Angaben über die be-
züglich der Interaktion mit dem Service geltenden Bedingungen enthalten
[MLMB2006, 21]. Im Detail umfassen die Bestandteile einer Servicebeschreibung
die Aspekte Erreichbarkeit, Funktionalität, Policies, Service Interface und Servi-
cevertrag.
2.4.2.1
Erreichbarkeit
Grundlage einer Interaktion zwischen einem Service und einem Service Con-
sumer oder Provider ist die technische Erreichbarkeit des Services über ein
Netzwerk. Die Servicebeschreibung muss entsprechend Informationen darüber
enthalten, wo und wie ein Service zum Zweck der Nutzung erreichbar ist. Hierbei
kann es sich etwa um Details über den Standort des Services sowie die von ihm
unterstützten Protokolle zur Kommunikation handeln. Ebenso wie Informationen
über seine aktuelle Verfügbarkeit. Angaben dieser Art sind Voraussetzung für
eine Interaktionsbeziehung mit dem Service [MLMB2006, 21f].
2.4.2.2
Funktionalität
In der Servicebeschreibung sollte die vom Service bereitgestellte Funktionalität
bzw. Leistung sowie die mit deren Nutzung verbundenen Auswirkungen (Realwelt
Effekt) (vgl. 2.5.3), eindeutig spezifiziert werden. Eine derartige Auswirkung
kann zum Beispiel das Ergebnis der Durchführung einer bestimmten Berechnung

Grundlagen serviceorientierter Architekturen
12
sein, welches der Service Consumer als Resultat der Servicenutzung erhält
[MLMB2006, 21].
Inhalt dieses Teils der Servicebeschreibung können eine textuelle Beschreibung
der Funktionalität für den menschlichen Nutzer eines Services sein sowie tech-
nische Informationen, wie beispielsweise Schlüsselwörter oder Bezeichner, für
die prozessuale Verarbeitung und die Nutzung durch einen maschinellen Nach-
frager (z.B. einen anderen Service). Das für eine Beschreibung auf Textbasis
gewählte Vokabular, muss dabei einerseits ausreichend sein, um die Funktio-
nalität in adäquater Form auszudrücken, andererseits aber verständlich für den
Benutzer bleiben. Zudem können auch eventuell geltende technische Voraus-
setzungen sowie Einschränkungen für die Servicenutzung beschrieben werden
[MLMB2006, 21f].
2.4.2.3
Policies
Die Policies stellen Richtlinien bzw. Bedingungen dar, welche in Verbindung mit
dem Service und der Interaktion mit diesem gelten. Eine Policy beschreibt, auf
die Verwendung des Services ausgerichtete, Bedingungen und Beschränkungen
[MLMB2006, 22]. Diese beziehen sich auf technische Aspekte, wie etwa Sicher-
heit, Vertraulichkeit oder die Servicequalität aber auch auf geschäftliche Aspekte,
wie die Zeiten der Verfügbarkeit eines Services oder gegebenenfalls anfallende
Gebühren für dessen Nutzung [MLMB2006, 23].
Zu den Bestandteilen einer Policy gehört die Policy Aussage (Policy Assertion).
Sie stellt eine allgemeine Aussage über den Umgang mit einem Service dar. Eine
solche Aussage muss durch die Interaktionsteilnehmer verarbeitbar sein. Weiter-
hin ist sie bewertbar und kann infolgedessen wahr oder falsch sein. Ein Beispiel
wäre eine Aussage der Form ,,Alle Nachrichten sind verschlüsselt.". Zudem ist die
Policy immer einem Besitzer (Policy Owner) zugeordnet, für den sie Gültigkeit
hat. Darüber hinaus umfasst die Policy Regeln für ihre Durchsetzung (Policy En-
forcement) [MLMB2006, 23]. Sie ermöglichen es eine Policy zu erzwingen, um
die Einhaltung der Policy Aussage zu gewährleisten. Auf diese Weise soll die
Durchführung nicht zulässiger Aktionen an einem Service und damit das poten-
zielle Auftreten eines ungültigen Zustandes verhindert werden [MLMB2006, 23].
2.4.2.4
Service Interface
Die Nutzung der Leistungen welche ein Service anbietet, erfolgt über das Service
Interface. Das Service Interface stellt einen Zugang zu den Leistungen des
Service Providers für die Service Consumer bereit [MLMB2006, 12; KrBS2005,
60]. Es verkörpert somit die Schnittstelle eines Services zu seinen Interaktions-
partnern.

Grundlagen serviceorientierter Architekturen
13
Das Service Interface ermöglicht die Interaktion mit dem Service. Dazu enthält
es Informationen über die Protokolle und Befehle, mit Hilfe derer die Leistungen
abgerufen werden, welche im Rahmen der Beschreibung der Funktionalitäten
(vgl. 2.4.2.2) verbal definiert worden sind. Dies beinhaltet eine Spezifikation
jener Informationen, die dem Service für die Nutzung der Funktionalitäten vom
Service Consumer zur Verfügung gestellt werden müssen (z.B. Aufrufparameter)
[KrBS2005, 59f].
Wichtig ist in diesem Zusammenhang, dass ein Interface den öffentlich zugäng-
lichen Teil eines Services repräsentiert [KrBS2005, 60]. Es stellt die Leistungen
des Services nach außen hin für einen Service Consumer bereit, so dass dieser
sie, unabhängig von ihrer konkreten technischen Implementierung, nutzen kann.
Entsprechend bleibt die technische Realisierung der angebotenen Leistung dem
Service Consumer verborgen [MLMB2006, 12].
2.4.2.5
Servicevertrag
Der Servicevertrag (Service Contract) stellt eine Vereinbarung zwischen zwei
oder mehreren Teilnehmern einer Leistung dar [MLMB2006, 24; Erl2005, 37].
Mit Teilnehmern sind in diesem Fall Services und Service Consumer gemeint. Im
Servicevertrag wird der Zweck, die Funktionalität, sowie die Bedingungen für
eine Verwendung des Services spezifiziert [KrBS2005, 59]. Im einzelnen können
dazu unter anderem Vereinbarungen zur Qualität der angebotenen Leistung, zur
Schnittstelle über die diese bereitgestellt wird, bis hin zu wirtschaftlichen Verein-
barungen gehören [MLMB2006, 24].
Mit dem Vertrag verbunden ist dadurch auch eine messbare Definition, der
Anforderungen und Erwartungen zweier oder mehrerer Parteien (Service, Service
Consumer, Service Provider) [MLMB2006, 24]. Aufgrund dessen muss, als
Grundlage der Interaktion mit einem Service, immer ein derartiger Servicever-
trag existieren [KrBS2005, 60; Erl2005, 291]. Er kann sowohl in maschinell les-
barer Form verfasst sein, als auch in verbaler Form [MLMB2006, 24].
2.4.3
Ausführungskontext
Die Durchführung von Interaktionen mit einem Service erfolgt immer in einem
Ausführungskontext [MLMB2006, 8]. Der Ausführungskontext repräsentiert die
Gesamtheit der Elemente, welche den Kontext der Ausführung einer Interaktion
bilden [MLMB2006, 24]. Er beinhaltet als wesentliche Bestandteile die Infra-
strukturelemente, Richtlinien und Übereinkünfte, welche im Rahmen der Inter-
aktion als Grundlage der Vermittlung zwischen den teilnehmenden Parteien
gelten [MLMB2006, 24f]. Der Ausführungskontext kann außerdem von dritten

Grundlagen serviceorientierter Architekturen
14
Parteien aufgestellte Regeln und Einschränkungen einbeziehen (z.B. Gesetze,
Vorschriften) [MLMB2006, 25].
Da jede Service Instanz sich in einem eigenen Ausführungskontext befindet, er-
laubt dieser auch die Unterscheidung unterschiedlicher Instanzen desselben
Services [MLMB2006, 25]. Die Bedingungen des Ausführungskontextes können
im Laufe einer Interaktion variieren. Beispielsweise wäre es möglich, dass die
Interaktionspartner ab einem bestimmten Schritt der Interaktion entscheiden,
dass Nachrichten ab sofort nur noch verschlüsselt übertragen werden
[MLMB2006, 25].
2.5
Konzepte
Im Zusammenhang mit ihren Bestandteilen (vgl. 2.4), sind serviceorientierte
Architekturen gekennzeichnet durch verschiedene Grundkonzepte. Als elemen-
tare Konzepte sind hier die Sichtbarkeit, die Interaktion und der Realwelt Effekt
zu nennen [MLMB2006, 8]. Sie repräsentieren Schlüsselkonzepte für service-
orientierte Architekturen und beziehen sich vor allem auf die Services und auf
deren Interaktion.
2.5.1
Sichtbarkeit
Wie in der Realwelt, müssen als Voraussetzung für eine Interaktion zwischen
dem Nachfrager und dem Anbieter einer Leistung bestimmte Bedingungen erfüllt
sein und Informationen über die Interaktionspartner vorliegen [MLMB2006, 8;
MLMB2006, 13]. Um diese, unter dem Aspekt der Sichtbarkeit zusammenge-
fassten, Voraussetzungen gewährleisten zu können, werden die Servicebeschrei-
bungen bereitgestellt (vgl. 2.4.2). Sie enthalten unter anderem Informationen
bezüglich der Funktionen, technischen Anforderungen und Beschränkungen eines
Services [MLMB2006, 8].
Die Sichtbarkeit setzt sich zusammen aus dem Bewusstsein, der Bereitschaft
und der Erreichbarkeit. Diese Aspekte müssen als Voraussetzung für eine erfolg-
reiche Interaktion zwischen deren Teilnehmern erfüllt sein.
2.5.1.1
Bewusstsein
Primäre Voraussetzung für eine Interaktion ist das Bewusstsein der Interaktions-
partner. Sie müssen sich der Existenz des jeweils anderen bewusst sein bzw.
Kenntnis von dessen Existenz haben. Dies impliziert für den Service, als Ver-
mittler der Leistung des Anbieters, das Vorhandensein einer Beschreibung und
einer Policy der Leistungen (vgl. 2.4.2) [MLMB2006, 14f].

Grundlagen serviceorientierter Architekturen
15
Im Gesamtkontext einer serviceorientierten Architektur setzt dies darüber hinaus
die Existenz von Möglichkeiten des Zugangs zu solchen Informationen voraus,
damit potenzielle Service Consumer die Services identifizieren können, welche
für spezifische Aufgaben geeignet sind [MLMB2006, 14f]. Eine Möglichkeit ent-
sprechende Informationen zugänglich zu machen, kann zum Beispiel ein Servi-
ceverzeichnis (Service Repository) sein, das einen Überblick einschließlich einer
Beschreibung verfügbarer Services bietet [Erl2005, 44].
Bewusstsein bedeutet allerdings nicht zwangsläufig, dass die Interaktionspartner
auch miteinander interagieren wollen (Aspekt der Bereitschaft) oder technisch
dazu in der Lage sind (Aspekt der Erreichbarkeit).
2.5.1.2
Bereitschaft
Neben den Informationen, welche die Teilnehmer als Grundlage für eine Inter-
aktion benötigen, ist eine zweite Voraussetzung für die Sichtbarkeit die gemein-
same Bereitschaft der Teilnehmer, miteinander zu interagieren. Die Initiierung
und Durchführung einer Interaktion mit einem Service stellt demzufolge immer
eine bewusste Handlung dar [MLMB2006, 15]. Der Aspekt der Bereitschaft be-
schränkt sich dabei auf die Interaktion selbst und meint nicht die Bereitschaft
der tatsächlichen Erbringung oder Nutzung einer Leistung. Die Regelung der Be-
dingungen einer Bereitschaft zur Interaktion, erfolgt über die Policies im Rahmen
der Servicebeschreibung [MLMB2006, 15].
2.5.1.3
Erreichbarkeit
Das Bewusstsein der Teilnehmer einer Interaktion für die Existenz des jeweils
anderen sowie die Bereitschaft miteinander zu interagieren, reichen für die
Durchführung der Interaktion alleine nicht aus. Zusätzlich müssen die notwen-
digen technischen Rahmenbedingungen für eine Interaktion erfüllt sein.
Als dritte Voraussetzung für die Sichtbarkeit ist es daher erforderlich, dass die
Interaktionspartner grundsätzlich in der Lage sind, miteinander zu interagieren.
Dies erfordert auf technischer Ebene insbesondere die Möglichkeit der Kommuni-
kation, um Informationen, etwa in Form von Nachrichten, austauschen zu kön-
nen. Andernfalls kann etwa das Fehlen einer Kommunikationsverbindung zwi-
schen Service Consumer und Service auch bei vorhandenem Bewusstsein und
Bereitschaft eine Interaktion verhindern [MLMB2006, 15].
2.5.2
Interaktion
Das Konzept der Interaktion beschreibt die Art und Weise, in der eine angebote-
ne Leistung im Rahmen einer serviceorientierten Architektur nutzbar ist
[MLMB2006, 8]. Zu diesem Zweck findet eine Interaktion zwischen dem Service

Grundlagen serviceorientierter Architekturen
16
Consumer und dem Service statt. Diese erfolgt in Form eines Austauschs von
Nachrichten zwischen den beiden Parteien [MLMB2006, 8; MLMB2006, 15].
Das Referenzmodell serviceorientierter Architekturen definiert im Zusammen-
hang mit dem Konzept der Interaktion weiterhin das Informationsmodell und das
Verhaltensmodell. Das Informationsmodell [MLMB2006, 16f] beinhaltet Aspekte
im Bezug auf die Informationen, die mit einem Service ausgetauscht werden
können. Es beschreibt die Struktur und die Semantik der ausgetauschten Nach-
richten, als Grundlage der effektiven Kommunikation mit dem Service. Das Ver-
haltensmodell [MLMB2006, 17f] beinhaltet Aspekte im Hinblick auf die Aktionen,
die ein Service zur Verfügung stellt. Es fokussiert besonders die Kenntnis der
Aktionen und ihrer Rückgaben (Aktionsmodell) sowie die zeitlichen Abhängig-
keiten zwischen den Aktionen und Ereignissen im Rahmen einer Service-
interaktion (Prozessmodell).
2.5.3
Realwelt Effekt
Der Realwelt Effekt bezeichnet den Effekt, der als Resultat einer Interaktion
eines Service Consumers mit einem Service eintritt [MLMB2006, 8]. Der Realwelt
Effekt beschreibt somit die Auswirkungen der Nutzung des Services bzw. der von
dem Service bereitgestellten Leistung. Die Erreichung eines solchen Effektes
durch die Verwendung des Services, ist das Ziel einer Interaktion mit dem Ser-
vice. Dieses Ziel wird mit der Erbringung der mit dem Service assoziierten Leis-
tung durch den Service Provider erfüllt [MLMB2006, 18]. Ein Realwelt Effekt
wäre beispielsweise die Antwort auf eine spezifische Anfrage, die Änderung des
Zustandes einer Entität, oder die Rückgabe bestimmter Informationen
[MLMB2006, 8].
Eine Beschreibung des Realwelt Effektes sollte Bestandteil der Servicebe-
schreibung sein. Sie zeigt dem Service Consumer, welche Effekte ein Service
bewirken kann und ob er damit die vom Service Consumer gewünschten Funkti-
onalitäten erfüllt [MLMB2006, 8].
2.6
Aufbau und Kontext
Im Kontext von Unternehmen, wird das Konzept der Serviceorientierung (vgl.
2.2) und die damit verbundenen Elemente (vgl. 2.4) und Konzepte (vgl. 2.5),
auf die Unternehmenslogik angewendet. Die Unternehmenslogik setzt sich zu-
sammen aus den Bereichen Geschäftslogik und Anwendungslogik (vgl. Abbildung
2.2). Beide Bereiche ändern sich kontinuierlich und unterliegen sowohl internen
als auch externen Einflüssen [Erl2005, 280].

Grundlagen serviceorientierter Architekturen
17
Abbildung 2.2: Aufbau der Unternehmenslogik
Quelle: in Anlehnung an [Erl2005, 281]
Die Geschäftslogik umfasst nach [Erl2005, 281], ausgehend von den Geschäfts-
bereichen des Unternehmens, eine Dokumentation der implementierten Ge-
schäftsanforderungen. Die Geschäftsanforderungen drücken sich in den Ge-
schäftsprozessen aus. Diese bilden, einschließlich der geltenden Einschrän-
kungen, vorhandenen Abhängigkeiten sowie den äußeren Einflüssen, in ihrer
Gesamtheit die Geschäftslogik [Erl2005, 281].
Die Anwendungslogik stellt eine Implementierung der Geschäftslogik in Form
unterschiedlicher technischer Lösungen dar [Erl2005, 281]. Im Rahmen der An-
wendungslogik werden Geschäftsprozessabläufe durch eingekaufte oder selbst-
entwickelte Softwaresysteme (Anwendungen) repräsentiert. Die Grenzen der
Anwendungslogik bildet die gesamte IT-Infrastruktur des Unternehmens. Dazu
zählen auch die Sicherheitsbeschränkungen der Infrastruktur, die technischen
Fähigkeiten ihrer Bestandteile und gegebenenfalls vorhandene Abhängigkeiten
von Anbietern einzelner Bestandteile [Erl2005, 288].
Im Kontext der Serviceorientierung, kann als dritter Bereich in einer Orga-
nisation die Servicelogik betrachtet werden. Sie besteht zwischen Geschäfts- und
Anwendungslogik und dient im Sinne des Paradigmas der Serviceorientierung
(vgl. 2.2) zur Vermittlung zwischen den Anbietern von Leistungen und deren
Nachfragern innerhalb von Geschäftsprozessen. Die Servicelogik repräsentiert
damit eine neue Konzeption, besonders im Bezug auf das Verständnis und die

Grundlagen serviceorientierter Architekturen
18
Repräsentation der Unternehmenslogik [Erl2005, 281]. Sie überträgt das Para-
digma der Serviceorientierung auf Unternehmen.
Abbildung 2.3: Aufbau einer serviceorientierten Architektur
Quelle: in Anlehnung an [Erl2005, 282]
Die drei Bereiche unterscheiden sich jedoch nicht nur hinsichtlich ihrer Konzep-
tion. Vielmehr variieren sie auch bezüglich der Technologien, mit denen sie sich
umsetzen lassen [MLMB2006, 9]. Zu betonen ist, dass Serviceorientierung ein
allgemeines Konzept darstellt, welches nicht an konkrete Technologien gebunden
ist. Die technische Umsetzung kann somit auf unterschiedliche Weise erfolgen
[KrBS2005, 14].
Die Darstellung einer serviceorientierten Gesamtarchitektur, kann demnach in
Form eines dreischichtigen Modells erfolgen (vgl. Abbildung 2.3). Das Modell
umfasst die Anwendungslogik in Form einer Anwendungsschicht, die Servicelogik
in Form einer Serviceschicht und die Geschäftslogik in Form einer Prozessschicht

Grundlagen serviceorientierter Architekturen
19
[Erl2005, 281; Arsa2004]. Alle drei Schichten einschließlich ihrer Bestandteile
und Beziehungen, sind Gegenstand der nächsten Abschnitte.
2.6.1
Anwendungsschicht
Die Anwendungsschicht bildet das Fundament einer serviceorientierten Archi-
tektur. Sie stellt die niedrigste Abstraktionsstufe, bezüglich der technischen Rea-
lisation von Leistungen, im Kontext einer serviceorientierten Architektur dar. Als
Anwendung kann eine Menge von Softwareartefakten gesehen werden, die eine
bestimmte Funktionalitäten umsetzen [KrBS2005, 56]. Diese Funktionalitäten
repräsentieren die Leistung, welche von einer Anwendung erstellt wird.
Die verschiedenen in einem Unternehmen eingesetzten Softwaresysteme bzw.
Anwendungen, bestehen aus unterschiedlichen Artefakten, wie etwa Klassen
oder Komponenten. Sie grenzen sich vor allem was ihre Funktionalität und die
ihnen jeweils zugrunde liegende technische Plattform betrifft (z.B. JAVA EE,
.NET), voneinander ab [Erl2005, 282]. Die Gesamtheit aller Anwendungen in
einem Unternehmen wird auch mit dem Begriff der Anwendungslandschaft be-
zeichnet [KrBS2005, 56].
2.6.2
Serviceschicht
Die Serviceschicht bildet sich aus der Gesamtheit der Services, die in einer
serviceorientierten Architektur existieren. Jeder Service stellt eine logische, in
sich geschlossene Einheit dar, welche eine bestimmte Anwendungsfunktionalität
kapselt und zur Verfügung stellt (vgl. 2.4.1) [Erl2005, 282]. Die Realisation der
Anwendungsfunktionalität erfolgt auf der Anwendungsschicht (vgl. 2.6.1)
[Erl2005, 283]. Der Service ermöglicht es den Prozessen der Prozessschicht (vgl.
2.6.3), auf die Funktionalitäten zuzugreifen, welche sie zur Durchführung ihrer
jeweiligen Aufgabe benötigen [Erl2005, 281f]. Auf diese Weise bildet die Servi-
ceschicht eine Abstraktionsebene zwischen der Anwendungsschicht und der
Prozessschicht
[Erl2005, 281].
Services können innerhalb der Serviceschicht aggregiert werden. Somit ist es
möglich, dass ein Service mehrere andere Services und die von Ihnen bereitge-
stellten Funktionalitäten kapselt. Dementsprechend lassen sich innerhalb der
Serviceschicht weitere (optionale) Subschichten unterteilen, die jeweils eigene
Abstraktionsebenen darstellen (vgl. Abbildung 2.4) [Erl2005, 282]. Die Sub-
schichten der Serviceschicht umfassen die Anwendungsserviceschicht, Ge-
schäftsserviceschicht und die Orchestrierungsserviceschicht.

Grundlagen serviceorientierter Architekturen
20
Abbildung 2.4: Subschichten der Serviceschicht
Quelle: in Anlehnung an [Erl2005, 337]
2.6.2.1
Anwendungsserviceschicht
Die in dieser Subschicht existenten Services werden auch als Anwendungs-
services bezeichnet. Sie kapseln einfache, wiederverwendbare Funktionalitäten,
welche durch die Anwendungsschicht
(vgl. 2.6.1) realisiert werden [Erl2005,
337].
Die Anwendungsservices setzen damit direkt auf den vorhandenen Anwendungen
auf, indem sie einzelne Funktionalitäten dieser bereitstellen, welche für unter-
schiedliche Aufgaben wiederverwendbar sind. Zusätzlich können eingekaufte
Anwendungsservices von proprietären Herstellern Bestandteil dieser Schicht sein
[Erl2005, 338f]. Die Anwendungsservices fungieren damit prinzipiell als Werk-
zeuge, welche für die Realisation komplexerer Aufgaben im Rahmen der nächst-
höheren Subschicht (Geschäftsserviceschicht), verwendbar sind. Sie können
auch aus anderen, Anwendungsservices zusammengesetzt sein [Erl2005, 338f].
2.6.2.2
Geschäftsserviceschicht
Die Geschäftsserviceschicht enthält die eigentlichen Geschäftsservices. Diese
bilden aus Funktionalitäten der darunter liegenden Anwendungsservices Teile der
Geschäftslogik, welche im Rahmen der Durchführung von Geschäftsprozessen
auf der Prozessschicht verwendet wird. Ein Geschäftsservice repräsentiert somit
einen spezifischen Teil der Geschäftslogik, der von den darunter liegenden An-
wendungsservices realisiert wird. Geschäftsservices grenzen sich daher von
Anwendungsservices ab, welche eher technische Funktionalitäten kapseln und
bereitstellen. Die Geschäftsservices bilden den Kern einer serviceorientierten
Architektur [Erl2005, 341].
Die Services können unterschieden werden in aufgabenzentrierte sowie enti-
tätenzentrierte Geschäftsservices. Aufgabenzentrierte Geschäftsservices stellen
Geschäftslogik bereit, die Bestandteil einer konkreten Aktivität im Kontext eines

Grundlagen serviceorientierter Architekturen
21
Geschäftsprozesses ist. Entitätenzentrierte Geschäftsservices stellen die Ge-
schäftslogik bereit, die zu einer Entität (z.B. einer Rechnung) gehört [Erl2005,
342].
2.6.2.3
Orchestrierungsserviceschicht
Wie in der Realwelt auch, besteht zwischen dem Leistungsangebot einzelner An-
bieter - in diesem Fall repräsentiert durch Services - und dem Bedarf einzelner
Nachfrager - in diesem Fall repräsentiert durch die Aktivitäten eines Prozesses -
nicht zwangsläufig eine eindeutige Beziehung. Das bedeutet, es reicht nicht im-
mer die Leistung eines einzelnen Anbieters aus, um ein Bedürfnis zu befriedigen.
Daher kann es aus Nachfragersicht notwendig sein, für die Erfüllung eines be-
stimmten Bedürfnisses die Leistungen mehrerer Anbieter in Anspruch zu neh-
men.
Im Bezug auf Services in einer serviceorientierten Architektur kann es infolge-
dessen erforderlich sein, die von unterschiedlichen Services bereitgestellten
Funktionalitäten zu kombinieren [MLMB2006, 8]. Die Kombination der Funktio-
nalitäten mehrerer Services durch einen einzelnen, übergeordneten Service, wird
als Orchestrierung bezeichnet [Erl2005, 200f]. Sie findet auf der Orchestrie-
rungsserviceschicht statt. Dabei können orchestrierte Services auch wieder Be-
standteil größerer Serviceorchestrierungen sein. Die Granularität ist hierbei vari-
abel und kann von einfachen Orchestrierungen, die nur einige wenige Services
kapseln, bis hin zu hochkomplexen Orchestrierungen reichen, welche die Funkti-
onalität einer Vielzahl von Services repräsentieren [MLMB2006, 8].
Durch Orchestrierung werden zusammengesetzte Services geschaffen, die sich,
was die durch sie repräsentierten Funktionalitäten betrifft, an den konkreten
Aktivitäten von Geschäftsprozessen orientieren. Die Orchestrierungsservice-
schicht verknüpft damit die Geschäftslogik der Prozessschicht (vgl. 2.6.3) mit
der Servicelogik auf der Serviceschicht (vgl. 2.6.2)
[Erl2005, 344].
2.6.3
Prozessschicht
Die Prozessschicht beinhaltet die Geschäftsprozesse eines Unternehmens, ein-
schließlich der Aktivitäten, aus denen diese bestehen [Erl2005, 288]. Die Pro-
zessschicht wird zum Teil auch als Geschäftsprozessschicht bezeichnet. Für die
Durchführung der einzelnen Aktivitäten werden die Leistungen technischer Sys-
teme benötigt. Diese Leistungen werden durch die vorhandenen Software-
systeme auf der Anwendungsschicht realisiert (vgl. 2.6.1) und sind über die
Services der Serviceschicht
(vgl. 2.6.2), im Rahmen von Geschäftsprozessen
nutzbar.

Details

Seiten
Erscheinungsform
Originalausgabe
Jahr
2007
ISBN (eBook)
9783836604086
DOI
10.3239/9783836604086
Dateigröße
1.6 MB
Sprache
Deutsch
Institution / Hochschule
Universität Duisburg-Essen – Wirtschaftswissenschaft
Erscheinungsdatum
2007 (Juni)
Note
1,0
Schlagworte
serviceorientierte architektur visualisierung software informatik unified modeling language stakeholder
Zurück

Titel: Dynamische Visualisierung serviceorientierter Architekturen
book preview page numper 1
book preview page numper 2
book preview page numper 3
book preview page numper 4
book preview page numper 5
book preview page numper 6
book preview page numper 7
book preview page numper 8
book preview page numper 9
book preview page numper 10
book preview page numper 11
book preview page numper 12
book preview page numper 13
book preview page numper 14
book preview page numper 15
book preview page numper 16
book preview page numper 17
book preview page numper 18
book preview page numper 19
book preview page numper 20
book preview page numper 21
book preview page numper 22
book preview page numper 23
book preview page numper 24
book preview page numper 25
book preview page numper 26
book preview page numper 27
128 Seiten
Cookie-Einstellungen