Das Thema serviceorientierte Architektur (SOA) ist keineswegs neu – es wurde zuerst lediglich als Hype für Web Services betrachtet. Mit «Composite Applications› können diese Services jetzt aber einfach zu neuen Applikationen orchestriert
werden.
Artikel Netzguide: SOA als Grundlage für "Composite Applications"
1. In letzter Zeit ist der Begriff der «Composite
Applications» im Internet immer häufiger
aufgetaucht. Er bedeutet im Allgemeinen,
dass man die Business-Services – wie sie eine
SOA definiert – mit Hilfe von Business-Pro-
zessen ohne Programmierung zu neuen Ap-
plikationen zusammenstellt. Diese Prozesse
werden von den Business-Verantwortlichen
selbst modelliert und trennen die Applika-
tionslogik klar von der Implementierung der
einzelnen Komponenten. Dank der Standar-
disierung der Schnittstellen und Prozesse
ist es nun möglich, neue Geschäftsanforde-
rungen durch wiederverwendbare Module
schnell und effizient zu realisieren.
Die Standards rund um SOA sind mittler-
weile soweit festgelegt, dass die Module zu-
sammen mit den einzelnen Geschäftsberei-
chen definiert und anschliessend zentral ver-
waltet werden können. Man unterscheidet
dabei zwischen den Basis-Services, die die
Schnittstellen zu den externen Systemen re-
präsentieren,unddeneigentlichenBusiness-
Services. Diese entstehen aus den Basis-Ser-
vices und werden in enger Zusammenarbeit
mit den Verantwortlichen entwickelt.
Warum Composite Applications?
Das Business stellt immer höhere Anforde-
rungen an die IT. Die Folge: Die Applikatio-
nen werden immer komplexer und müssen
immer schneller realisiert sein. Die Informa-
tik hat drei Möglichkeiten, um darauf zu re-
agieren:
• Entwickeln von kundenspezifischen
Applikationen von Grund auf
• Lizenzieren und Anpassen von eingekauf-
ten Lösungen
• Erweitern und Anpassen von bestehenden
Produkten
Laut Gartner werden jährlich weltweit rund
eine Billion Dollar in IT-Projekte investiert.
Davon werden rund 60 Prozent für den Un-
terhalt von bestehenden Applikationen und
30 Prozent für gescheiterte Projekte ausge-
geben. Aus lediglich 10 Prozent der Investi-
SOA als Grundlage für
«Composite Applications»
Das Thema serviceorientierte Architektur (SOA) ist keineswegs neu – es wurde zuerst
lediglich als Hype für Web Services betrachtet. Mit «Composite Applications› können
diese Services jetzt aber einfach zu neuen Applikationen orchestriert werden. Peter Affolter
Composite Applications
Die benötigten Komponenten einer auf SOA basierenden Composite Application
2
Peter Affolter
ist Elektro- und Software-
Ingenieur und arbeitet seit gut
15 Jahren in der Software-
Entwicklung. Davon ist er seit
10 Jahren im Consulting-
Bereich für Java tätig, unter
anderem für Netscape,
Silverstream und BEA-Systems.
Seit Februar 2006 ist er als
Software Architekt für Sun
Microsystems (Schweiz) AG im
Einsatz.
2. tionen werden erfolgreiche Projekte. Die ho-
he Fehlerquote rührt daher, dass alle drei er-
wähnten Methoden ihre Nachteile haben:
• Die Neuentwicklung von Applikationen
bedeutet einen riesigen Aufwand be-
züglich Kosten und Zeit. Sie halten sich
oft nicht an Standards und sind später
schlecht integrierbar.
• Eingekaufte Lösungen entsprechen nie ge-
nau den Anforderungen und müssen an-
gepasst und integriert werden, was Risiken
und ebenfalls hohe Kosten mit sich bringt.
• Das Umbauen von meist alten, unflexib-
len, monolithischen Lösungen ist sehr auf-
wändig.
Composite Applications sind prozessorien-
tierte Lösungen auf SOA-Basis, im Gegen-
satz zu den herkömmlichen produktorien-
tierten Applikationen. Dieser Ansatz sepa-
riert den Business-Prozess von den Systemen
und modularisiert die einzelnen Funktionen
in selbstständige Services. Sie verbinden die
Vorteile von neuen Applikationen mit Teilen
aus eingekauften Lösungen. Basierend auf
einer gemeinsamen Plattform können Com-
posite Applications einfach mit bestehenden
Applikationen integriert werden.
Um erfolgreiche Informatik-Projekte zu
realisieren, ist es unumgänglich eine einfa-
che Methodik anzuwenden, rechtzeitig alle
Betroffenen einzubeziehen (Governance)
und eine klare Architektur aufzubauen. Ein
systematischer Ansatz, um Composite Ap-
plications erfolgreich, termingerecht und in-
nerhalb des Budgets zu realisieren, braucht
ein klares Vorgehen wie es von SOA definiert
wird.
Weitere Module erforderlich
Das Konzept von SOA ist nicht neu. Schon
CommonObjectRequestBrokerArchitecture
(CORBA) und Microsofts Component Object
Model (COM) stellten SOA Funktionalitäten
zur Verfügung. Da beide Architekturen aber
eng gekoppelt und proprietär waren, konn-
te sich keine echte SOA etablieren. Eben-
so reicht es nicht aus, einfach nur Services
(Web Services, .NET, CORBA, COM) und ei-
nen Enterprise Service Bus (ESB) zu haben,
um SOA zu implementieren. Neben der Go-
vernance und den erwähnten Basis-Kompo-
nenten sind noch weitere Module zwingend
erforderlich: So zum Beispiel ein Integra-
tions-Layer mit Konnektoren zu Legacy-Sys-
temen und B2B-Integrationen. Ebenfalls ist
ein Business-Process-Management(BPM)-
Layer zur Orchestrierung und natürlich der
Präsentations-Layer mit Views, Portalen und
Business Activity Monitoring (BAM) notwen-
dig. Flankierende Komponenten wie Identi-
ty Management, Configuration, Monitoring
und Development dürfen keinesfalls ausser
Acht gelassen werden.
Der wichtigste Erfolgsfaktor bei der Ein-
führung einer SOA ist die Implementierung
der klar definierten Layer, die auf offenen
Standards und Technologien beruhen. Heu-
te sind für alle Layer die entsprechenden
Standards wie J2EE, Web Services, BPEL, JSP
und Portale verfügbar. Ebenso ist es wichtig,
einen pragmatischen Ansatz von SOA (Prag-
matic SOA) zu wählen, und einzelne Kompo-
nentenschrittweisealsServiceszudefinieren
und wiederzuverwenden.
JBI (Java Business Integration; JSR 208)
ist ein Standard der Zukunft, der den Erfolg
von SOA weiter unterstützen wird. JBI defi-
niert eine offene und pluggable Architektur
für Integrationen und SOA. Dies erlaubt mit
Hilfe eines «Composite Service Descriptor»
eine Composite Application mit einem einzi-
gen Dokument zu beschreiben, und je nach
Bedürfnissen auf unterschiedlichen Plattfor-
men auszuführen.
«Der wichtigste
Erfolgsfaktor bei der
Einführung einer SOA
ist die Implementierung
klar definierter Layer.»
Um erfolgreiche Informatik-Projekte zu realisieren, ist es unumgänglich, eine klare Architekur aufzubauen
3
Composite Applications