Seminararbeit Einbindung von Webservices über BPEL
|
|
- Lioba Brahms
- vor 8 Jahren
- Abrufe
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:
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
MehrWSDL. 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
MehrWorkflow, 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
MehrWeb 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.
MehrJava 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
MehrVerteilte 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
MehrThemen. 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
MehrMSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003
Page 1 of 8 SMTP Konfiguration von Exchange 2003 Kategorie : Exchange Server 2003 Veröffentlicht von webmaster am 25.02.2005 SMTP steht für Simple Mail Transport Protocol, welches ein Protokoll ist, womit
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrPOIS-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
MehrL10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016
L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele
MehrOrientierungshilfen 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
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
MehrBusiness 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?
MehrEin 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
MehrEnterprise 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
Mehr3-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
MehrKapitel 4 Die Datenbank Kuchenbestellung Seite 1
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrDatenbanken Kapitel 2
Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,
MehrSoftwareentwicklungspraktikum Sommersemester 2007. Grobentwurf
Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig
MehrWürfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.
040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
Mehrgallestro BPM - weit mehr als malen...
Ob gallestro das richtige Tool für Ihr Unternehmen ist, können wir ohne weitere rmationen nicht beurteilen und lassen hier die Frage offen. In dieser rmationsreihe möchten wir Ihre Entscheidungsfindung
MehrSind 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
MehrEinführungskurs MOODLE Themen:
Einführungskurs MOODLE Themen: Grundlegende Einstellungen Teilnehmer in einen Kurs einschreiben Konfiguration der Arbeitsunterlagen Konfiguration der Lernaktivitäten Die Einstellungen für einen Kurs erreichst
MehrDokumentation. Schnittstelle IKISS Bayerischer Behördenwegweiser. Stand: 2008-10-21
Dokumentation Schnittstelle IKISS Bayerischer Behördenwegweiser Stand: 2008-10-21 Copyright 2008 Advantic Systemhaus GmbH. Alle Rechte vorbehalten. Dokumentationsmaterial, das von der Advantic Systemhaus
MehrSpeicher in der Cloud
Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG
MehrProjektmanagement in der Spieleentwicklung
Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren
Mehr1 Mathematische Grundlagen
Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.
MehrWebalizer HOWTO. Stand: 18.06.2012
Webalizer HOWTO Stand: 18.06.2012 Copyright 2003 by manitu. Alle Rechte vorbehalten. Alle verwendeten Bezeichnungen dienen lediglich der Kennzeichnung und können z.t. eingetragene Warenzeichen sein, ohne
MehrHandbuch Fischertechnik-Einzelteiltabelle V3.7.3
Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3
Mehrhttp://train-the-trainer.fh-joanneum.at IINFO Storyboard
IINFO Storyboard Allgemeine Bemerkungen und Richtlinien zur Handhabung. Das Storyboard besteht aus einem Web, d.h. einer vernetzten Struktur von HTML-Seiten welche später von den Programmieren direkt als
MehrMatrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -
Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung
MehrHandbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)
Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...
MehrStandards 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
MehrWindows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1
Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1 Wenn der Name nicht gerade www.buch.de oder www.bmw.de heißt, sind Internetadressen oft schwer zu merken Deshalb ist es sinnvoll, die Adressen
MehrLizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrGutes Leben was ist das?
Lukas Bayer Jahrgangsstufe 12 Im Hirschgarten 1 67435 Neustadt Kurfürst-Ruprecht-Gymnasium Landwehrstraße22 67433 Neustadt a. d. Weinstraße Gutes Leben was ist das? Gutes Leben für alle was genau ist das
MehrZulassung nach MID (Measurement Instruments Directive)
Anwender - I n f o MID-Zulassung H 00.01 / 12.08 Zulassung nach MID (Measurement Instruments Directive) Inhaltsverzeichnis 1. Hinweis 2. Gesetzesgrundlage 3. Inhalte 4. Zählerkennzeichnung/Zulassungszeichen
MehrSRM - Ausschreibung (Lieferant)
Inhalt 0. Systemlandschaft 2 1. Benachrichtigung über neue Ausschreibungen 2 2. Anmeldung am Lieferantenportal 2 3. Ausschreibung bearbeiten 3 3.1 Übersicht über alle Ausschreibungen 3 3.2 Teilnahme avisieren
Mehretutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche
etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:
MehrIst Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?
UErörterung zu dem Thema Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken? 2000 by christoph hoffmann Seite I Gliederung 1. In zu großen Mengen ist alles schädlich. 2.
MehrGrundlagen verteilter Systeme
Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
MehrAutorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente
Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung
MehrA585 Mailserver. IKT-Standard. Ausgabedatum: 2015-02-04. Version: 2.03. Ersetzt: 2.02. Genehmigt durch: Informatiksteuerungsorgan Bund, am 2005-12-05
Eidgenössisches Finanzdepartement EFD Informatiksteuerungsorgan des Bundes ISB A585 Mailserver Klassifizierung: Typ: Nicht klassifiziert IKT-Standard Ausgabedatum: 2015-02-04 Version: 2.03 Status: Genehmigt
MehrSIMP 1.01 Protokollspezifikation (Mindestanforderung)
SIMP 1.01 Protokollspezifikation (Mindestanforderung) Autor: Harald Pittesser, Dokumentversion: 0.5 beta Eigenschaften SIMP (Simple Instant Message Protocol) ist ein Instant Message Protokol welches folgende
MehrHilfedatei der Oden$-Börse Stand Juni 2014
Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten
MehrWorkflows verwalten. Tipps & Tricks
Tipps & Tricks INHALT SEITE 1. Grundlegende Informationen 3 2. Workflows / Genehmigungsprofile verwalten 2.1 Erstes Genehmigungsprofil einrichten 5 2.2 Zweites Genehmigungsprofil einrichten 11 2.3 Workflow
Mehr4. BEZIEHUNGEN ZWISCHEN TABELLEN
4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe
MehrTechnical Note Nr. 101
Seite 1 von 6 DMS und Schleifringübertrager-Schaltungstechnik Über Schleifringübertrager können DMS-Signale in exzellenter Qualität übertragen werden. Hierbei haben sowohl die physikalischen Eigenschaften
MehrHANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG
it4sport GmbH HANDBUCH PHOENIX II - DOKUMENTENVERWALTUNG Stand 10.07.2014 Version 2.0 1. INHALTSVERZEICHNIS 2. Abbildungsverzeichnis... 3 3. Dokumentenumfang... 4 4. Dokumente anzeigen... 5 4.1 Dokumente
MehrARCHITEKTUR VON INFORMATIONSSYSTEMEN
ARCHITEKTUR VON INFORMATIONSSYSTEMEN File Transfer Protocol Einleitung Das World Wide Web war ja ursprünglich als verteiltes Dokumentenverwaltungssystem für die akademische Welt gedacht. Das Protokoll
MehrAutor: 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
MehrSMS/ MMS Multimedia Center
SMS/ MMS Multimedia Center der BEYOND THE NET GmbH BEYOND THE NET GmbH Seite 1 Unser Multimedia Center ist eine WEB basierende Anwendung, die es ermöglicht von einer Zentrale aus, viele Mitarbeiter zu
MehrZwischenablage (Bilder, Texte,...)
Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen
MehrInsiderwissen 2013. Hintergrund
Insiderwissen 213 XING EVENTS mit der Eventmanagement-Software für Online Eventregistrierung &Ticketing amiando, hat es sich erneut zur Aufgabe gemacht zu analysieren, wie Eventveranstalter ihre Veranstaltungen
MehrBusiness 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
MehrKonfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014
Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen
Handbuch ECDL 2003 Basic Modul 5: Datenbank Access starten und neue Datenbank anlegen Dateiname: ecdl5_01_02_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Access
MehrContainerformat 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...
MehrMonitore. Klicken bearbeiten
Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition
Mehre-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
MehrBaseCamp OS X, Zümo 590 und die unterschiedliche Punkte in einer Route:
BaseCamp OS X, Zümo 590 und die unterschiedliche Punkte in einer Route: Es gibt 2 verschieden Punkte die zur Routenerstellung in BaseCamp OS X, Zümo 590 zur Verwendung kommen: Wegpunkte/Zwischenziele mit
MehrSeminarbericht 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
MehrISO 20022 im Überblick
Inhaltsverzeichnis Was ist ISO 20022? 2 Wo sind die ISO-20022-Nachrichten veröffentlicht? 2 Welche Bereiche umfasst ISO 20022? 2 Welche Bedeutung hat ISO 20022 für die Standardisierung? 3 Welche Bedeutung
MehrDokumentation. Black- und Whitelists. Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser
Dokumentation Black- und Whitelists Absenderadressen auf eine Blacklist oder eine Whitelist setzen. Zugriff per Webbrowser Inhalt INHALT 1 Kategorie Black- und Whitelists... 2 1.1 Was sind Black- und Whitelists?...
MehrM@school Software- und Druckerzuweisung Selbstlernmaterialien
Bildung und Sport M@school Software- und Druckerzuweisung Selbstlernmaterialien Hinweise zum Skript: LMK = Linker Mausklick RMK = Rechter Mausklick LMT = Linke Maustaste RMT = Rechte Maustaste Um die Lesbarkeit
MehrContainerformat Spezifikation
Containerformat Spezifikation Version 1.1-21.02.2014 Inhaltsverzeichnis 0 Einführung... 4 0.1 Referenzierte Dokumente... 4 0.2 Abkürzungen... 4 1 Containerformat... 5 1.1 Aufbau des Container-Headers...
MehrAlbert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen
Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.
MehrIst Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers
Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,
MehrMan liest sich: POP3/IMAP
Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und
MehrPL/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
MehrLeitfaden zur Moduleinschreibung
Studienorganisation Leitfaden zur Moduleinschreibung im Wahlbereich der Geistes- und Sozialwissenschaften und in die fakultätsübergreifenden Schlüsselqualifikationen Anmeldung im TOOL Die Adresse (URL)
MehrPTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN
PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN Karlsruhe, April 2015 Verwendung dichte-basierter Teilrouten Stellen Sie sich vor, in einem belebten Gebäude,
MehrDokumentation, Analyse, Optimierung,
Dokumentation, Analyse, Optimierung, Automatisierung als gemeinsame Sprache für Business, Architektur und Entwicklung DOAG SIG BPM, Folie 1 Vortragende Software Engineer Dr. Projektleiter Folie 2 Zühlke:
Mehr1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.
1 Einleitung Lernziele automatische Antworten bei Abwesenheit senden Einstellungen für automatische Antworten Lerndauer 4 Minuten Seite 1 von 18 2 Antworten bei Abwesenheit senden» Outlook kann während
MehrJede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.
Binäres und dezimales Zahlensystem Ziel In diesem ersten Schritt geht es darum, die grundlegende Umrechnung aus dem Dezimalsystem in das Binärsystem zu verstehen. Zusätzlich wird auch die andere Richtung,
MehrDokumentation zur Versendung der Statistik Daten
Dokumentation zur Versendung der Statistik Daten Achtung: gem. 57a KFG 1967 (i.d.f. der 28. Novelle) ist es seit dem 01. August 2007 verpflichtend, die Statistikdaten zur statistischen Auswertung Quartalsmäßig
MehrWindows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014. inkl. zusätzlichem Übungsanhang K-W81-G-UA
Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014 Windows 8.1 Grundkurs kompakt inkl. zusätzlichem Übungsanhang K-W81-G-UA 1.3 Der Startbildschirm Der erste Blick auf den Startbildschirm (Startseite) Nach
Mehr2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:
2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway
MehrArbeiten mit UMLed und Delphi
Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf
Mehr2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen
2. Kommunikation und Synchronisation von Prozessen 2.2 Kommunikation zwischen Prozessen Dienste des Internets Das Internet bietet als riesiges Rechnernetz viele Nutzungsmöglichkeiten, wie etwa das World
MehrAKTUALISIERT - Einrichten von imessage auf mehreren Geräten
AKTUALISIERT - Einrichten von imessage auf mehreren Geräten Inhalt Kapitel 1 Kapitel 2 Kapitel 3 Kapitel 4 Kapitel 5 Zusätzliche E- Mailadressen für imessage/facetime Apple- ID erstellen imessage im iphone
MehrLizenzierung von SharePoint Server 2013
Lizenzierung von SharePoint Server 2013 Das Lizenzmodell von SharePoint Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung der Zugriffe
MehrVisualisierung verteilter Systeme
Visualisierung verteilter Systeme Visualisierung von kausalen Abhängigkeiten von Susanne Schulz SS04 1 Gegenstand dieses Vortags Growing Squares: Animated Visualization of Causal Relations Causality Visualization
MehrGeld Verdienen im Internet leicht gemacht
Geld Verdienen im Internet leicht gemacht Hallo, Sie haben sich dieses E-book wahrscheinlich herunter geladen, weil Sie gerne lernen würden wie sie im Internet Geld verdienen können, oder? Denn genau das
MehrKonfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung
Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung Inhalt 1. Einleitung:... 2 2. Igel ThinClient Linux OS und Zugriff aus dem LAN... 3
MehrHinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt
Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt 1. Vorbetrachtungen... 2 2. Die Installation... 2 3. Einstellungen - Erstellung der Verknüpfung... 3 3.1 Benutzung des Konfigurationsprogramms
MehrEinrichtung einer eduroam Verbindung unter dem Betriebssystem Android
Einrichtung einer eduroam Verbindung unter dem Betriebssystem Android Im Folgenden wird die Einrichtung einer eduroam-verbindung unter dem Betriebssystem Android beschrieben. Die Android-Plattform existiert
MehrAnwendungsbeispiele Sign Live! Secure Mail Gateway
Anwendungsbeispiele Sign Live! Secure Mail Gateway Kritik, Kommentare & Korrekturen Wir sind ständig bemüht, unsere Dokumentation zu optimieren und Ihren Bedürfnissen anzupassen. Ihre Anregungen sind uns
MehrWenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt
1. Für alle, die mit wenig zufrieden sind Wenn man nach Beendigung der WINDOWS-SICHERUNG folgendes angezeigt bekommt Bild 1 bekommt man erst mal einen Schreck. Die Meldung wurden nicht gesichert beunruhigt,
Mehrmysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man
MehrText Formatierung in Excel
Text Formatierung in Excel Das Aussehen des Textes einer oder mehrerer Zellen kann in Excel über verschiedene Knöpfe beeinflusst werden. Dazu zuerst die betroffenen Zelle(n) anwählen und danach den entsprechenden
MehrPädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig?
Pädagogik Melanie Schewtschenko Eingewöhnung und Übergang in die Kinderkrippe Warum ist die Beteiligung der Eltern so wichtig? Studienarbeit Inhaltsverzeichnis 1. Einleitung.2 2. Warum ist Eingewöhnung
MehrAnton Ochsenkühn. amac BUCH VERLAG. Ecxel 2016. für Mac. amac-buch Verlag
Anton Ochsenkühn amac BUCH VERLAG Ecxel 2016 für Mac amac-buch Verlag 2 Word-Dokumentenkatalog! Zudem können unterhalb von Neu noch Zuletzt verwendet eingeblendet werden. Damit hat der Anwender einen sehr
Mehr