BPEL und SOA Architekturen

Web Services bieten heute eine hervorragende Möglichkeit, Geschäftsprozesse unternehmensweit einzusetzen. Die so genannte Business Process Execution Language (BPEL) stellt neben einer serviceorientierten Architektur (SOA) einen Standard dar, um Business Services im Rahmen eines umfassenden Geschäftsmodells miteinander zu verbinden. Nachfolgender Beitrag gibt einen Einblick in diese Standards.

09.11.2006
Übermittlung Ihrer Stimme...
1 2 3 4 5
4184x angezeigt
IT-Management

Dieser Artikel wurde bereitgestellt von BPM-Guide.de680bpmguide.gif250www.bpm-guide.de1. Wer, Wann, Wo ?Ralph Soika ist Geschäftsführer der Imixs Software Solutions GmbH.2. Woher, Wohin, Warum ?Web

Services bieten heute eine hervorragende Möglichkeit, Geschäftsprozesse im Rahmen einer serviceorientierten Architektur (SOA) unternehmensweit einzusetzen. Die so genannte Business Process Execution

Language (BPEL) stellt neben SOA einen umfangreichen Standard dar, um Business Services im Rahmen eines umfassenden Geschäftsmodells miteinander zu verbinden.3. Was, Wie, Welche Ergebnisse

?GrundlageHeute werden in Unternehmen Web Services eingesetzt, um eine einfache Softwarearchitektur zu realisieren: Funktionen sollen nur einmal im Unternehmen implementiert werden und als "Service"

anderen Programmen zur Verfügung gestellt werden. Dadurch können Redundanzen in der Softwareentwicklung vermieden und somit Kosten gesenkt werden. Gleichzeitig steigert man durch serviceorientierte

Architekturen die Qualität der Software, da jeder Service nur einmal implementiert oder bei sich ändernden Anforderungen angepasst werden muss. Dazu werden die eigentlichen Implementierungsdetails

gekapselt - also vor dem Benutzer des Services verborgen, was wiederum zu einer einfacheren und damit schnelleren Anwendbarkeit der Funktion führt. Benötigt wird für diese Architektur eine

Schnittstellendefinition. Die so genannte Web Services Description Language (WSDL) stellt hier den passenden Standard bereit. WSDL beschreibt einen Service vollständig und liefert Antworten auf die

folgenden Fragen:Wo ist der Service zu finden?Wie wird der Service angesprochen? Welche Funktionen können aufgerufen werden? Welche Datenformate werden unterstützt? Der Servicebenutzer und der

Serviceanbieter sind "lose gekoppelt". Das heißt, beide müssen über die Schnittstellenbeschreibung hinaus nichts voneinander wissen. Genau das macht das Prinzip der serviceorientierten Architektur so

mächtig. BPEL als neuer StandardDie Idee der serviceorientierten Architektur ist im Grunde nicht neu. CORBA hatte vor Jahren denselben Ansatz entwickelt. Der wesentliche Unterschied liegt in den

benutzten Standards. Während CORBA versucht hat, selbst einen neuen Standard durchzusetzen, benutzen Web Services Standards, die durch die Verbreitung des Internets durchgesetzt sind: HTML(s) und

XML. Eine serviceorientierte Architektur dient einer neuen Flexibilität bei der Einführung neuer Verfahren. Man kann neue Anwendungen wesentlich schneller entwickeln, da man nicht alle

Business-Funktionen neu programmieren muss, sondern nur noch existierende Services neu zusammenstellt. Diese so genannte Orchestrierung von Services ist die Kernaufgabe von BPEL. Somit lassen sich

Design und Entwicklung einer Unternehmensanwendung modularisieren und in fachlich verschiedene Bereiche aufteilen. So können einzelne Fachbereiche ihre spezifischen Prozesse definieren und unabhängig

voneinander modellieren, um diese dann anderen Unternehmensbereichen als Service zur Verfügung zu stellen. Durch die Verwendung solcher "querschnittlich" genutzten Services wird sichergestellt, dass

alle darauf zugreifenden Prozesse die gleiche Version nutzen. Ändert sich das Verfahren, weil zum Beispiel neue gesetzliche Bestimmungen oder Firmen interne Entscheidungen oder Änderungen mit sich

bringen, muss der Service nur einmal geändert werden und steht dann automatisch allen Prozessen zur Verfügung. Damit kann eine durchgängigere Qualität der Software sichergestellt werden. Beispiel:

Ein Bonitäts-Service, der die Bonität von Kunden prüft und in zahlreichen Anwendungen benutzt werden soll, muss nur einmal als Service bereitgestellt werden. Ändern sich die Anforderungen, zum

Beispiel durch die Einführung eines weiteren Bonitätsprüfungsverfahren, kann der Service zentral angepasst werden und steht sofort in allen Anwendungen mit dem neuen Verfahren zur Verfügung. Die

Anwendungen müssen nicht angepasst werden. Eine Hürde, die im Unternehmen genommen werden muss, um erfolgreich serviceorientierte Architektur einzuführen, ist organisatorischer Natur. Die Art und

Weise, wie neue Softwareprojekte im Unternehmen geplant, umgesetzt und finanziert werden, muss sich an einen serviceorientierten Ansatz erst anpassen. Heute wird ein typisches Softwareprojekt meist

von einem Fachbereich finanziert und dementsprechend auch isoliert als "Silo-Anwendung" umgesetzt. Dabei werden auch meist nur die Anforderungen des Fachbereichs gesehen und unternehmensweite

Anforderungen "ausgeblendet".Bei einer serviceorientierten Architektur müssen bei solchen Projekten unternehmensweite Anforderungen untersucht werden, die anhand der folgenden beiden Fragen deutlich

werden: Welche existierenden Services im Unternehmen können genutzt werden? Welche neuen Services können unternehmensweit angeboten werden?Es wird hier schnell ersichtlich, welches enorme

Einsparungspotential bei konsequentem Einsatz dieser Technologie für ein Unternehmen erschließbar ist. BPEL - Technologie für SOAEs stellt sich nun die Frage, wie existierende und neue Services zu

einem kompletten Geschäftsprozess zusammengestellt werden können. BPEL beantwortet genau diese Frage. Die wesentliche Aufgabe des BPEL Standards besteht darin, aus vielen Services einen neuen

"übergeordneten" Service zu erstellen. Die Entwicklung von BPEL begann bereits 2002 und heute wird BPEL von allen großen IT-Unternehmen wie IBM, Oracle, Sun, SAP oder Mircrosoft unterstützt. BPEL

selbst ist dabei ein einfach strukturierter XML Dialekt, was bedeutet, dass jeder BPEL Prozess stets als XML Datei vorliegt. Der XML basierte Standard der Definition von Geschäftsprozessen hat

gegenüber bisherigen Verfahren den Vorteil, dass sich die einmal erstellten Prozesse leicht auf andere Prozessmanager portieren lassen, sofern diese den BPEL Standard unterstützen. Auch bei der

Erstellung von Geschäftsprozessen im Team kann praktisch jedes Versionsverwaltungswerkzeug eingesetzt werden. Jeder BPEL Prozess ist stets selbst wieder ein Service im Sinne von SOA. Dadurch lassen

sich einmal orchestrierte Prozesse selbst wieder in noch höhere Geschäftsprozesse einbinden. Der Art der so definierten Prozessebenen sind keine Grenzen gesetzt. Es können also stets, den fachlichen

Anforderungen entsprechend, neue Funktionen zusammengestellt werden und so Geschäftsprozesse in jeder Unternehmensebene abgebildet werden. Die in einen BPEL Prozess eingebundenen Services können

dabei technologiegetrieben sein, wie zum Beispiel eine technische Schnittstelle zu einem Hostsystem, oder organisatorischer Natur sein, wie beispielsweise ein Workflow-Service, um manuelle

Prozessschritte in einem Genehmigungsverfahren abzuarbeiten. Wichtig ist es dabei, stets die Charakteristik einer Service orientierten Architektur im Auge zu behalten und alle Services nach allgemein

gültigen Funktionen im Unternehmen aufzubauen. Nur so kann gewährleistet werden, dass bei sich ändernden Geschäftsabläufen schnell und flexibel reagiert werden kann und nicht erst neue Services

erstellt werden müssen. Hochverfügbare, skalierbare ProzessumgebungenBPEL ist eine relativ neue Sprache, welche sich durch ihren XML-Charakter zunächst einmal von anderen Programmiersprachen

unterscheidet. Moderne Entwicklungsumgebungen bieten daher Modellierungswerkzeuge an, um das Erstellen von Geschäftsprozessen so transparent wie möglich zu machen. So kann ein Fachbereich oder auch

eine übergeordnete Organisationsebene die Prozesse mit wenig Aufwand selbst modellieren. Der so genannte Prozessmodellierer erstellt dabei mit einem grafischen Editor und der Benutzung von Wizards

die einzelnen Abläufe. Durch den XML Standard können die Prozesse mit unterschiedlichsten Werkzeugen bearbeitet werden, ohne dass die Daten angepasst werden müssen. Die Entwicklungsumgebung generiert

dann den entsprechenden BPEL Code, der auf einen BPEL Server übertragen wird. Dieses so genannte Deployment des Prozesses erfolgt in einer J2EE Umgebung, welche die entsprechenden Container für eine

Ablaufumgebung bereitstellt. Dazu zählt in der Regel auch eine Datenbank, in der die Prozessdaten gespeichert werden. Durch den J2EE Ansatz sind die Bedingungen an eine hochverfügbare und vor allem

skalierbare Steuerungssoftware voll erfüllt. Durch die Transaktionsunterstützung solcher Systeme lassen sich auch lang laufende Prozesse, die beispielsweise mehrere Tage dauern, transparent abbilden.

Somit existiert mit BPEL heute ein umfangreicher Standard, um Business Services entlang kompletter Prozesse miteinander zu verbinden. Durch den Einsatz entsprechender Tools können Geschäftsprozesse

und fachliche Verfahren sehr schnell elektronisch implementiert werden. Durch den hohen Grad an Wiederverwendbarkeit innerhalb einer Service orientierten Systemlandschaft bietet BPEL entscheidende

Kostenvorteile gegenüber anderen Architekturen. Die Imixs Software Solutions GmbH hat sich als Softwareunternehmen auf die Konzeption, Entwicklung und Betreuung unternehmensweiter Softwarelösungen

spezialisiert. Neben Dienstleistungen im Bereich der Softwarekonzeption und Entwicklung bietet die Imixs Software Solutions GmbH flexible Lösungen aus dem Bereich Workflow und Content Management

Systeme (CMS) an. Weitere Informationen zu diesen Technologien sowie unserem Open Source Projekt finden Sie unter: 248www.imixs.com 249www.imixs.org4. Für Wen, unter Welchen Bedingungen ?Der Beitrag

eignet sich insbesondere für Leser, die sich intensiv mit der Web-basierten Orchestrierung unternehmensweiter Geschäftsprozesse befassen. Insbesondere für Interessierte auf den Gebieten

serviceorientierter Architekturen (SOA) und Web-Services bietet dieser Beitrag nützliche Einblicke.5. Wie einzuschätzen ?Ralph Soika erläutert mit seinem Beitrag zu SOA und BPEL die Web-basierte

Orchestrierung von Geschäftsprozessen. Dabei gelingt es ihm, zielgerichtet auf die Vorteile einer solchen Web-basierten Vernetzung einzugehen und gibt dem Leser eine schnellen und nützlichen Einblick

in die BPEL und SOA Architekturen.