Seminararbeit Einbindung von Webservices über BPEL

Größe: px
Ab Seite anzeigen:

Download "Seminararbeit Einbindung von Webservices über BPEL"

Transkript

1 Seminararbeit Einbindung von Webservices über BPEL Julian Harrer IBB4B Hochschule München Sommersemester 2008 Seminar: Integration von Geschäftsprozessen Prof. Dr. Zimmer Torsten München

2 I. Inhaltsverzeichnis 1. Einführung und Zielsetzung Orchestration Business Process Execution Language Entwicklungsgeschichte Konzepte Einordnung Allgemeine Einordnung Einordnung im Schichtenmodell Servicebeschreibung Abstrakte Beschreibung Konkrete Beschreibung Prozessbeschreibung Konstrukte der Prozessbeschreibung Strukturierte Aktivitäten Primitive Aktivitäten Compensation Handler BPEL und SOA Fazit... 25

3 II. Abbildungsverzeichnis: Abbildung 1: Prozessmodellierung ohne Kapselung... 5 Abbildung 2: Prozessmodellierung mit Kapselung... 6 Abbildung 3: Geschichte von WS-BPEL... 6 Abbildung 4: Entstehung von BPEL... 7 Abbildung 5: Einordnung von WS-BPEL im Schichtenmodell... 9 Abbildung 6: WS-BPEL Prozesses Abbildung 7: Compensation Handler Abbildung 8: SOA Schichtenmodell mit eigener Orchestrationsschicht III. Tabellenverzeichnis: Tabelle 1: Elemente der abstrakten Servicebeschreibung Tabelle 2: Elemente der konkreten Beschreibung Tabelle 3: Konstrukte der Prozessbeschreibung Tabelle 4: Strukturierte Aktivitäten Tabelle 5: Primitive Aktivitäten IV. Abkürzungsverzeichnis: B2B...Business to Business B2C...Business to Customer BPEL.Business Process Execution Language BPEL4WS.Business Process Execution Language for Webservices CORBA.Common Object Request Broker Architecture EAI... Enterprise Application Integration FTP...File Transfer Protocol HTTP.Hypertext Transport Protocol SMTP.Simple Mail Transfer Protocol SOA Serviceorientierte Architekturen SOAP.früher: Simple Object Access Protocol WS-BPEL..Webservice Business Process Execution Language WSDL Webservice Description Language WSFL.Webservice Flow Language XML...Extensible Markup Language XLANG...XML Language

4 1. Einleitung und Zielsetzung Das Konzept der Webservices entwickelte sich in den letzten Jahren rasant schnell und etablierte sich in der Welt der verteilten Anwendungen sowohl im B2B als auch im B2C Bereich zum De-facto-Standard. Die Aufgabe solcher Services ist die Bereitstellung einzelner Dienste innerhalb eines Unternehmens oder über Unternehmensgrenzen hinweg. Sie agieren hierbei offtmals als Schnittstelle unterschiedlicher Programmiersprachen und ermöglichen somit eine plattformunabhängige Kommunikation zwischen verschiedenen Softwarekomponenten. In der Praxis können komplexe Aufgaben jedoch kaum über einzelne Services sondern eher über die Komposition mehrerer unabhängiger Webservices gelöst werden. Dabei verschmelzen unterschiedliche Dienste verschiedener Unternehmen oder Serviceanbietern zu einem einheitlichen Geschäftsprozess. Ohne die Einschaltung einer zentralen Workflowlogik müssen diese Prozesse innerhalb der Anwendungsschicht bzw. Geschäftslogik implementiert werden. Die Trennung dieser beiden Ebenen ermöglicht unter anderem eine unabhängige Entwicklung und Wartung der jeweiligen Schicht und erleichtert die Modellierung eines Geschäftsprozesses über eine zentrale Stelle. Kompositionssprachen wie z.b. WS-BPEL oder WSFL übernehmen in komplexen Systemen die Aufgabe der Orchestration (siehe Punkt 2. Orchestration) und repräsentieren innerhalb der Systemarchitektur eine eigene Orchestrationsschicht (vgl. [Erl05], S. 586). Die Kompositionssprache Webservice Business Process Execution Language kurz WS- BPEL wird im laufe dieser Seminararbeit näher betrachtet. Dabei wird kurz auf den geschichtlichen Hintergrund sowie auf die Grundkonzepte dieser Sprache eingegangen. Nach einer Einordung von BPEL folgt eine Beschreibung der wichtigsten Sprachbestandteile. In dem darauf folgenden Kapitel BPEL und SOA wird die Rolle von WS-BPEL innerhalb einer Serviceorientierten Anwendung dargestellt, bevor ein Fazit diese Arbeit abschließt. Ziel dieser Seminararbeit ist nicht die detaillierte Beschreibung aller Sprachbestandteile oder Möglichkeiten von BPEL sondern eher eine Einführung in die grundlegenden Konzepte die sich hinter dieser Sprache verbergen.

5 2.0 Orchestration Der Begriff der Orchestration wird in IT-Systemen verwendet, in denen eine zentrale Steuerungseinheit die Verantwortlichkeit über die Prozesssteuerung übernimmt. Enterprise Application Integration kurz EAI-Middleware-Systeme verwenden dieses Konzept beispielsweise zur Automatisierung von Geschäftsprozessen oder für die Integration von Altsystemen (engl. legacy systemen) (vgl. [Erl05], S. 200). Mithilfe der Webservice-Erweiterungen wie WS-BPEL kann die Orchestration eines Systems über festgelegte Standards integriert werden. Die zugrunde liegende Plattform muss lediglich über eine entsprechende Orchestrationsengine verfügen um bestimmte Prozesse ausführen zu können. Innerhalb der Orchestrationsschicht können unbegrenzt viele Regeln, Konditionen und Ereignisse mithilfe der Prozessbeschreibung (siehe Punkt 3.5 Prozessbeschreibung) festegelegt werden (vgl. [Erl05], S. 200). Es wurde bereits erwähnt, dass über die Einführung einer Orchestrationsschicht die Wartbarkeit von Systemen erleichtert wird, da ein Prozess unabhängig von anderen Systemkomponenten erweitert oder ausgetauscht werden kann. Ein weiterer Vorteil gegenüber der Implementierung in der Anwendungsschicht ist die gesteigerte Übersichtlichkeit der gesamten Systemarchitektur. Jeder Prozess wird über eine einheitliche Schnittstelle von den anderen Schichten getrennt, was zur Folge hat, dass einzelne Webservices nicht mehr über mehrere Schnittstellen angesprochen werden müssen. Diese Aufgabe übernimmt die Orchestrationsschicht. Die folgenden zwei Abbildungen veranschaulichen die beiden unterschiedlichen Konzepte mithilfe einer vereinfachten Darstellung. Abbildung 1: Prozessmodellierung ohne Kapselung (Selbst erstellt)

6 Abbildung 2: Prozessmodellierung mit Kapselung (Selbst erstellt) 3. Business Process Execution Language 3.1 Entwicklungsgeschichte Abbildung 3: Geschichte von WS-BPEL (Selbst erstellt) Die Business Process Execution Language for Web Services (BPEL4WS) wurde mit der Veröffentlichung der Spezifikation BPEL4WS 1.0 im Juli 2002 erstmals der Öffentlichkeit vorgestellt. Zu diesem Zeitpunkt arbeiteten die Unternehmen IBM, Microsoft und BEA Systems zusammen an der Entwicklung dieser Sprache. BPEL übernahm dabei viele Aspekte der beiden Vorgängersprachen WSFL (IBM) und XLANG (Microsoft) auf die weiter unten noch einmal eingegangen wird.

7 Um es Herstellern zu ermöglichen sich an einem offenen Standard und nicht an unterschielichen Spezifikationen zu orientieren übergab man BPEL4WS im April 2003 zur Standardisierung an die OASIS. Mithilfe der Unternehmen SAP und Siebel Systems wurde weniger als ein Jahr nach der ersten Veröffentlichung im Mai 2003 die Erweiterung BPEL4WS 1.1 herausgegeben. Dieser Version wurde von Herstellerseite mehr Aufmerksamkeit gewidmet, was die Entwicklung mehrerer BPEL-kompatibler Orchestrationsengines zur Folge hatte. (vgl. [Erl05], Seite 567) Am 14. September 2004 wurde die Spezifikation aufgrund der Anpassung an andere WS*-Standards wie WSDL oder WS-Addressing in WS-BPEL 2.0 (Webservice Business Process Execution Language) umbenannt. Schließlich endete der Standardisierungsprozess am 11. April (vgl. [Wiki], Stand der Entwicklung ) Bemerkung: Im Folgenden werden die beiden Akronyme BPEL und WS-BPEL synonym verwendet. Abbildung 4 Entstehung von BPEL BPEL XLANG Microsoft WSFL IBM (Selbst erstellt) XLANG: Microsoft veröffentlichte XLANG im Jahr 2001 als Geschäftsprozess-Sprache für das BizTalk ecommerce suite. XLANG ist eine relativ simple XML-basierte Sprache für die Modellierung von Prozessen. Die Servicebeschreibung eines XLANG-Prozesses wird ähnlich wie bei BPEL über ein WSDL-Dokument geregelt. WSFL: Die Web Service Flow Language wurde im Jahr 2001 von IBM aus dem Bedarf nach einem allgemein akzeptieren Standard zur Definition von Geschäftsprozessen herausgegeben. Obwohl sich WSFL in der Industrie kaum durchsetzen konnte gingen einige Grundideen dieser Sprache, wie z.b. das flow-konzept zur Ausführung paralleler Aktivitäten, später in die BPEL Spezifikation ein. (vgl. [Harvey05], S240)

8 3.2 Konzepte WS-BPEL unterstützt zwei unterschiedliche Konzepte. Das Konzept der Beschreibung abstrakter Prozesse: Abstrakte Prozesse dienen ausschließlich der Beschreibung von abstrakten Prozessmodellen. Solche Prozesse müssen als abstrakt gekennzeichnet werden und sind im Gegensatz zu ausführbaren Geschäftsprozessen nicht ablauffähig. Der Prozessesablauf wird hierbei meist nur teilweise festgelegt, wobei konkrete Details vernachlässigt werden können. Abstrakte Prozesse dienen häufig als Vorlage für ausführbare Geschäftsprozesse. (vgl. [SPEZ] ) Das Konzept der Implementierung ausführbarer Geschäftsprozesse: Ausführbare Geschäftsprozesse stellen Dienste zur Erfüllung einer bestimmten Aufgabe zur Verfügung. Dieses Konzept wird im laufe dieser Arbeit noch ausführlicher behandelt. 3.3 Einordnung Allgemeine Einordnung WS-BPEL ist eine XML-basierte Kompositionssprache zur Modellierung von Geschäftsprozessen. Sie ermöglicht eine lang andauernde Kommunikation zwischen mehreren Partnern, wobei der Prozess selbst als eine Art Vermittler zwischen den einzelnen Teilnehmern fungiert. Der BPEL-Prozess stellt dem Client bestimmte Dienste zur Verfügung und nutzt für die Diensterfüllung die Funktionen anderer Services, dies können einzelne Webservices oder wiederum eigenständige Prozesse sein. Nach außen hin tritt der Prozess als einheitlicher Service auf, wobei die eigentliche Umsetztung, also der interne Ablauf des Prozesses verschleiert wird. Eine direkte Interaktion mit einem Menschen ist bei der Kommunikation nicht möglich, da mindestens ein Partner z.b. ein Webservice zwischen Benutzer und Prozess geschaltet wird. Der Benutzer hat also keinen direkten Einfluss auf den Prozessablauf (vgl. [IBM-BPEL4P]). Mithilfe von WS-BPEL wird keine detaillierte Geschäftslogik implementiert sondern ausschließlich der Workflow der beteiligten Komponenten geregelt. In diesem Zusammenhang wird auch oft der Begriff Programmieren im Großen verwendet, da Sprachen wie BPEL eine Ebene über anderen Programmiersprachen wie Java oder C# zum Einsatz kommen. (vgl. [Wiki] )

9 3.3.2 Einordnung in das Schichtenmodell Abbildung 5 Einordung von WS-BPEL im Schichtenmodell (vgl. [Aalst]) Wie in Abbildung 5 zu erkennen ist setzt die Webservice-Kompositionsschicht direkt auf der Webserviceschicht auf. Im Folgenden werden die einzelnen Schichten kurz erläutert. Die Transportschicht stellt die erforderlichen Transportprotokolle für die Kommunikation zwischen den einzelnen Partnern zur verfügung. Neben dem Simple Mail Transfer Protocol (SMTP), das häufig für die -Kommunikation verwendet wird, und das File Transfer Protocol (FTP) ist hier das Hyper Text Transport Protocol (HTTP) zu nennen, das am häufigsten für den Informationsaustausch zwischen Webservices zum Einsatz kommt. Das darüber liegende SOAP Protokoll ist jedoch an kein bestimmtes Transportprotokoll gebunden weshalb auch andere Standards verwendet werden könnten. Die ausgetauschten Nachrichten werden in Form einer SOAP-Message übermittelt. Das SOAP (ursprünglich Simple Object Access Protocol) Protokoll dient der Beschreibung eines XML-Nachrichtformats. Hiermit können entweder ganze XML-Formate übermittelt oder Methoden mithilfe von Remote Procedure Calls aufgerufen werden. (vgl. [Erl05] S. 146) Die Servicebeschreibung wird in Form eines WSDL-Dokuments hinterlegt. WSDL dient als Schnittstelle zwischen dem Prozess und den beteiligten Partnern. (siehe Punk 3.4 Servicebeschreibung) Direkt über dieser Webserviceschicht angesiedelt, übernehmen Kompositionssprachen wie WS-BPEL die Aufgabe der Webservice-Komposition bzw. Orchestration. (siehe Punkt 3.5 Prozessbeschreibung)

10 Die Publication and Discoveryschicht stellt ein Webservice-Repository zur Verfügung, dass zur Auffindung von Webservices verwendet werden kann. Die folgende Darstellung verdeutlicht die Rolle von SOAP und WSDL bei der Kommunikation mit einem WS-BPEL Prozess. In Abbildung 6 ist ein Client zu sehen, der eine SOAP-Nachricht an den Prozess sendet um eine Prozessinstanz zu erschaffen. Dies geschieht über die in der WSDL-Datei festgelegten Regeln. Als nächstes arbeitet der Prozess die einzelnen internen Schritte ab, die dem Client verborgen bleiben. Während des Ablaufs sendet der Prozess eigene SOAP-Anfragen an die einzelnen Partnerdienste und erhält von diesen ggf. eine Antwortnachricht zurück. Hierbei dient WSDL ebenfalls als Schnittstelle zwischen dem Prozess und den beteiligten Partnern. Schließlich wird dem Client eine Antwort in Form einer SOAP-Nachricht übermittelt. Abbildung 6 WS-BPEL Prozesses (vgl. [PELZ03])

11 3.4 Servicebeschreibung Jedem WS-BPEL Prozess wird eine Servicebeschreibung in Form eines WSDL-Dokuments zur Verfügung gestellt, dass alle benötigten Schnittstelleninformation enthält. Die Servicebeschreibung eines WS-BPEL Prozesses ähnelt der Beschreibung eines Webservices. Das WSDL-Dokument beinhaltet alle nötigen Informationen über angebotene und zu verwendende Dienste sowie die Beschreibung der abstrakten Beziehungen zwischen den einzelnen Partnern. Die Servicebeschreibung kann in die Teilbereiche abstrakte und konkrete Beschreibung unterteilt werden die im Folgenden erläutert werden. (vgl. [Erl05], S. 134) Abstrakte Beschreibung: Die abstrakte Beschreibung enthält ausschließlich Informationen, die in keiner Weise an bestimmte Technologien oder Protokolle gebunden sind. Hier werden sämtliche Schnittstelleninformationen in Form von type, porttype-, operation- und message-elementen hinterlegt. Diese Elemente werden in Tabelle 1 kurz beschrieben. Bemerkung: Die folgenden Beispiele sind der Einfachheit halber an manchen Stellen gekürzt worden. Außerdem wurden Namespace Zuordnungen in den meisten Fällen außer Acht gelassen. Tabelle 1 Elemente der abstrakten Servicebeschreibung <type> Mithilfe dieses Elements können Schema-Typen definiert werden, die z.b. als Teil einer Nachricht in einem message-element Verwendung finden. In diesem einfachen Beispiel wird ein Nachrichtentyp zur Abbildung eines Benutzers mit einer ID und einem Namen definiert. <type> <schema xmlns= targetnamespace=... > <complextype name= UserType > <sequence> <element name= ID type= xsd:integer /> <element name= Name type= xsd:string /> </sequence> <complextype> </schema> </type>

12 <message> Dieses Element beschreibt eine Nachricht, die bei der Kommunikation zwischen den einzelnen Partnern ausgetauscht wird. Eine message kann sich aus einem oder mehreren part-elementen zusammensetzen. In diesem Beispielt wird eine Requestnachricht beschrieben, die aus nur einem <part> Element besteht. <message name= getuserstaterequestmessage > <part name= UserParameter type= UserType > </message> <porttype> Dieses Element Beschreibt eine abstrakte Serviceschnittstelle und enthält eine Sammlung von angebotenen Operationen. Hier wird eine Serviceschnittstelle mit dem Namen UserPT beschrieben, die eine Methode GetUserState anbietet. <porttype name= UserPT > <operation name= GetUserState >... </operation>... </porttype> <operation> Diese Elemente werden innerhalb eines porttypes angegeben und enthalten nähere Informationen über die vom porttype angebotenen Operationen. Hier wird die Operation aus dem vorherigen Beispiel mit einem Input und Output Element versehen.... <operation name= GetUserState > <input message= getuserstaterequestmessage /> <output message= getuserstateresponsemessage /> </operation>

13 <partnerlinktype> Partnerlinktypes werden dazu verwendet die Kommunikationsbeziehungen aller teilnehmenden Services zu beschreiben. Über dieses Element wird einem Service (identifiziert über den porttype) ein role-element für jede Rolle, die er bei der Kommunikation annehmen kann, zugewiesen. In diesem Beispiel wird dem porttype aus dem vorherigem Beispiel die Rolle des UserServiceProvider zugewiesen. <partnerlinktype name= UserServiceType xmlns=... > <role name= UserServiceProvider > <porttype name= UserPT /> </role> </partnerlinktype Konkrete Beschreibung: Um eine Kommunikation mit den einzelnen Partnern zu ermöglichen muss die abstrakte Servicebeschreibung an konkrete physikalische Transportprotokolle gebunden werden. Innerhalb der konkreten Servicebeschreibung wird die eigentliche Verbindung zu den einzelnen Partnerservices festgelegt. Die hierzu benötigten Elemente sind in Tabelle 2 aufgelistet. Tabelle 2: Elemente der konkreten Beschreibung <binding> Mithilfe dieses Elements werden die, in der abstrakten Beschreibung definierten porttypes referenziert. Hierbei werden Protokoll- und Nachrichtendetails festgelegt. In diesem Beispiel wird der porttype aus dem vorherigen Beispiel an das SOAP Protokoll gebunden. Außerdem wird über das style Attribut festgelegt ob die Request-Nachricht im RPC-Style (rpc) oder Message-Style (document) verfasst werden muss. <binding name= UserBinding type= UserPT > <soap:binding style= rpc transport= /> <operation name= GetUserState > <soap:operation soapaction= /> <input> <soap:body use= literal > </input> <output> <soap:body use= literal > </output> </operation> </binding>

14 <service> Dieses Element wird dazu verwendet die physikalische Adresse des Services mithilfe eines port-elements festzulegen. In diesem Beispiel wird das UserBinding an eine reale Adresse gebunden. <service name= UserService > <port binding= UserBinding name= UserPort > <soap:address location= /> </port> </service> Bemerkung: Der BPEL-Prozess referenziert in der Prozessbeschreibung nur die abstrakten porttypes und keine konkreten bindings, dadurch kann sich die physikalische Bindung an die Partner ständig ändern, ohne den Prozess selbst zu beeinflussen. (vgl. [SPEZ]) 3.5 Prozessbeschreibung Jeder Prozess folgt einem bestimmten Ablauf und festgelegten Regeln, welche zusammengefasst als Prozessprotokoll bezeichnet werden. Im Falle von WS-BPEL wird dieses Protokoll innerhalb eines BPEL-Dokument, der Prozessbeschreibung festgelegt. Hier findet also die eigentliche Modellierung des Prozesses über verschiedene Konstrukte und Aktivitäten statt. Die wichtigsten Elemente der Prozessbeschreibung werden in den folgenden Abschnitten kurz erläutert. Bemerkung: In der Praxis helfen verschiedene Tools wie der JDeveloper BPEL Designer der Firma Oracle oder der IBM Websphere Integration Developer bei der Modellierung von BPEL- Prozessen, sodass Entwickler kaum noch in Kontakt mit echtem BPEL-Code gelangen Konstrukte der Prozessbeschreibung Die wichtigsten Elemente der Prozessbeschreibung werden standardmäßig am Anfang des BPEL-Dokumentes definiert. Hierzu gehören unter anderem Konstrukte für die Variablendeklaration oder der Festlegung der Beziehung zwischen dem Prozess und den einzelnen Partnern. Die folgende Tabelle gibt eine Übersicht über die wichtigsten Konstrukte der Prozessbeschreibung.

15 Tabelle 3: Konstrukte der Prozessbeschreibung <partnerlink> Über partnerlinks werden die Rollen der Partner bei der Kommunikation mit dem Prozess festgelegt. Mithilfe des Attributs myrole kann die Rolle des Prozesses festgelegt werden. Die Rolle des Partners wird über das partnerrole Attribut geregelt. Hierzu werden die möglichen Rollen der zuvor definierten partnerlinktypes verwendet. In diesem Beispiel wird ein partnerlink definiert, in dem der Prozess die Rolle des userrequester und der beteiligte Partner die Rolle des userservice übernimmt. <partnerlink name="userinforming" partnerlinktype="userservicetype" myrole="userrequester" partnerrole="userservice" /> <variable> Dieses Element dient der Deklaration einer Variablen eines bestimmten Typs. Der Wert einer Variablen kann beispielsweise bei dem Empfangen einer Nachricht zugewiesen und später beliebig manipuliert oder kopiert werden. Im folgenden Beispiel wird eine Variable User deklariert. <variables> <variable name="user" messagetype="getusermessage" />... </variables> <faulthandlers> Dieses Element wird dazu verwendet um Fehler abzufangen und entsprechend darauf zu reagieren. Im folgenden Beispiel wird ein Faulthandler definiert, der im Falle eines Bestellfehlers eine Fehlernachricht an den Client weiterleitet. <faulthandlers> <catch faultname="cannotcompleteorder" faultvariable="pofault" faultmessagetype="orderfaulttype"> <reply partnerlink="purchasing" porttype="lns:purchaseorderpt" operation="sendpurchaseorder" variable="pofault" faultname="cannotcompleteorder" /> </catch> </faulthandlers>

16 <compensation Hanlder> (Siehe Punkt Compensation Handler) Strukturierte Aktivitäten Strukturierte Aktivitäten werden verwendet um den Prozessfluß zu regeln. Mithilfe dieser Elemente können die einzelnen Bestandteile des Prozesses strukturiert und der Ablauf beeinflusst werden. In Tabelle 4 sind die hierfür wichtigsten Elemente aufgelistet. Tabelle 4: Strukturierte Aktivitäten <sequence> Über das sequence-element können mehrere Aktivitäten in einer bestimmten Reihenfolge abgearbeitet werden. In diesem Beispiel werden zwei Serviceanfragen nacheinander gesendet. <sequence> <invoke... >...</invoke> <invoke... >...</invoke> </sequence> <flow> Das flow-element ermöglicht es mehrere Aktivitäten parallel auszuführen, ohne auf das ende der vorherigen Aktivität warten zu müssen. Im folgenden Beispiel werden zwei Services parallel aufgerufen. <flow> <invoke... >...</invoke> <invoke... >...</invoke> </flow>

17 <if> Mithilfe dieses Elementes können Verzweigungen innerhalb des Prozesses formuliert werden. Im folgenden Beispiel wird eine bestimmte Aktivität nur ausgeführt falls die Variable userrole den wert admin besitzt. <if...> <condition> $userrole!= admin </condition> <throw... >...</throw> <else> <invoke...>...</invoke> </else> </if> <while> Dieses Element ermöglicht die wiederholte Ausführung bestimmter Aktivitäten, bis eine vorgegebene Bedingung erfüllt ist. In diesem Beispiel wird so lange eine Serviceanfrage gesendet bis die Eigenschaft auth der Uservariable true ergibt. <while standard-attributes> <condition>user.auth = false</condition> <invoke...>...</invoke> </while> <pick> Über dieses Element kann auf bestimmte Ereignisse, wie das Empfangen einer Nachricht gewartet und entsprechend reagiert werden. Im folgenden Beispiel wird auf das eintreffen einer Nachricht gewartet. Falls eine solche Nachricht empfangen wird sendet der Prozess eine Serviceanfrage an einen Partnerservice. <pick> <onmessage partnerlink="buyer" porttype="..." operation="..." variable="..."> <invoke...>...</invoke> </onmessage> </pick>

18 <scope> Mithilfe des scope-elements können mehrere Aktivitäten zu einem Bereich gebündelt werden. Diesem Bereich kann dann beispielsweise eine einheitliche Fehlerbehandlung zugewiesen werden. In diesem Beispiel wird ein bestimmter Bereicht mit einem Faulthandler und einer Sequenz von Aktivitäten versehen. <scope> <faulthandlers> <catch faultname=... > </catch> </faulthandlers> <sequence>...</sequence> </scope> Primitive Aktivitäten Primitive Aktivitäten übernehmen die grundsätzlichen Aufgaben des Prozesses wie das Austauschen von Nachrichten oder Aktionen zur Datenmanipulation. Tabelle 5: Primitive Aktivitäten <invoke> Hiermit können Funktionen anderer Services aufgerufen werden. In diesem Beispiel wird die Operation GetUserState des porttypes UserPT aufgerufen und die output- und input-variable festgelegt. <invoke partnerlink="userpl" porttype="userpt" operation="getuserstate" inputvariable="shippingrequest" outputvariable="shippinginfo"> </invoke>

19 <receive> Über dieses Element werden Clientanfragen entgegengenommen. Das folgende Beispiel zeigt, wie auf die Anfrage eines Client gewartet wird. Hierbei ist der porttype die Serviceschnittstelle des angebotenen Dienstes. Die empfangene Nachricht wird in die Variable userrequest geschrieben. <receive partnerlink="informing" porttype="processpt" operation="getuserinfo" variable="userrequest" createinstance="yes"> </receive> <reply> Dieses Element dient dem Senden einer Antwortnachricht an den Client. In diesem Beispiel wird eine Antwortnachricht an den Anfragenden Client gesendet, dies geschieht meist am ende des Prozesses. <reply partnerlink="informing" porttype="processpt" operation="getuserinfo" variable="userresponse"> </reply> <assign > Hiermit können ganze Nachrichten oder Teile von Nachrichten kopiert werden. Im folgenden Beispiel werden die Kundeninformationen einer empfangenen Nachricht in die Nachricht einer Bestellanfrage kopiert. <assign> <copy> <from>$userrequest.customerinfo</from> <to>$orderrequest.customerinfo</to> </copy> </assign> <throw> Dieses Element wird dazu verwendet auf Fehler im Prozessablauf aufmerksam zu machen. In diesem Beispiel wird ein Fehler bei der Userauthentifikation geworfen. <throw faultname="userauthfault"/>

20 <wait> Dieses Element ermöglicht das Warten bis zu einem bestimmten Zeitpunkt. In diesem Beispiel wird bis zu einer bestimmten Uhrzeit an einem bestimmten Tag gewartet um eine Aktivität auszuführen. <sequence> <wait> <until>' t18:00+01:00'</until> </wait> <invoke... /> </sequence> <exit> Dieses Element Terminiert den Prozess Compensation Handler WS-BPEL bietet die Möglichkeit bestimmte Aktivitäten wieder rückgängig zu machen. Um dies zu implementieren werden Compensation Handler verwendet, die im Fehlerfall von einem Faulthandler aufgerufen werden. Das folgende Beispiel zeigt eine <invoke> Aktivität, für die ein inline Compensation Handler definiert wurde. Das <invoke> Element ruft einen Bestellservice auf. Im Falle einer Kompenstation wird der Bestellvorgang abgebrochen. <invoke partnerlink="seller" porttype="sp:purchasing" operation="purchase" inputvariable="sendpo" outputvariable="getresponse"> <compensationhandler> <invoke partnerlink="seller" porttype="sp:purchasing" operation="cancelpurchase" inputvariable="getresponse" outputvariable="getconfirmation"> </invoke> </compensationhandler> </invoke> Kompensation von verschachtelten Bereichen (Scopes): In Abbildung 6 wird das Zusammenspiel von Fehlerbehandlung und Compensation-Handler verdeutlicht. Dem Prozess P wird eine Fehlerbehandlung FH(P) zugewiesen. Innerhalb des Prozesses wurden zwei verschachtelte Scopes S2 und S3 definiert und mit eigenen Compensation-Handlern versehen. Fängt der Prozess über eine Catch-Aktivität einen Fehler auf, wird zuerst der Compensation Handler CH(S2) und danach der Compensation Handler CH(S1) aufgerufen. Die Handler haben dabei unter anderem Zugriff auf zuvor definierte Variablen und können diese gemeinsam verwenden.

21 Abbildung 7 Compensation Handler (Quelle: [SPEZ]) 4.0 BPEL und SOA Serviceorientierte Architekturen kurz SOA sind ein auf Webservice basierendes Architekturmodell, dass anfangs aufgrund der Komplexität bei vielen Entwicklern für Verwirrung sorgte. In SOA Anwendungen zerlegt man ein gegebenes Problem so weit wie möglich in untergeordnete Teilprobleme um die Softwarelösung auf mehrere plattformunabhängige Services verteilen zu können. Die Idee der Kapselung einzelner Dienste war jedoch kein revolutionärer Gedanke in der IT-Welt. Spezifikationen wie beispielsweise CORBA verfolgten dieses Konzept bereits vor der Einführung des Begriffes SOA. Nichtsdestotrotz ist SOA ein sehr mächtiges Modell mithilfe dessen einzelne Komponenten einer Anwendung ohne Probleme ausgetauscht oder für andere Problemlösungen eingesetzt werden können. Der Aufbau einer SOA lässt erkennen, dass Kompositionssprachen und vor allem WS-BPEL eine wichtige Rolle innerhalb solcher Lösungen spielt. BPEL-Prozesse werden dabei nicht nur dafür verwendet Services anderer Unternehmen miteinander zu verbinden, sonder sind außerdem für die Verknüpfung Unternehmensinterner Abläufe zuständig. Einem BPEL- Prozess wird dabei eine bestimmte Verantwortlichkeit über die zugrunde liegenden

22 Webservices übertragen. Der Prozess ist also für die Ausführung der Services in den darunter liegenden Schichten verantwortlich. In Abbildung 7 ist das Schichtenmodell einer SOA-Anwendung dargestellt. Hier übernimmt ein WS-BPEL Prozess die Aufgabe der Orchestration der untergeordneten Webservices, die wiederum die Funktionalität der Anwendungsschicht verwenden. Abbildung 7 SOA Schichtenmodell mit eigener Orchestrationsschicht (Quelle: [Erl05])

23 5.0 Fazit: Obwohl WS-BPEL eine relativ junge Sprache ist, genießt sie schon jetzt eine hohe Akzeptanz von Seitens vieler Unternehmen und zeichnet sich vor allem durch eine breite Funktionalität aus. Auch das stetig wachsende Interesse an Serviceorientierten Architekturen trägt zu der bedeutenden Rolle dieser Sprache in jetzigen aber insbesondere auch in zukünftigen Systemen bei. Leider ist BPEL durch die hohe Anzahl an Möglichkeiten und Funktionen eine ziemlich komplexe Sprache und bereitet vor allem Neueinsteigern erhebliche Probleme. Zwar gibt es eine Vielzahl von hilfreichen Modellierungstools, die das automatisierte erstellen von BPEL-Prozessen ermöglichen, doch sind diese meist mit einem hohen Preis verbunden. So müssen Unternehmen für eine IBM WebSphere Integration Developer Lizens US Dollar bezahlen, was insbesondere für kleinere Unternehmen, neben Ausgaben für andere Middlewareprodukte, relativ viel ist. Nichtsdestotrotz ist BPEL eine vielversprechende Kompositionssprache, die sich ständig weiterentwickelt und sich dadurch wohl noch weiter von anderen Workflowsprachen absetzen wird.

24 Literatur und Quellverzeichnis Bücher: [Erl05] [Harvey05] Thomas Erl - Service-Oriented Architecture Concepts, Technology, and Design Prentice Hall International - September 2005 ISBN Michael Harvey Essential Business Process Modeling O'Reilly Media; Auflage: August 2005 ISBN Web: [Aalst] Van der Aalst, W. Don t go with the flow: Web services composition standards exposed: letzter Zugriff: [IBM01] IBM developerworks - Business Process with BPEL4WS: search_by=bpel4ws: [IBM- BPEL4P] [IBM-WS] [PELZ03] [SPEZ] [Wiki] letzter Zugriff: BPEL for Poeple letzter Zugriff: Standards and Web services letzter Zugriff: Chris Peltz Web Service Orchestration and Choreography letzter Zugriff: WS-BPEL 2.0 Spezifikation letzter Zugriff: Business Process Execution Language letzter Zugriff:

Business Process Execution Language. Christian Vollmer Oliver Garbe

Business Process Execution Language. Christian Vollmer <christian.vollmer@udo.edu> Oliver Garbe <oliver.garbe@udo.edu> Business Process Execution Language Christian Vollmer Oliver Garbe Aufbau Was ist BPEL? Wofür ist BPEL gut? Wie funktioniert BPEL? Wie sieht BPEL aus?

Mehr

WSDL. Web Services Description Language. André Vorbach. André Vorbach

WSDL. Web Services Description Language. André Vorbach. André Vorbach André Vorbach WSDL Web Services Description Language André Vorbach Übersicht Was ist WSDL? Dokumentenstruktur Elemente Definitions Types Messages porttype Binding Service SOAP-Bindings Beispiel Was ist

Mehr

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java

Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java Seminarbericht Rechnernetze XML Web Services Schnittstelle zwischen den Welten.NET und Java von Christian Brand Kennnummer: 09376 November 2005 Abkürzungen Abkürzungen API - Application Programming Interface

Mehr

Wiederholung: Beginn

Wiederholung: Beginn B) Webserivces W3C Web Services Architecture Group: "Ein Web Service ist eine durch einen URI eindeutige identifizierte Softwareanwendung, deren Schnittstellen als XML Artefakte definiert, beschrieben

Mehr

Workflow, Business Process Management, 4.Teil

Workflow, Business Process Management, 4.Teil Workflow, Business Process Management, 4.Teil 24. Januar 2004 Der vorliegende Text darf für Zwecke der Vorlesung Workflow, Business Process Management des Autors vervielfältigt werden. Eine weitere Nutzung

Mehr

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

Mehr

Web Services Composition (BPWS4J )

Web Services Composition (BPWS4J ) Web Services Composition (BPWS4J ) Hager Markus, Kober Christoph, Linde Kai, Ott Florian, Erdmann Dennis Programmierung verteilter Systeme Lab Institut für Informatik Universität Augsburg Universitätsstraße

Mehr

Business Process Execution Language for Web Services (BPEL4WS)

Business Process Execution Language for Web Services (BPEL4WS) Hauptseminar und Vorlesung Web Services WS 2003/04 Business Process Execution Language for Web Services (BPEL4WS) Patrick Sauter 2/17 Vortrag - Überblick Definition, Zielsetzung und Allgemeines einfacher

Mehr

9. Business Process Execution Language

9. Business Process Execution Language 1 9. Business Process Execution Language Beobachtung: häufige Änderungen der Geschäftsprozesse dies erfordert leichte und schnelle Software-Anpassung Idee: Software in (Web-)Services gliedern ( SOA) diese

Mehr

POIS-Praktikum 2007. Prozessimplementierung, RosettaNet PIPs 3A

POIS-Praktikum 2007. Prozessimplementierung, RosettaNet PIPs 3A POIS-Praktikum 2007 Prozessimplementierung, RosettaNet PIPs 3A Manuel Blechschmidt, David Foerster, Michael Leben, Mike Nagora, Jonas Rogge, Paul Römer Gliederung 2 Einleitung Was war unsere Aufgabe? Was

Mehr

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste Hauptseminar Internet Dienste Sommersemester 2004 Boto Bako Webservices 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung Was sind Web Services? Web Services sind angebotene

Mehr

3-schichtige Informationssystem-Architektur

3-schichtige Informationssystem-Architektur 3-schichtige Informationssystem-Architektur plattformunabhängig beliebige Endgeräte Client als Applikation & Applet XML über SOAP Standard plattformunabhängig objektorientierte Architektur multiuserfähig

Mehr

Geschäftsprozessmodellierung mit BPEL4WS: Aufbau und Beispiel

Geschäftsprozessmodellierung mit BPEL4WS: Aufbau und Beispiel Seminar Service Orientierte Architektur Geschäftsprozessmodellierung mit BPEL4WS: Aufbau und Beispiel SOA-Seminar 2006 - BPEL4WS - Christoph Forster (Winf 2370) 1 Agenda (1) Überblick (2) Der Geschäftsprozess

Mehr

Möglichkeiten der Orchestrierung von Grid Web Services mit BPEL. Uschi Beck Marko Brosowski

Möglichkeiten der Orchestrierung von Grid Web Services mit BPEL. Uschi Beck Marko Brosowski Möglichkeiten der Orchestrierung von Grid Web Services mit BPEL Uschi Beck Marko Brosowski Gliederung Motivation BPEL Entstehung/Ziele ein kurzes Beispiel Basiskonzepte Probleme BPEL Engines BPEL im Grid

Mehr

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2) Referat im Rahmen des Proseminars Internettechnologie WS 2007/2008 Thema: Web Services und serviceorientierte Architekturen (SOA) vorgelegt von: Intelligente Web Services sind für das Informationszeitalter,

Mehr

Geschäftsprozessmodellierung essmodellierung mit BPEL

Geschäftsprozessmodellierung essmodellierung mit BPEL Geschäftsprozessmodellierung essmodellierung mit BPEL Autor: Stefan Berntheisel Datum: 8. Januar 2010 Stefan Berntheisel Hochschule RheinMain Fachseminar WS 09/10 Agenda Grundlagen Business Process Execution

Mehr

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung

Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung IBM WebSphere Process Server Seminar Business Process Management und Workflow-Technologie: Grundlagen, Produkte, Forschung AGENDA 1. Überblick 2. WebSphere Process Server 3. Komponenten 4. Präsentation

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen 11 BPEL

Enterprise Applikation Integration und Service-orientierte Architekturen 11 BPEL Enterprise Applikation Integration und Service-orientierte Architekturen 11 BPEL Prozesse und Services Prof. Dr. Holger Wache 2 Problem: Prozesssteuerung mit WSDL Jeder Prozess ist zustandsbehaftet. Dieser

Mehr

Sind Prozessmanagement-Systeme auch für eingebettete Systeme einsetzbar?

Sind Prozessmanagement-Systeme auch für eingebettete Systeme einsetzbar? Sind Prozessmanagement-Systeme auch eingebettete Systeme einsetzbar? 12. Symposium Maritime Elektrotechnik, Elektronik und Informationstechnik, 8.-12. Oktober 2007 Rostock, Deutschland Rostock, Deutschland

Mehr

Verteilte Systeme: Übung 4

Verteilte Systeme: Übung 4 Verteilte Systeme: Übung 4 WSDL und SOAP Oliver Kleine Institut für Telematik https://www.itm.uni-luebeck.de/people/kleine SOAP Nachrichten Serialisierung in XML Root-Element einer SOAP Nachricht ist

Mehr

Konzepte und Anwendung von Workflowsystemen. Kapitel 8: Workflow Ausführungssprache BPEL

Konzepte und Anwendung von Workflowsystemen. Kapitel 8: Workflow Ausführungssprache BPEL Vorlesung Wintersemester 2011/12 Konzepte und Anwendung von Workflowsystemen Kapitel 8: Workflow Ausführungssprache BPEL Lehrstuhl für Systeme der Informationsverwaltung, Prof. Böhm Institut für Programmstrukturen

Mehr

Standards und Standardisierungsgremien

Standards und Standardisierungsgremien Standards und Standardisierungsgremien Begriffe Norm und Standard synonym Organisationen z.b. ISO: International Standards Organization DIN: Deutsches Institut für Normung e.v. ANSI: American National

Mehr

SOA goes real Service-orientierte Architekturen erfolgreich planen und einführen

SOA goes real Service-orientierte Architekturen erfolgreich planen und einführen Daniel Liebhart SOA goes real Service-orientierte Architekturen erfolgreich planen und einführen ISBN-10: 3-446-41088-0 ISBN-13: 978-3-446-41088-6 Inhaltsverzeichnis Weitere Informationen oder Bestellungen

Mehr

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Ein Beispiel Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Dipl.-Kfm. Claus Häberle WS 2015 /16 # 42 XML (vereinfacht) visa

Mehr

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer *Was sind Web Services? *Beispiele für Web Services *Web Service Architektur *Web Services Technologien *Fazit 2 *Übertragungsstandard

Mehr

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL

Seminar E-Services WS 02/03 WSDL. Web Services Description Language. Moritz Kleine SES 02 - WSDL Seminar E-Services WS 02/03 WSDL Web Services Description Language SES 02 - WSDL Zum Ablauf Einleitung Webservices und WSDL Grundlagen (XML - Schema und Namespaces) WSDL Syntax Beispiel Zusammenfassung

Mehr

Microsoft.NET und SunONE

Microsoft.NET und SunONE Microsoft.NET und SunONE, Plattformen und Application Service Providing Agenda Einordnung.NET und SunONE Kurzvorstellung Gegenüberstellung Zusammenfassung ASP (Application( Service Providing) ) und Ausblick

Mehr

Tutorial zu WS-BPEL. Veranstaltung: Entwicklung verteilter Softwaresysteme mit Webservices im Sommersemester 2008

Tutorial zu WS-BPEL. Veranstaltung: Entwicklung verteilter Softwaresysteme mit Webservices im Sommersemester 2008 Tutorial zu WS-BPEL Veranstaltung: Entwicklung verteilter Softwaresysteme mit Webservices im Sommersemester 2008 Universität Hamburg Department Informatik Arbeitsbereich VSIS Gruppe 01: Johannes Kuhlmann,

Mehr

Web Services: Inhalt

Web Services: Inhalt Web Services Fachseminar Verteilte Systeme 8. April 2002 - Marco Steiner Assistent: Thomas Schoch Professor: Dr. F. Mattern Web Services: Inhalt Bedeutung Gegenwart Architektur SOAP WSDL UDDI Vergleich

Mehr

Modellierung von Geschäftsprozessen mit BPEL4WS

Modellierung von Geschäftsprozessen mit BPEL4WS Seminararbeit von Abstract Die Business Process Execution Language for Web Services (BPEL4WS) ermöglicht es, sowohl Geschäftsprozesse zu beschreiben, welche Web Services nutzen, als auch Geschäftsprozesse

Mehr

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services Themen Web Services und SOA Wer kennt den Begriff Web Services? Was verstehen Sie unter Web Services? Die Idee von Web Services Ausgangspunkt ist eine (evtl. schon bestehende) Software Anwendung oder Anwendungskomponente

Mehr

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices

Inhalt I. Blick zurück II. Was sind WebServices? III. Rahmenwerk für edienstleistungen IV. Verwendete WebServices WebServices Applikationen und Services Ralf Günther Consultant HP Services April, 2003 Ralf.Guenther@hp.com DECUS Symposium 2003, Vortrag 2L06 9.04.2003 Inhalt I. Blick zurück II. Was sind WebServices?

Mehr

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5

Übersicht. Angewandte Informatik 2 - Tutorium 6. Teile einer WSDL-Datei. Was ist WSDL. Besprechung: Übungsblatt 5 Übersicht Angewandte Informatik 2 - Tutorium 6 Besprechung: Übungsblatt 5 Götz Bürkle (goetz@buerkle.org) Übungsblatt 5: Aufgabe 4 - Webservices Institut für Angewandte Informatik und Formale Beschreibungsverfahren

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP) Enterprise Applikation Integration und Service-orientierte Architekturen 09 Simple Object Access Protocol (SOAP) Anwendungsintegration ein Beispiel Messages Warenwirtschaftssystem Auktionssystem thats

Mehr

SOAP und WSDL in der Praxis. Wie wird SOAP/WSDL verwendet? Heutige Vorlesung. .net. und Apache Axis

SOAP und WSDL in der Praxis. Wie wird SOAP/WSDL verwendet? Heutige Vorlesung. .net. und Apache Axis Heutige Vorlesung SOAP und WSDL in der Praxis Aufbau von WSDL-Beschreibungen Protokoll-Bindungen in WSDL Google-WSDL lesen und erweitern können Vor- und Nachteile von WSDL heute Wie wird SOAP/WSDL verwendet?.net,

Mehr

EAI - Enterprise Application Integration

EAI - Enterprise Application Integration EAI - Enterprise Application Integration Jutta Mülle WS 2005/2006 EAI - Folie 1 Überblick und Begriffsbildung Zusammenfassung und Ausblick hinweise EAI - Folie 2 Conclusion EAI Enterprise Application Integration

Mehr

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 4: EAI und.net, EAI und J2EE Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EAI und....net

Mehr

Model-Driven Software Development

Model-Driven Software Development Model-Driven Software Development BPEL 2.0 Robert Siebert Das Forschungs- und Entwicklungsprojekt OrViA wird mit Mitteln des Bundesministeriums für Bildung und Forschung (BMBF) gefördert, die innerhalb

Mehr

PL/SQL Web-Services mit Oracle 11g

PL/SQL Web-Services mit Oracle 11g DOAG 2008 Konferenz 01. - 03.12.2008 Nürnberg Markus Fiegler ORDIX AG, Paderborn mf@ordix.de www.ordix.de Agenda SOA und Web-Services im Überblick Datenbank als Web-Services Provider - Alternative mit

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Fachbereich Informatik

Fachbereich Informatik Diplomarbeit Strategien zur Prozessorchestrierung und Workflow-Integration in Web-Applikationen Andreas Kümpel Dezember 2004 Betreuer: Prof. Dr. Paul Müller Dipl.-Wirtsch.-Ing. Jochen Müller Fachbereich

Mehr

Markus Schulz Seminar: XML für Fortgeschrittene 30.06.2003

Markus Schulz Seminar: XML für Fortgeschrittene 30.06.2003 Markus Schulz Seminar: XML für Fortgeschrittene 30.06.2003 Vortragsgliederung 1. Motivation 2.-8. WS : Definition, Ansatz, Architektur,... 9.x. SOAP : Definition, Geschichte,... 10.x.x. WSDL : siehe oben...

Mehr

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen 9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.

Mehr

Using Workflows to Coordinate Web Services in Pervasive Computing Environments

Using Workflows to Coordinate Web Services in Pervasive Computing Environments Using Workflows to Coordinate Web Services in Pervasive Computing Environments Vortrag im Rahmen des Seminars SOA 2005 im Fachbereich Informatik angefertigt von Volker Henke Agenda 1. Ubiquitous Computing

Mehr

WSDL. 7363 - Web-basierte Anwendungen WSDL WSDL. Eine Vertiefungsveranstaltung mit Schwerpunkt auf XML-Technologien. Web Services Description Language

WSDL. 7363 - Web-basierte Anwendungen WSDL WSDL. Eine Vertiefungsveranstaltung mit Schwerpunkt auf XML-Technologien. Web Services Description Language Fachhochschule Wiesbaden - Fachhochschule Wiesbaden - 7363 - Web-basierte Anwendungen Eine Vertiefungsveranstaltung mit Schwerpunkt auf XML-Technologien Web Services Description Language 10.06.2004 H.

Mehr

Enterprise Applikation Integration und Service-orientierte Architekturen. 08 Einführung Service-Orientierte Architekturen

Enterprise Applikation Integration und Service-orientierte Architekturen. 08 Einführung Service-Orientierte Architekturen Enterprise Applikation Integration und Service-orientierte Architekturen 08 Einführung Service-Orientierte Architekturen Ist SOA immer noch aktuell? Prof. Dr. Holger Wache http://bhc3.files.wordpress.com/2009/07/gartner-emerging-technologies-hype-cycle-2009.png?w=552&h=451

Mehr

Error-Hospital für Oracle SOA Suite

Error-Hospital für Oracle SOA Suite Error-Hospital für Oracle SOA Suite Markus Lohn esentri AG Ettlingen Schlüsselworte Fusion Middleware, SOA, SOA Suite Einleitung Die Entwicklung von Services mit der SOA Suite erfolgt überwiegend deklarativ

Mehr

Einführung in WebServices

Einführung in WebServices Einführung in WebServices Grundlagen und Praxis von WebServices Seminarleiterin: Dipl.-Ing. Mahbouba Gharbi Folie 1 / 34 Zielsetzung und Voraussetzungen Zielsetzung Nutzen von WebServices kennenlernen

Mehr

Software Engineering II (IB) Serviceorientierte Architektur

Software Engineering II (IB) Serviceorientierte Architektur Serviceorientierte Architektur Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Webservices Ziel: flexible programmatische Zusammenarbeit zwischen Servern Bereitstellung

Mehr

Vertiefte Grundlagen Graphentheorie

Vertiefte Grundlagen Graphentheorie Bauinformatik Vertiefte Grundlagen Graphentheorie 6. Semester 9. Übung BPEL Webservice-Orchestrierung i Technische Umsetzung am Beispiel Biegespannung eines Einfeldträgers Nürnberger Str. 31a 2. OG, Raum

Mehr

Web-Services Grundlagen

Web-Services Grundlagen Web-Services Grundlagen Praktikum Informationsintegration 1.11.2005 Agenda Aktueller Stand Was sind Web-Services? Allgemeines Web-Service-Technologien SOAP WSDL 2 Umgebung (Korrektur) Rechner/Server mangold.informatik.hu-berlin.de

Mehr

An Geschäftsprozessen ausgerichtete IT- Infrastruktur. In SOA werden Services (Dienste) lose miteinander verbunden.

An Geschäftsprozessen ausgerichtete IT- Infrastruktur. In SOA werden Services (Dienste) lose miteinander verbunden. SOA - Service Oriented Architecture An Geschäftsprozessen ausgerichtete IT- Infrastruktur. In SOA werden Services (Dienste) lose miteinander verbunden. Service Provider (bietet den Dienst an) Service Consumer

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

Mehr

Entwurf und Implementierung einer Workflow-basierten Anwendung zur Auswertung mathematischer Formeln

Entwurf und Implementierung einer Workflow-basierten Anwendung zur Auswertung mathematischer Formeln Entwurf und einer Workflow-basierten Anwendung zur Auswertung mathematischer Formeln Object 14 Service Orientated Architecture (SOA) Web Services Business Process Execution Language (BPEL) SOA [1/3] Service

Mehr

E-Services mit der Web-Service-Architektur

E-Services mit der Web-Service-Architektur E-Services mit der Web-Service-Architektur im Seminar Neue Konzepte anwendungsorientierter Middleware - Stefan Kürten - Literatur A. Tsalgatidou and T. Pilioura, An Overview of Standards and Related Rechnology

Mehr

Grundlagen des Grid Computing

Grundlagen des Grid Computing Grundlagen des Grid Computing Service Oriented Architectures ICA Joh. Kepler Universität Linz Überblick Service-Oriented Architectures (SOAs) Verteilt Basierend auf Standards Lose gekoppelt Protokoll-unabhängig

Mehr

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057)

e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057) e-business - Patterns Stefan Brauch (sb058) -- Julian Stoltmann (js057) 1 e-business Patterns??? e-business Patterns Architekturen, die sich über die Zeit bewährt haben. Pattern-Fundgrube web-basierte

Mehr

Kapitel WT:VI (Fortsetzung)

Kapitel WT:VI (Fortsetzung) Kapitel WT:VI (Fortsetzung) VI. Architekturen und Middleware-Technologien Client--Architekturen Ajax REST RPC, XML-RPC, Java RMI, DCOM Web-Services CORBA Message-oriented-Middleware MOM Enterprise Application

Mehr

Christoph Mathas. SOA intern. » Praxiswissen zu Service-orientierten IT-Systemen HANSER

Christoph Mathas. SOA intern. » Praxiswissen zu Service-orientierten IT-Systemen HANSER Christoph Mathas SOA intern» Praxiswissen zu Service-orientierten IT-Systemen HANSER Inhalt Vorwort XI 1 Einleitung 1 1.1 Wem nützt dieses Buch? 2 1.2 Weshalb dieses Buch? 3 1.3 Die Kapitelstruktur 4 1.4

Mehr

Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert

Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert Softwareentwicklung in verteilten Umgebungen Middleware Case Studies (Coulouris et al., Kapitel 5 und 19) Dieter Schmalstieg Jens Grubert Partly based on material by Victor García Barrios and Paul Krzyzanowski

Mehr

Web-Sevices : WSDL Entwicklung von Web-Anwendungen

Web-Sevices : WSDL Entwicklung von Web-Anwendungen Web-Sevices : WSDL Entwicklung von Web-Anwendungen Axel Reusch : ar047 MIB page 1 : 50 Agenda! Allgemeines! Prinzip! Anwendung! Details! WSDL und SOAP! Beispiel mit Java! Erweiterungen! Vorteile! Nachteile!

Mehr

6 Zusammenschaltung von Web-Services

6 Zusammenschaltung von Web-Services 6 Zusammenschaltung von Web-Services Komposition von Web-Services zu neuen Web-Services abstrakte Beschreibung der internen Struktur Workflow-Konzept abstrakte Beschreibung der Zusammenhänge und Interaktionen

Mehr

A Comparison of BPML and BPEL4WS

A Comparison of BPML and BPEL4WS A Comparison of BPML and BPEL4WS Wirtschaftsinformatik Universität Trier Seite 1 Ziele des Vortrags 1. Heterogenität der Business Process Modelling Initiativen für Web Services erkennen 2. Beschreibungsmöglichkeit

Mehr

BPEL. Business Process Execution Language. Andre Rein. 21. August 2010. Serviceorientierte Architekturen

BPEL. Business Process Execution Language. Andre Rein. 21. August 2010. Serviceorientierte Architekturen Business Process Execution Language Serviceorientierte Architekturen 21. August 2010 Inhalt 1 Einführung Allgemeine Beschreibung von Geschichtliches 2 Probleme Lösungen 3 process partner links sequence/receive/reply

Mehr

Implementierung von Web Services: Teil I: Einleitung / SOAP

Implementierung von Web Services: Teil I: Einleitung / SOAP Implementierung von Web Services: Teil I: Einleitung / SOAP Prof. Dr. Kanne - FSS 2007 Carl-Christian Kanne, February 25, 2007 Web Services - p. 1/12 Web Services: Allgemein XML Datenaustauschformat plattformunabhängig

Mehr

ActiveBPEL. Leif Goltermann Hai-Minh Le Benjamin Pennig Stephan Schirmer. Projekt: Entwicklung Verteilter Softwaresysteme Mit Web Services

ActiveBPEL. Leif Goltermann Hai-Minh Le Benjamin Pennig Stephan Schirmer. Projekt: Entwicklung Verteilter Softwaresysteme Mit Web Services ActiveBPEL Leif Goltermann Benjamin Pennig Hai-Minh Le Stephan Schirmer WSBPEL Überleitung Motivation mehreren Aktivitäten organisieren Kommunikation und Datenfluss kontrollieren Workflow Vordefinierte

Mehr

Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland

Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland Integration von Oracle Forms in Service Oriented Architecture (SOA) Jürgen Menge Oracle Deutschland The following is intended to outline our general product direction. It is intended for information purposes

Mehr

Webservices in der IBM Welt eine neue Herausforderung für DB2 Spezialisten

Webservices in der IBM Welt eine neue Herausforderung für DB2 Spezialisten Betrifft Webservices in der IBM Welt eine neue Herausforderung für DB2 Spezialisten Autor Andreas Börlin (info-zuerich@trivadis.com) Erstellungsdatum Januar 2004 Informationen innerhalb einer Unternehmung

Mehr

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? SOAP Integrationstechnologie für verteilte Middlewarearchitekturen? Großer Beleg Christian Wurbs Zwischenbericht http://www.inf.tu-dresden.de/~cw6 cw6@inf.tu-dresden.de Überblick 2 Aufgabenstellung CORBA

Mehr

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik SOA Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik Laderampen müssen passen Modularisieren Softwarearchitektur Modul A Modul B Modul C Modul D Große Anwendung im Unternehmen Modul

Mehr

2. Architektur von Kommunikationssystemen

2. Architektur von Kommunikationssystemen 2. Architektur von Kommunikationssystemen 2.1 2.2 TCP/IP-basierte Protokollarchitektur Digitale Kommunikationssysteme Prof. Dr. Habermann / Dr. Hischke 12-01 / 1 Das OSI-Referenzmodell wird ausführlich

Mehr

Einführung in SOA

<Insert Picture Here> Einführung in SOA Einführung in SOA Markus Lohn Senior Principal Consultant SOA? - Ideen Selling Oracle To All SAP On ABAP Increasing Sales Of Applications 3 Agenda Motivation SOA-Definition SOA-Konzepte

Mehr

Sof o t f waretechn h o n l o og o i g en n f ü f r ü v e v rteilte S yst s eme Übung

Sof o t f waretechn h o n l o og o i g en n f ü f r ü v e v rteilte S yst s eme Übung Softwaretechnologien für verteilte Systeme Übung Organisatorisches Gruppen mit 3-4 Personen bearbeiten ein zugewiesenes Thema Abgabe besteht aus einer Arbeit mit 10-15 Seiten und ~30 Minuten Präsentation

Mehr

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1 Web Services XML, WSDL, SOAP und UDDI Einblicke und Ausblicke 31.03.2003 J.M.Joller 1 Inhalt Architekturen Main Stream.NET J2EE und Applikations-Server Sicht der Anbieter Java J2EE J2EE versus.net Web

Mehr

Service Oriented Architecture für Grid-Computing

Service Oriented Architecture für Grid-Computing Service Oriented Architecture für Grid-Computing Service Oriented Architecture für Grid-Computing Berlin/Brandenburger Softwareforum 24.08.2005 Andreas Hoheisel (andreas.hoheisel@first.fraunhofer.de) Seite

Mehr

Wissenschaftliche Vertiefung Web Services. Esslingen, 22. Januar 2016 Simon Schneider

Wissenschaftliche Vertiefung Web Services. Esslingen, 22. Januar 2016 Simon Schneider Wissenschaftliche Vertiefung Web Services Esslingen, 22. Januar 2016 Agenda 1. Einführung 2. Serviceorientierte Architektur 3. SOAP Web Service 4. Standards und Protokolle von SOAP Web Services 5. Bewertung

Mehr

Semantic Web Services

Semantic Web Services Semantic Web Services Daniel Fischer TU Chemnitz - WS 2011/12 1 Gliederung (1) Web Services (2) Semantic Web Services: Motivation (3) Ontologien (4) Technologien 1. WSDL 2. SA-WSDL 3. WSMF / WSMO 4. OWL-S

Mehr

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI

Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Betriebswirtschaftliche Anwendungen 2: Serviceorientierte Anwendungsintegration Dokumentation zur Verwendung eines SOAP-Webservices in SAP PI Umrechnung von Währungen Steffen Dorn, Sebastian Peilicke,

Mehr

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler Microsoft.NET InfoPoint 8. Juni 2005 Stefan Bühler Inhalt Was ist.net Was steckt dahinter Warum ist.net so wie es ist Die Säulen von.net.net Framework 2.0 / VisualStudio 2005 Beispiel Referenzen & Links

Mehr

Business Process Management und Workflow-Technologien: Grundlagen, Produkte, Forschung Seminar

Business Process Management und Workflow-Technologien: Grundlagen, Produkte, Forschung Seminar Thema : BPM und Workflow-Technologien - Eine Einführung Bearbeiter : Andreas Brückner Überblick/Motivation/Ziele Hintergründe, Historische Entwicklung der Prozessorientierung Terminologien, Klassifikation,

Mehr

SOA mit.net: Vom Geschäftsprozess zur Lösung

SOA mit.net: Vom Geschäftsprozess zur Lösung SOA mit.net: Vom Geschäftsprozess zur Lösung Manfred Steyer Aktuelles Buch.Net 4.0 Update ISBN 978-3866454439 http://tinyurl.com/net4update 1 Kontakt [www] www.softwarearchitekt.at [mail] Manfred.Steyer@SoftwareArchitekt.at

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

Mehr

B2B für meine Geschäftspartner

B2B für meine Geschäftspartner B2B für meine Geschäftspartner Michael Stapf Oracle Deutschland B.V. & Co. KG Frankfurt Schlüsselworte B2B, Business-to-Business, Geschäftspartnerintegration, Elektronische Geschäftskommunikation Einleitung

Mehr

BPEL Business Process Execution Language

BPEL Business Process Execution Language BPEL Business Process Execution Language Dr. Martin Bartonitz Product Manager SAPERION AG Vorsitzender des Aufsichtsrates: Dieter Matheis Vorstand: Rudolf Gessinger (Vorstandsvorsitzender), Andreas Kunze

Mehr

XML und Web Services. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.

XML und Web Services. Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle. XML und s Mario Jeckle DaimlerChrysler Forschungszentrum Ulm mario.jeckle@daimlerchrysler.com mario@jeckle.de www.jeckle.de Gliederung I. XML Herkunft und Hintergrund Die evolution Wo stehen wir heute?

Mehr

H.2 Problematik. 2 Enterprise Application Integration EAI. H.1 Überblick. 2 Enterprise Application Integration (2)

H.2 Problematik. 2 Enterprise Application Integration EAI. H.1 Überblick. 2 Enterprise Application Integration (2) H Webservices & Verteilte Anwendungen H Webservices & Verteilte Anwendungen 2 Enterprise Application Integration EAI H.1 Überblick Problematik Web Services XML SOAP WSDL UDDI Kopplung und Integration von

Mehr

Orientierungshilfen für SAP PI (Visualisierungen)

Orientierungshilfen für SAP PI (Visualisierungen) EINSATZFELDER FÜR DIE KONFIGURATIONS-SZENARIEN INTERNE KOMMUNIKATION UND PARTNER-KOMMUNIKATION UND DIE SERVICE-TYPEN BUSINESS-SYSTEM, BUSINESS-SERVICE UND INTEGRATIONSPROZESS Betriebswirtschaftliche Anwendungen

Mehr

Web Services T-Systems GS Darmstadt

Web Services T-Systems GS Darmstadt T-Systems GS Darmstadt Optional: Präsentationstitel Verfasser, Dr. A. Heck, Projekt, T-Systems weitere Angaben Datum, 23.10.2002, Seite Seite 1 1 Übersicht 1. Unternehmensdarstellung T-Systems 2. Definition

Mehr

Fakultät Informatik, Institut für Systemarchitektur, Professur für Rechnernetze GROSSER BELEG

Fakultät Informatik, Institut für Systemarchitektur, Professur für Rechnernetze GROSSER BELEG Fakultät Informatik, Institut für Systemarchitektur, Professur für Rechnernetze GROSSER BELEG Synchronisation von WSDL und BPEL Beschreibung in Web Services Kompositionen Bearbeiter: Hongming Liu Betreuer:

Mehr

Kapitel 5 Web-Services

Kapitel 5 Web-Services Kapitel 5: Web-Services 1 Kapitel 5 Web-Services 5.1 Web-Services Verwendung/Aufruf (Service Invocation) SOAP Beschreibung (Service Description) WSDL Repository/Verzeichnis (Service Discovery) UDDI 5.2

Mehr

Telecooperation. Telekooperation 1 Chapter 2, Part II a (Mainstream Paradigms) Web Services. Technische Universität Darmstadt

Telecooperation. Telekooperation 1 Chapter 2, Part II a (Mainstream Paradigms) Web Services. Technische Universität Darmstadt Technische Universität Darmstadt Telecooperation 1 Chapter 2, Part II a (Mainstream Paradigms) Web Services Gerhard Austaller, Erwin Aitenbichler, Max Mühlhäuser Copyrighted material; for TUD student use

Mehr

Metadata Service Respository (MDS) - Sehen, lernen, verstehen!

Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Metadata Service Respository (MDS) - Sehen, lernen, verstehen! Carsten Wiesbaum esentri AG Schlüsselworte Metadata Service Repository, MDS, Oracle Fusion Middleware Einleitung Früher oder später wird jeder

Mehr

Containerformat Spezifikation

Containerformat Spezifikation Containerformat Spezifikation Version 1.0-09.05.2011 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...

Mehr

Massively Scalable Enterprise Applications. Chris Bernhardt

Massively Scalable Enterprise Applications. Chris Bernhardt Massively Scalable Enterprise Applications Chris Bernhardt Allgemein Einsatzgebiete BizTalk Server Engine Management Enterprise Single Sign-On Neuheiten und Beispiele Quellen Agenda 28.01.2010 Microsoft

Mehr

Inhaltsverzeichnis. Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Könings, Mischa Kölliker, Perry Pakull, Peter Welkenbach

Inhaltsverzeichnis. Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Könings, Mischa Kölliker, Perry Pakull, Peter Welkenbach sverzeichnis Daniel Liebhart, Guido Schmutz, Marcel Lattmann, Markus Heinisch, Michael Könings, Mischa Kölliker, Perry Pakull, Peter Welkenbach Integration Architecture Blueprint Leitfaden zur Konstruktion

Mehr

Enterprise Application Integration Erfahrungen aus der Praxis

Enterprise Application Integration Erfahrungen aus der Praxis Enterprise Application Integration Erfahrungen aus der Praxis Teil 3: Fallstudien EDS und Vitria Tutorial NODs 2002, Wolfgang Keller and Generali 2001, 2002, all rights reserved 1 Überblick EDS ein selbstgebautes

Mehr

Zustandsgebundene Webservices

Zustandsgebundene Webservices Zustandsgebundene Webservices Präsentation ausgewählter Problemstellungen der Informatik Markus Oertel oer@uni-paderborn.de Universität Paderborn 25. September 2005 Zustandsgebundene Webservices Seite

Mehr

Architektur von SOAP basierten Web Services

Architektur von SOAP basierten Web Services Architektur von SOAP basierten Web Services André Homeyer 28.11.2005 Worst-Case einer verteilten Anwendung TravelTime Client Benutzerinterface WackyWing Server Flüge suchen TravelTime Server Flüge suchen

Mehr