SlideShare une entreprise Scribd logo
1  sur  71
Orchestrierung von Web Services




          Seminar Serviceorientierte Architekturen
                                         18. Dezember 2008
                           Hannes Meyer & Alexander Schmid
                     Masterstudiengang Information Systems & Services
Inhalt



         1. Geschäftsprozessmodellierung

         2. GP-Management und SOA

         3. Orchestrierung mit BPEL

         4. Fazit und Ausblick

         5. Praxisteil




                                                                 2
                  Hannes Meyer & Alexander Schmid   18.12.2008
Inhalt



1. Geschäftsprozessmodellierung               Definition
                                              Methoden
2. GP-Management und SOA
                                              Grafische Notationen

3. Orchestrierung mit BPEL

4. Fazit und Ausblick

5. Praxisteil




                                                                          3
                        Hannes Meyer & Alexander Schmid      18.12.2008
Geschäftsprozessmodellierung



    „Geschäftsprozessmodellierung ist eine Menge von Praktiken oder
    Maßnahmen, die Unternehmen durchführen können, um alle Aspekte
    eines Geschäftsprozesses darstellen oder beschreiben zu können“
    (nach Bloomberg, Schmelzer)




                                                                      4
                       Hannes Meyer & Alexander Schmid   18.12.2008
Methoden für GP-Modellierung


                    Textbasiert                                                Tabellenbasiert
 - einfach erstellbar (Dokument)                             - einfach erstellbar (Tabellenkalkulation)
 - keine Terminologie                                        - kompakter und übersichtlicher
 - keine autom. Verarbeitung                                 - keine komplexe Kontrollflüsse
 - Problem großer Prozesslandschaften                        - Problem großer Prozesslandschaften




                                                                   Grafisches Modell mit Notation
             Grafische Darstellung                           - Anschaulichkeit
                                                             - komplexe Kontrollflüsse
 - Anschaulichkeit                                           - Reihe von Softwarwerkzeugen
 - keine Einheitlichkeit                                     - Attribute für Modellierungselemente
                                                             - Modellierungskonventionen
 - Problem großer Prozesslandschaften
                                                             - Große Prozesslandschaften darstellbar bzw. aufteilbar




                                                                                                                       5
                                        Hannes Meyer & Alexander Schmid              18.12.2008
Grafische Notationen

• Unified Modeling Language (UML)
  – Aktivitätsdiagramm


• Ereignis-gesteuerte Prozesskette (EPK)

• Business ProcessMarkup Notation (BPMN)




                                                                   6
                    Hannes Meyer & Alexander Schmid   18.12.2008
Unified Modeling Language

• Standardisierte Sprache zur
  Modellierung von Software
  und anderen Systemen

• Aktivitätsdiagramm zur
  Abbildung eines
  Anwendungsfall




                                                                  7
                   Hannes Meyer & Alexander Schmid   18.12.2008
Ereignis-gesteuerte Prozesskette

• Grafische Darstellung von Geschäftsprozessen
  einer Organisation
• Wesentliches Element des ARIS-Konzepts
• Operationen, Ereignisse und Funktionen




• Gerichtete Graphen zur Verknüpfung

                                                     Bildquelle: http://www.iam-wiki.org/EPK


                                                                                               8
                   Hannes Meyer & Alexander Schmid             18.12.2008
Erweiterte Ereignis-gesteuerte Prozesskette

• erweiterte Ereignis-gesteuerte Prozesskette
  (eEPK):
   – Organisationseinheit
   – Datenflüsse
   – Anwendungssystem


• Kanten dazu stellen Rollen dar (z.B. „führt aus“)

• Beispiel
                                                       Bildquelle: http://www.iam-wiki.org/EPK


                                                                                                 9
                     Hannes Meyer & Alexander Schmid             18.12.2008
Business ProcessMarkupNotation
• Schwerpunkt ist grafische Darstellung von
  Geschäftsprozessen

• Symbole zur Verständlichkeit für Fachpersonal und
  Informatiker

• Kaum Anwendungs- und Strukturierungsanweisungen

• Überführung in ausführbare Prozessbeschreibungen
  (BPEL, XPDL) schwierig




                                                                    10
                     Hannes Meyer & Alexander Schmid   18.12.2008
BPMN – Objekte
• Flow Objects
   – Knoten in den Geschäftsprozessdiagrammen

• Connecting Objects
   – Verbindende Kanten

• Pools/Swimlanes
   – Bereiche mit denen Aktoren und Systeme dargestellt
     werden

• Artefakte
   – Data Objects, Groups, Annotations


                                                                      11
                       Hannes Meyer & Alexander Schmid   18.12.2008
BPMN – Flow Objects

• Activity

                     Task                         Subprocess          Loop


• Gateway

              AND                       OR                     XOR    Event-basiert

• Event

             Start     Inter-            End             Start-   Int.-     End-
                       mediate                           Message Timer    Exception

                                                                             12
                Hannes Meyer & Alexander Schmid          18.12.2008
BPMN – weitere Elemente

• Connecting Objects:
   – Sequence Flow
   – MessageFlow
• Pools/Swimlanes




• Artifacts
   – Data Objects, Groups, Annotations

                                                                    13
                     Hannes Meyer & Alexander Schmid   18.12.2008
Beispiel Bestellabwicklung




                                                              14
               Hannes Meyer & Alexander Schmid   18.12.2008
Inhalt



1. Geschäftsprozessmodellierung

2. GP-Management und SOA                      Zusammenhänge

                                              Vorgehensweise
3. Orchestrierung mit BPEL

4. Fazit und Ausblick

5. Praxisteil




                                                                            15
                        Hannes Meyer & Alexander Schmid        18.12.2008
Zusammenhänge GPM und SOA

• Services sind ein Teil von Geschäftsprozessen

• Services erfüllen fachliche Aufgaben

• BPEL als Teil von SOA beschreibt
  Geschäftsprozesse




                                                                 16
                  Hannes Meyer & Alexander Schmid   18.12.2008
Vorgehensweise

• Wie gelangt man zu den Services eines
  Geschäftsprozesses?

• Wie kann ich Services allgemein formuliert
  erstellen, damit sie in anderen Szenarien
  wiederverwendet werden können?




                                                                  17
                   Hannes Meyer & Alexander Schmid   18.12.2008
Vorgehensweise

• Zwei Ansätze:
    Dekomposition                                         Komposition
  Top-Down                                                Bottom-Up

                                                           Geschäfts-
    Geschäftsprozesse
                                                            prozesse

                                      Composed-
       Composed-
                    WAS IST BESSER ??? Services
        Services

         Basis-
                                                          Basis-Services
        Services



                                                                           18
                        Hannes Meyer & Alexander Schmid    18.12.2008
Vorgehensweise

• Wie gelangt man zu den Services eines
  Geschäftsprozesses?

• Wie kann ich Services allgemein formuliert
  erstellen, damit sie in anderen Szenarien
  wiederverwendet werden können?


Die Service-Entwicklung sollte „agil“ sein (sowohl
 Top-Down als auch Bottom-Up)

                                                                  19
                   Hannes Meyer & Alexander Schmid   18.12.2008
Pause




                                                       20
        Hannes Meyer & Alexander Schmid   18.12.2008
Fortsetzung




                                                             21
              Hannes Meyer & Alexander Schmid   18.12.2008
Inhalt



1. Geschäftsprozessmodellierung

2. GP-Management und SOA
                                             Erklärung Orchestrierung
3. Orchestrierung mit BPEL
                                             Abgrenzung zu Choreografie

4. Fazit und Ausblick                        Sprachelemente

                                             Ausnahmebehandlung und Events
5. Praxisteil                                Überblick Fallbeispiel Bestellabwicklung




                                                                                        22
                        Hannes Meyer & Alexander Schmid           18.12.2008
BPEL Historie

•   2002: BPEL4WS 1.0 von Microsoft, IBM & BEA
•   IBM: Web Services FlowLanguage WSFL
•   Microsoft: XLANG
•   2003: Beitritt von SAP und Siebel Systems
•   Weiterentwicklung von OASIS
•   Offizieller offener Standard
•   2007: WS-BPEL 2.0


                                                                  23
                   Hannes Meyer & Alexander Schmid   18.12.2008
BPEL im Web-Services-Stapel

                          WS-BPEL                                    Business Processes

            WSDL, Policy, UDDI, Inspection                                 Description

                                                 Transactions
                       ReliableMes
    Security                                                          Quality Of Service
                          saging
                                                 Coordination

    SOAP (logicalmessaging)                    Otherprotocols
                                                                         Transport and
                                                                           Encoding
         XML, Encoding                          Otherservices


      Quelle: In Anlehnung an Ryan, Frank
      http://www.oasis-open.org/committees/download.php/23068/WS-
      BPEL%20Technical%20Overview%20for%20Developers%20and%20Architects%20-
      %20Part%201%20(Frank%20Ryan).pdf

                                                                                           24
                                Hannes Meyer & Alexander Schmid      18.12.2008
WS-BPEL - Einführung

• Web Services Business
  ProcessExecutionLanguage 2.0
• Orchestriert Web-Services




                                                                25
                 Hannes Meyer & Alexander Schmid   18.12.2008
Basis- und Composite-Services

        Operative DB


        Basis-Service



                        BPEL                       Prozess                               Output
Input



                                                    Composite-Service

                          B-Service                                                B-Service
                                                             B-Service
                                                                                   Operation
                            DB 1
                                                               DB 2
                                                                                          26
                           Hannes Meyer & Alexander Schmid            18.12.2008
Orchestrierung

• Komposition verschiedener Services zu einem
  Prozess.
• Services können intern und extern sein.
• Steuerung der zeitlichen Reihenfolge und
  Bedingungen der Serviceaufrufe.
• Übergabe und Zwischenspeicherung von Daten
  zwischen Services.
• Der komponierte Prozess ist wiederum ein
  Service.

                                                                27
                 Hannes Meyer & Alexander Schmid   18.12.2008
Abgrenzung zu Choreografie
• Choreografie als Zusammenarbeit gleichberechtigter
  Partner.
• Orchester wird zentral geleitet (dirigiert).
• Eigenschaften der Choreografie:
   – bessere Skalierung
   – fehlender Gesamtüberblick
   – Services triggern sich gegenseitig.




                                                      Bildquellen: http://www.flickr.com/creativecommons/



                                                                                                            28
                          Hannes Meyer & Alexander Schmid              18.12.2008
BPEL und WSDL

• Mittels einer WSDL wird ein BPEL-Prozess
  selbst als Service zur Verfügung gestellt.
• WDSL definiert u.a. Input-/Output-Messages,
  deren Typ.
• Serviceaufrufe innerhalb des Prozesses stützen
  sich auf WSDL-Dokumente.
• BPEL erweitert die WSDL- Spezifikation, um
  asynchrone Prozesse mit langer Laufzeit zu
  unterstützen.
• WS-BPEL 2.0 verwendet WSDL 1.1
                                                                 29
                  Hannes Meyer & Alexander Schmid   18.12.2008
BPEL Sprachelemente

• Prozessdefinition                        • Strukturierende Aktivitäten
   – Prozess & Import                              – Sequence, Flow
   – Variablen                                     – If-else
   – Partner Links                                 – ForEach


• Grundlegende Aktivitäten                 • Ausnahmebehandlung
   –                                               – Fault-Handler
       Assign
   –                                               – Event-Handler
       Invoke
   –                                               – Compensation-Handler
       Receive&Reply
   –   Throw


                                                                            30
                        Hannes Meyer & Alexander Schmid    18.12.2008
Überblick BPEL Sprachelemente

PROZESSDEFINITION


                                                                    31
                     Hannes Meyer & Alexander Schmid   18.12.2008
32
Hannes Meyer & Alexander Schmid   18.12.2008
<process>




                                                           33
            Hannes Meyer & Alexander Schmid   18.12.2008
<process>
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>

<processname=quot;process_Bestellungquot;
targetNamespace=quot;http://enterprise.netbeans.org/bpel/process_Bestellungquot;
      xmlns=quot;http://docs.oasis-open.org/wsbpel/2.0/process/executablequot;
      xmlns:sxt=quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Tracequot;
      xmlns:sxed=quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editorquot;
      xmlns:xsd=quot;http://www.w3.org/2001/XMLSchemaquot;
      xmlns:bpws=quot;http://docs.oasis-open.org/wsbpel/2.0/process/executablequot;
xmlns:adress=quot;http://xml.netbeans.org/schema/Adressequot;
xmlns:kunde=quot;http://xml.netbeans.org/schema/Kundequot;
xmlns:best=quot;http://xml.netbeans.org/schema/Bestellungquot;
      xmlns:tns=quot;http://j2ee.netbeans.org/wsdl/Bestellung_pruefenquot;
      xmlns:sxxf=quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/XPathFunctionsquot;
      xmlns:sxeh=quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandlingquot;>




<documentation>
                           Dies ist der Bestellprozess. …
</documentation>

             […]

</process>




                                                                                                    34
                                               Hannes Meyer & Alexander Schmid         18.12.2008
<import>
<importnamespace=quot;http://xml.netbeans.org/schema/Bestellungquot; location=quot;../src/Bestellung.xsdquot;
    importType=quot;http://www.w3.org/2001/XMLSchemaquot;/>

<importnamespace=quot;http://bestellabwicklung.hdm.dequot; location=quot;Bestellung_pruefen/Bestellung_pruefen.wsdlquot;
    importType=quot;http://schemas.xmlsoap.org/wsdl/quot;/>

<importnamespace=quot;http://bestellabwicklung.hdm.de/quot; location=quot;WebServices/MaterialPruefenService.wsdlquot;
    importType=quot;http://schemas.xmlsoap.org/wsdl/quot;/>

<import namespace=quot;http://j2ee.netbeans.org/wsdl/prozess_Bestellungquot; location=quot;process_Bestellung.wsdlquot;
    importType=quot;http://schemas.xmlsoap.org/wsdl/quot;/>




                                                                                                           35
                                            Hannes Meyer & Alexander Schmid       18.12.2008
<partnerLinks>




                                                                36
                 Hannes Meyer & Alexander Schmid   18.12.2008
<partnerLinks>

                  Verbindung zu einem Partner-Service.




<partnerLinks>
<partnerLink
name=quot;PL_Bestellung_pruefenquot;
xmlns:tns=quot;http://j2ee.netbeans.org/wsdl/subprocess_Bestellung_pruefenquot;
partnerLinkType=quot;tns:subprocess_Bestellung_pruefenquot;
partnerRole=quot;subprocess_Bestellung_pruefenPortTypeRolequot;/>
[…]
</partnerLinks>



                                                                            37
                             Hannes Meyer & Alexander Schmid   18.12.2008
<variables>
<variables>
<variable
name=quot;Subprocess_Bestellung_pruefenOperationInquot;
xmlns:tns=quot;http://j2ee.netbeans.org/wsdl/subprocess_Bestellung_pruefenquot;
messageType=quot;tns:subprocess_Bestellung_pruefenOperationRequestquot;/>
<variable name=quot;Kundequot; type=quot;kunde:Kundequot; />
<variable name=quot;Meldungquot; type=quot;xsd:stringquot; />
</variables>


•   In Variablen werden Zustände eines Prozesses gespeichert.
•   Variablen müssen von einem der folgenden Typen sein:
     – WSDL Nachrichten
     – XMLS Simple Types und ComplexTypes
     – XMLS Elemente im Allgemeinen (String etc.)

•   Die Definition der Variablen als direkte Kinder von <process> macht sie global;
•   Innerhalb eines Scopes nur für Kinder dieses Scopes sichtbar.
•   XPATH als Zugriffsprache auf Variablen




                                                                                      38
                                     Hannes Meyer & Alexander Schmid   18.12.2008
Überblick BPEL Sprachelemente

GRUNDLEGENDE AKTIVITÄTEN


                                                                    39
                     Hannes Meyer & Alexander Schmid   18.12.2008
<receive>




                                                           40
            Hannes Meyer & Alexander Schmid   18.12.2008
<receive>

                         Empfangen einer passenden eintreffenden Nachricht.




<receive

name=quot;Bestelleingangquot;

partnerLink=quot;Kundequot;

portType=quot;tns:prozess_BestellungPortTypequot;

operation=quot;prozess_BestellungOperationquot;

variable=quot;Prozess_BestellungOperationInquot;

createInstance=quot;yesquot;

xmlns:tns=quot;http://.../wsdl/prozess_Bestellungquot; >
</receive>



                                                                                      41
                                       Hannes Meyer & Alexander Schmid   18.12.2008
<reply>




                                                         42
          Hannes Meyer & Alexander Schmid   18.12.2008
<reply>

                      Sende eine Nachricht als Antwort auf <receive>.




<replyname=quot;Bestaetigung_sendenquot;

partnerLink=quot;Kundequot;

operation=quot;prozess_BestellungOperationquot;

xmlns:tns=quot;http://j2ee.netbeans.org/wsdl/prozess_Bestellungquot;

portType=quot;tns:prozess_BestellungPortTypequot;

variable=quot;Prozess_BestellungOperationOutquot; />




                                                                                43
                                 Hannes Meyer & Alexander Schmid   18.12.2008
<invoke>




                                                          44
           Hannes Meyer & Alexander Schmid   18.12.2008
<invoke>

                      Führe eine Operation eines PartnerLinks aus.




<invokename=quot;Bestellung_pruefenquot;

partnerLink=quot;PL_Bestellung_pruefenquot;

operation=quot;bestellung_pruefenOperationquot;

portType=quot;tns:bestellung_pruefenPortTypequot;

xmlns:tns=quot;http://bestellabwicklung.hdm.dequot;

inputVariable=quot;Bestellung_pruefenOperationInquot;

outputVariable=quot;Bestellung_pruefenOperationOutquot;>

</invoke>



                                                                                  45
                                   Hannes Meyer & Alexander Schmid   18.12.2008
<assign>




                                                          46
           Hannes Meyer & Alexander Schmid   18.12.2008
<assign>

                          Weise Variablen neue Werte zu.




<assign name=quot;Assign1quot;>

<copy>

<from variable=quot;Prozess_BestellungOperationInquot;

part=quot;bestellprozess_inquot; />

<tovariable=quot;Bestellung_pruefenOperationInquot;

part=quot;bestellung_inquot; />

</copy>

</assign>


                                                                                    47
                                     Hannes Meyer & Alexander Schmid   18.12.2008
<copy> mit xsl Transformation
<copy>
<from>
bpws:doXslTransform('urn:stylesheets:Bestellbestaetigung.xsl',
   $Prozess_BestellungOperationIn.bestellprozess_in)
</from>
<to variable=quot;Prozess_BestellungOperationOutquot; part=quot;bestellprozess_outquot;/>
</copy>




                                                                                   48
                                    Hannes Meyer & Alexander Schmid   18.12.2008
xslstylesheet
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<xsl:stylesheet xmlns:xsl=quot;http://www.w3.org/1999/XSL/Transformquot; version=quot;1.0quot;
xmlns:bes=quot;http://xml.netbeans.org/schema/Bestellungquot;
xmlns:kun=quot;http://xml.netbeans.org/schema/Kundequot;>
<xsl:outputmethod=quot;xmlquot;/>

<xsl:templatematch=quot;bes:Bestellungquot;>
<bestaetigung>
<xsl:variablename=quot;tmpTotalquot;/>
<bestellnummer><xsl:value-ofselect=quot;@bestellnummerquot;/></bestellnummer>
<datum><xsl:value-ofselect=quot;@bestelldatumquot;/></datum>
<kunde><xsl:value-ofselect=quot;bes:Kunde/kun:Name/kun:Nachnamequot;/>, <xsl:value-
      ofselect=quot;bes:Kunde/kun:Name/kun:Vornamequot;/></kunde>
<kundennummer><xsl:value-ofselect=quot;bes:Kunde/kun:Kundennummerquot;/></kundennummer>

<bestellpositionen>
<xsl:for-eachselect=quot;bes:Bestellpositionquot;>
<produkt>
<nummer><xsl:value-ofselect=quot;bes:Produkt/bes:Produktnummerquot;/></nummer>
<name><xsl:value-ofselect=quot;bes:Produkt/bes:Produktbezeichnungquot;/></name>
<menge><xsl:value-ofselect=quot;bes:Bestellmengequot;/></menge>
<preis einheit=quot;EURquot;><xsl:value-ofselect=quot;bes:Produkt/bes:Produktpreis * ((bes:Produkt/bes:InklMwst) div 100 +1)quot;/></preis>
</produkt>
</xsl:for-each>
</bestellpositionen>
</bestaetigung>
</xsl:template>
</xsl:stylesheet>




                                                                                                                              49
                                                 Hannes Meyer & Alexander Schmid           18.12.2008
<wait>

                      Warte eine gewisse Zeit.


<waitname=quot;Wait1quot;>
<for>'P0Y0M0DT0H0M20S'</for>
</wait>
[…]

<waitname=quot;Wait2quot;>
<until>'2008-12-18T13:15+01:00'</until>
</wait>
[…]




                                                                                  50
                                   Hannes Meyer & Alexander Schmid   18.12.2008
Überblick BPEL Sprachelemente

STRUKTURIERENDE
AKTIVITÄTEN

                                                                    51
                     Hannes Meyer & Alexander Schmid   18.12.2008
<sequence>




                                                            52
             Hannes Meyer & Alexander Schmid   18.12.2008
<sequence>&<flow>
<sequence>
<receive […] />
<assign […] />
<invoke […] />
<reply […] />
</sequence>




<flow>
<invokename=quot;Invoke1quot; […] />
<invokename=quot;Invoke2quot; […] />
<invokename=quot;Invoke3quot; […] />
</flow>
<assign […] />
<reply […] />



                                                                              53
                               Hannes Meyer & Alexander Schmid   18.12.2008
<forEach>




                                                           54
            Hannes Meyer & Alexander Schmid   18.12.2008
<forEach>
<forEachname=quot;Fuer_jedequot; parallel=quot;noquot; counterName=quot;iquot;>
<startCounterValue>1</startCounterValue>
<finalCounterValue>count($Prozess_BestellungOperationIn.bestellprozess_in/best:Bestellposition)</finalCount
     erValue>
<scopename=quot;Positionquot;>
<variables><variablename=quot;Bestand_pruefenInquot; […] />[…]</variables>
<sequencename=quot;Sequence2quot;>
<assignname=quot;Assign4quot;>
<copy>
<from>$Prozess_BestellungOperationIn.bestellprozess_in/best:Bestellposition[$i]/best:Bestellmenge</from>
<to>$Bestand_pruefenIn.parameters/bestellmenge</to>
</copy>
                        […]
</assign>
<invokename=quot;Materialbestand_pruefenquot; […]/> […]
</sequence>
</scope>
</forEach>




                                                                                                      55
                                        Hannes Meyer & Alexander Schmid     18.12.2008
<if> - <else>




                                                               56
                Hannes Meyer & Alexander Schmid   18.12.2008
<if> - <else>
<ifname=quot;If1quot;>
<condition>$Bestand_pruefenOut.parameters/return&gt; 0</condition>
<sequencename=quot;Sequence4quot;>
<assignname=quot;Assign5quot;>
<copy>
<from>$Bestand_pruefenOut.parameters/return</from>
<to>$Auftrag_anlegenIn.parameters/produktionsmenge</to>
</copy>
<copy>
<from>$Bestand_pruefenIn.parameters/produktnummer</from>
<to>$Auftrag_anlegenIn.parameters/produktnummer</to>
</copy>
</assign>
<invokename=quot;Produktionsauftrag_ausloesenquot; partnerLink=quot;PL_Produktionquot;
     operation=quot;Auftrag_anlegenquot; portType=quot;tns:Produktionsauftrag_anlegenquot;
     inputVariable=quot;Auftrag_anlegenInquot; xmlns:tns=quot;http://bestellabwicklung.hdm.de/quot;></invoke>
</sequence>
<else> *…+ </else>
</if>

                                                                                                57
                                      Hannes Meyer & Alexander Schmid   18.12.2008
Überblick BPEL Sprachelemente

AUSNAHMEBEHANDLUNG


                                                                    58
                     Hannes Meyer & Alexander Schmid   18.12.2008
Fault Handler




                                                               59
                Hannes Meyer & Alexander Schmid   18.12.2008
<throw>

                    Erzeuge einen Fehler innerhalb des Prozesses.



<throw
name=quot;Throw1quot;
faultName=quot;ns2:datenfehlerquot;
faultVariable=quot;subprocess_Bestellung_pruefenOperationFaultquot;/>




                                                                               60
                                Hannes Meyer & Alexander Schmid   18.12.2008
<catch>
<catch faultName=quot;ns2:datenfehlerquot;

faultVariable=quot;Fault_Bestelldatenquot; faultMessageType=quot;ns2:

subprocess_Bestellung_pruefenOperationFaultquot;>

<replyname=quot;Reply_Datenfehlerquot;

partnerLink=quot;PL_Bestellprozessquot;

operation=quot;subprocess_Bestellung_pruefenOperationquot;

portType=quot;ns2:subprocess_Bestellung_pruefenPortTypequot;

faultName=quot;ns2:datenfehlerquot;

variable=quot;subprocess_Bestellung_pruefenOperationFaultquot; />

</catch>




                                                                                 61
                                  Hannes Meyer & Alexander Schmid   18.12.2008
CompensationHandler




Bildquelle: http://www.oasis-open.org/committees/download.php/23066/WS-
BPEL%20Technical%20Overview%20for%20Developers%20and%20Architects%20-%20Part%203%20(Charlton%20Barreto).pdf


                                                                                                         62
                                         Hannes Meyer & Alexander Schmid      18.12.2008
Event Handler

• Parallel zur Abarbeitung des
  Prozesses/ Scopes.
• Empfängt Requests, stößt
  draufhin Aktionen an.
• Beispiel: Stornierung durch
  Kunden tritt während des
  Bestellprozesses ein.



                                                                 63
                  Hannes Meyer & Alexander Schmid   18.12.2008
process_BestellungFault

                                                                                   Part: String
                                                       process_BestellungIn
                                                                  subprocess_Bestellung_pruefenIn
                                                        subprocess_Bestellung_pruefenIn
        process_BestellungIn
                                                                  Part: Bestellung
        Part: Bestellung




                                                   process_BestellungIn         Bestand_pruefenIn
                                  From: 1             - Bestellposition[i]/Produktnummer
                                                               subprocess_Bestellung_pruefenOut
                                                      - Bestellposition[i]/Bestellmenge
                                                                                Parts: Integer
                                  To: count(Be-
                                                            Part: boolean
                                  stellposition)   Bestand_pruefenIn (produktnummer, bestellmenge)
                                                   Material_reservierenIn (produktnummer, bestellmenge)


                                                             Condition:
                                                                     Bestand_pruefenOut
                                                                       Material_reservierenIn
                                                             Bestand_pruefenOut> 0
                                                                    Part: Integer
          Bestellung_pruefenOut
                                                                         Parts: Integer
           Auftrag_anlegenIn

                                                                       Auftrag_anlegenIn

                                                                       Part: Integer

process_BestellungOut

Part: String

                                                        DoXSLTransform

                                                         process_BestellungOut



                                                                                                             64
                                   Hannes Meyer & Alexander Schmid                        18.12.2008
Inhalt



         1. Geschäftsprozessmodellierung

         2. GP-Management und SOA

         3. Orchestrierung mit BPEL

         4. Fazit und Ausblick

         5. Praxisteil




                                                                 65
                  Hannes Meyer & Alexander Schmid   18.12.2008
Vor- und Nachteile

• Vorteile                              • Nachteile
  – XML-basiert                                 – Komplexität
  – Ausnahmebehandlung                          – Keine Interaktion mit
                                                  Menschen möglich
  – BPMN als grafische
                                                – Kompatibilität von BPEL
    Notation fungiert als
    Schnittstelle zwischen                        1.1 und BPEL 2.0
    Fachpersonal und IT                         – Überführung von BPMN
                                                  in BPEL nicht einfach




                                                                     66
                     Hannes Meyer & Alexander Schmid   18.12.2008
BPEL4People

• Als Vorschlag bei OASIS eingereicht, aber noch
  kein offizieller Standard.
• Erweitert die bestehende WS-BPEL
  Spezifikation.
• Bringt menschliche Interaktionen in BPEL-
  Prozesse.




                                                                 67
                  Hannes Meyer & Alexander Schmid   18.12.2008
BEPL4People

• Mensch --> Prozess
     • User instantiiert& liefert Daten an Prozess
• Mensch <--> Prozess
     • Prozess fordert vom User Daten an
     • Prozess liefert eine Meldung an den User
     • Prozess fordert Bestätigung des Users
• Mensch <-- Prozess
     • Prozess benachrichtigt den User




                                                                      68
                       Hannes Meyer & Alexander Schmid   18.12.2008
Pause


                       1. Geschäftsprozessmodellierung

                       2. GP-Management und SOA

                       3. Orchestrierung mit BPEL

                       4. Fazit und Ausblick

                       5. Praxisteil




                                                       69
        Hannes Meyer & Alexander Schmid   18.12.2008
Quellen
•   OASIS (2007): WS-BPEL 2.0 Primer. http://www.oasis-
    open.org/committees/download.php/23974/wsbpel-v2.0-primer.pdf
•   OASIS (2007): WS-BPEL 2.0 Specification. http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-
    OS.pdf
•   http://swt2.informatik.uni-halle.de/downloads/2006ss/proseminar_cs_ws/08_felix-
    wagner_bpel_ausarbeitung.pdf
•   BPEL4PEOPLE 1.0 Specification.
    http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-
    bpel4people/BPEL4People_v1.pdf
•   http://bpel4people.svn.sourceforge.net/viewvc/bpel4people/doc/poster/poster.pdf?revision=1
•   BPEL Presentations on http://ode.apache.org/ws-bpel-20.html
•   Josuttis, N. (2008): SOA in der Praxis. Dpunkt Verlag.
•   http://www.iam-wiki.org/EPK
•   http://www.competence-
    site.de/soa.nsf/AttachShow!OpenFrameset&attachfile=/soa.nsf/04AF9B7C89738738C125732A0055
    1F54/$File/SOA%20macht%20den%20Weg%20frei%20fuer%20Business%202.0_ids%20scheer_dr.%
    20scheer_082007.pdf
•   http://www.gi-ev.de/no_cache/service/informatiklexikon/informatiklexikon-
    detailansicht/meldung/serviceorientierte-architektur-118/
•   http://bpms.intalio.com/tutorials.html
•   http://www.bpmn.org
•   Netbeans Sample BPEL Projects



                                                                                              70
                                     Hannes Meyer & Alexander Schmid   18.12.2008
Vielen Dank für die Aufmerksamkeit!




                                                              71
               Hannes Meyer & Alexander Schmid   18.12.2008

Contenu connexe

Tendances

BPM mit SharePoint 2013 und Visio 2013
BPM mit SharePoint 2013 und Visio 2013 BPM mit SharePoint 2013 und Visio 2013
BPM mit SharePoint 2013 und Visio 2013 Andreas Naef
 
Versteckte Schätze in Oracle BPM und SOA Suite - DOAG Konferenz 2011 - OPITZ...
Versteckte Schätze in Oracle BPM und SOA Suite  - DOAG Konferenz 2011 - OPITZ...Versteckte Schätze in Oracle BPM und SOA Suite  - DOAG Konferenz 2011 - OPITZ...
Versteckte Schätze in Oracle BPM und SOA Suite - DOAG Konferenz 2011 - OPITZ...OPITZ CONSULTING Deutschland
 
Operational Intelligence im Kontext des Enterprise Decision Managements - MKW...
Operational Intelligence im Kontext des Enterprise Decision Managements - MKW...Operational Intelligence im Kontext des Enterprise Decision Managements - MKW...
Operational Intelligence im Kontext des Enterprise Decision Managements - MKW...Christian Schieder
 
20071108 W-JAX BPM und SOA - Prozesse sind keine Workflows
20071108 W-JAX BPM und SOA - Prozesse sind keine Workflows20071108 W-JAX BPM und SOA - Prozesse sind keine Workflows
20071108 W-JAX BPM und SOA - Prozesse sind keine Workflowscamunda services GmbH
 
Teil 1: Grundlagen der Ganzheitlichen Prozessoptimierung
Teil 1: Grundlagen der Ganzheitlichen ProzessoptimierungTeil 1: Grundlagen der Ganzheitlichen Prozessoptimierung
Teil 1: Grundlagen der Ganzheitlichen ProzessoptimierungGappBridging
 
20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?
20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?
20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?camunda services GmbH
 
201100927 doag sig_bpm_slideshare
201100927 doag sig_bpm_slideshare201100927 doag sig_bpm_slideshare
201100927 doag sig_bpm_slideshareJens Hündling
 
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen ProduktSwiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen ProduktIntelliact AG
 

Tendances (12)

Smart.con SAP 2012 Agenda
Smart.con SAP 2012 AgendaSmart.con SAP 2012 Agenda
Smart.con SAP 2012 Agenda
 
BPM mit SharePoint 2013 und Visio 2013
BPM mit SharePoint 2013 und Visio 2013 BPM mit SharePoint 2013 und Visio 2013
BPM mit SharePoint 2013 und Visio 2013
 
Versteckte Schätze in Oracle BPM und SOA Suite - DOAG Konferenz 2011 - OPITZ...
Versteckte Schätze in Oracle BPM und SOA Suite  - DOAG Konferenz 2011 - OPITZ...Versteckte Schätze in Oracle BPM und SOA Suite  - DOAG Konferenz 2011 - OPITZ...
Versteckte Schätze in Oracle BPM und SOA Suite - DOAG Konferenz 2011 - OPITZ...
 
Operational Intelligence im Kontext des Enterprise Decision Managements - MKW...
Operational Intelligence im Kontext des Enterprise Decision Managements - MKW...Operational Intelligence im Kontext des Enterprise Decision Managements - MKW...
Operational Intelligence im Kontext des Enterprise Decision Managements - MKW...
 
20071108 W-JAX BPM und SOA - Prozesse sind keine Workflows
20071108 W-JAX BPM und SOA - Prozesse sind keine Workflows20071108 W-JAX BPM und SOA - Prozesse sind keine Workflows
20071108 W-JAX BPM und SOA - Prozesse sind keine Workflows
 
20070705 JFS BPM mit JBoss jBPM
20070705 JFS BPM mit JBoss jBPM20070705 JFS BPM mit JBoss jBPM
20070705 JFS BPM mit JBoss jBPM
 
Teil 1: Grundlagen der Ganzheitlichen Prozessoptimierung
Teil 1: Grundlagen der Ganzheitlichen ProzessoptimierungTeil 1: Grundlagen der Ganzheitlichen Prozessoptimierung
Teil 1: Grundlagen der Ganzheitlichen Prozessoptimierung
 
20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?
20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?
20091112 WJAX BPMN 2.0 - Wird BPEL noch gebraucht?
 
201100927 doag sig_bpm_slideshare
201100927 doag sig_bpm_slideshare201100927 doag sig_bpm_slideshare
201100927 doag sig_bpm_slideshare
 
2011 11-21 BPMN_Luzern_JakobFreund
2011 11-21 BPMN_Luzern_JakobFreund2011 11-21 BPMN_Luzern_JakobFreund
2011 11-21 BPMN_Luzern_JakobFreund
 
Was bringt BPM?
Was bringt BPM?Was bringt BPM?
Was bringt BPM?
 
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen ProduktSwiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
Swiss PLM-Forum 2011 - Suchen und Finden im Digitalen Produkt
 

En vedette

Familia Lopez de Oliver (hasta hijos JMLL)
Familia Lopez de Oliver (hasta hijos JMLL)Familia Lopez de Oliver (hasta hijos JMLL)
Familia Lopez de Oliver (hasta hijos JMLL)chimo2010
 
20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...
20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...
20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...DNUG e.V.
 
Arrepentimiento para vida
Arrepentimiento para vidaArrepentimiento para vida
Arrepentimiento para vidaSaúl Loera
 
20150611 track5 2_sp21_social_ecm_dvelop
20150611 track5 2_sp21_social_ecm_dvelop20150611 track5 2_sp21_social_ecm_dvelop
20150611 track5 2_sp21_social_ecm_dvelopDNUG e.V.
 
Projektabschluss Mobile Learning in der Berufsausbildung
Projektabschluss Mobile Learning in der BerufsausbildungProjektabschluss Mobile Learning in der Berufsausbildung
Projektabschluss Mobile Learning in der BerufsausbildungKarsten Meier
 
El porqué creo en la iglesia de cristo
El porqué creo en la iglesia de cristoEl porqué creo en la iglesia de cristo
El porqué creo en la iglesia de cristoAbel Salinas González
 
LA PRIMAVERA
LA PRIMAVERALA PRIMAVERA
LA PRIMAVERAguanina
 
Tabaquismo
TabaquismoTabaquismo
TabaquismoDLL52
 
Terremotos que hacer
Terremotos que hacerTerremotos que hacer
Terremotos que hacerEl del Alma
 
Presentacion de la investigacion 3
Presentacion de la investigacion 3Presentacion de la investigacion 3
Presentacion de la investigacion 3luisgothico
 
Alex Boerger - Kurzprofil
Alex Boerger - KurzprofilAlex Boerger - Kurzprofil
Alex Boerger - KurzprofilAlex Boerger
 

En vedette (20)

Familia Lopez de Oliver (hasta hijos JMLL)
Familia Lopez de Oliver (hasta hijos JMLL)Familia Lopez de Oliver (hasta hijos JMLL)
Familia Lopez de Oliver (hasta hijos JMLL)
 
La batalla-espiritual- primers-edicion-1
La batalla-espiritual- primers-edicion-1La batalla-espiritual- primers-edicion-1
La batalla-espiritual- primers-edicion-1
 
20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...
20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...
20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...
 
Arrepentimiento para vida
Arrepentimiento para vidaArrepentimiento para vida
Arrepentimiento para vida
 
Diplomverteidigung Kruse
Diplomverteidigung KruseDiplomverteidigung Kruse
Diplomverteidigung Kruse
 
20150611 track5 2_sp21_social_ecm_dvelop
20150611 track5 2_sp21_social_ecm_dvelop20150611 track5 2_sp21_social_ecm_dvelop
20150611 track5 2_sp21_social_ecm_dvelop
 
Das Projekt "Virtuelles deutsches Urkundennetzwerk" - die Stadtarchive von Ma...
Das Projekt "Virtuelles deutsches Urkundennetzwerk" - die Stadtarchive von Ma...Das Projekt "Virtuelles deutsches Urkundennetzwerk" - die Stadtarchive von Ma...
Das Projekt "Virtuelles deutsches Urkundennetzwerk" - die Stadtarchive von Ma...
 
Projektabschluss Mobile Learning in der Berufsausbildung
Projektabschluss Mobile Learning in der BerufsausbildungProjektabschluss Mobile Learning in der Berufsausbildung
Projektabschluss Mobile Learning in der Berufsausbildung
 
Como distrutar de la vida que dios te da
Como distrutar de la vida que dios te daComo distrutar de la vida que dios te da
Como distrutar de la vida que dios te da
 
El porqué creo en la iglesia de cristo
El porqué creo en la iglesia de cristoEl porqué creo en la iglesia de cristo
El porqué creo en la iglesia de cristo
 
LA PRIMAVERA
LA PRIMAVERALA PRIMAVERA
LA PRIMAVERA
 
Roemer
RoemerRoemer
Roemer
 
Redes
RedesRedes
Redes
 
Tabaquismo
TabaquismoTabaquismo
Tabaquismo
 
Terremotos que hacer
Terremotos que hacerTerremotos que hacer
Terremotos que hacer
 
Vacio del alma
Vacio del almaVacio del alma
Vacio del alma
 
Presentacion de la investigacion 3
Presentacion de la investigacion 3Presentacion de la investigacion 3
Presentacion de la investigacion 3
 
Alex Boerger - Kurzprofil
Alex Boerger - KurzprofilAlex Boerger - Kurzprofil
Alex Boerger - Kurzprofil
 
Devocionales semanales
Devocionales semanalesDevocionales semanales
Devocionales semanales
 
Gods promise to abraham spanish cb6
Gods promise to abraham spanish cb6Gods promise to abraham spanish cb6
Gods promise to abraham spanish cb6
 

Similaire à Orchestrierung von Web-Services mit der Business Process Execution Language BPEL

BPM & SOA - Prozesse sind keine Workflows
BPM & SOA - Prozesse sind keine WorkflowsBPM & SOA - Prozesse sind keine Workflows
BPM & SOA - Prozesse sind keine Workflowscamunda services GmbH
 
Smart Data Management
Smart Data ManagementSmart Data Management
Smart Data ManagementJanAppl
 
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Droolscamunda services GmbH
 
Re-Use von ECM Projektloesungen durch Anwendungspattern (ECM-Pattern)
Re-Use von ECM Projektloesungen durch Anwendungspattern (ECM-Pattern)Re-Use von ECM Projektloesungen durch Anwendungspattern (ECM-Pattern)
Re-Use von ECM Projektloesungen durch Anwendungspattern (ECM-Pattern)Gerald Pitschek
 
Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...
Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...
Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...integro
 
20140304 einfuehrung-bpmn-v2-rp
20140304 einfuehrung-bpmn-v2-rp20140304 einfuehrung-bpmn-v2-rp
20140304 einfuehrung-bpmn-v2-rpRobert Piehler
 
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...OPITZ CONSULTING Deutschland
 
Social Software _ mehr als Technologien ...
Social Software _ mehr als Technologien ...Social Software _ mehr als Technologien ...
Social Software _ mehr als Technologien ...Martin Koser
 
BPM-Systeme für ein optimiertes Angebots- und Auftragsmanagement
BPM-Systeme für ein optimiertes Angebots-  und AuftragsmanagementBPM-Systeme für ein optimiertes Angebots-  und Auftragsmanagement
BPM-Systeme für ein optimiertes Angebots- und AuftragsmanagementSoftProject GmbH
 
Digitale Transformation für KMU
Digitale Transformation für KMUDigitale Transformation für KMU
Digitale Transformation für KMUGernot Sauerborn
 
Integrierte BPM Projektmethodik
Integrierte BPM ProjektmethodikIntegrierte BPM Projektmethodik
Integrierte BPM ProjektmethodikDirk Slama
 

Similaire à Orchestrierung von Web-Services mit der Business Process Execution Language BPEL (20)

BPM & SOA - Prozesse sind keine Workflows
BPM & SOA - Prozesse sind keine WorkflowsBPM & SOA - Prozesse sind keine Workflows
BPM & SOA - Prozesse sind keine Workflows
 
Bpmn2010
Bpmn2010Bpmn2010
Bpmn2010
 
Smart Data Management
Smart Data ManagementSmart Data Management
Smart Data Management
 
2011 05-05 bpmn 2
2011 05-05 bpmn 22011 05-05 bpmn 2
2011 05-05 bpmn 2
 
BPMN in der Praxis
BPMN in der PraxisBPMN in der Praxis
BPMN in der Praxis
 
Bpmn roundtrip
Bpmn roundtripBpmn roundtrip
Bpmn roundtrip
 
Bpmn in der praxis
Bpmn in der praxisBpmn in der praxis
Bpmn in der praxis
 
EPK Konventionen
EPK KonventionenEPK Konventionen
EPK Konventionen
 
20100506 JAX BPMN 2.0 in der Praxis
20100506 JAX BPMN 2.0 in der Praxis20100506 JAX BPMN 2.0 in der Praxis
20100506 JAX BPMN 2.0 in der Praxis
 
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
20080421 JAX Geschaeftsprozesse und Regeln mit jBPM und Drools
 
20090204 JUG BB Jbpm und Drools
20090204 JUG BB Jbpm und Drools20090204 JUG BB Jbpm und Drools
20090204 JUG BB Jbpm und Drools
 
imatics ProcessSuite
imatics ProcessSuiteimatics ProcessSuite
imatics ProcessSuite
 
Re-Use von ECM Projektloesungen durch Anwendungspattern (ECM-Pattern)
Re-Use von ECM Projektloesungen durch Anwendungspattern (ECM-Pattern)Re-Use von ECM Projektloesungen durch Anwendungspattern (ECM-Pattern)
Re-Use von ECM Projektloesungen durch Anwendungspattern (ECM-Pattern)
 
Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...
Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...
Der Socio-Technical Walkthrough als Methode der Dokumentation und Analyse von...
 
20140304 einfuehrung-bpmn-v2-rp
20140304 einfuehrung-bpmn-v2-rp20140304 einfuehrung-bpmn-v2-rp
20140304 einfuehrung-bpmn-v2-rp
 
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
Integrationsszenarien in modernen Anwendungslandschaften - OPITZ CONSULTING -...
 
Social Software _ mehr als Technologien ...
Social Software _ mehr als Technologien ...Social Software _ mehr als Technologien ...
Social Software _ mehr als Technologien ...
 
BPM-Systeme für ein optimiertes Angebots- und Auftragsmanagement
BPM-Systeme für ein optimiertes Angebots-  und AuftragsmanagementBPM-Systeme für ein optimiertes Angebots-  und Auftragsmanagement
BPM-Systeme für ein optimiertes Angebots- und Auftragsmanagement
 
Digitale Transformation für KMU
Digitale Transformation für KMUDigitale Transformation für KMU
Digitale Transformation für KMU
 
Integrierte BPM Projektmethodik
Integrierte BPM ProjektmethodikIntegrierte BPM Projektmethodik
Integrierte BPM Projektmethodik
 

Orchestrierung von Web-Services mit der Business Process Execution Language BPEL

  • 1. Orchestrierung von Web Services Seminar Serviceorientierte Architekturen 18. Dezember 2008 Hannes Meyer & Alexander Schmid Masterstudiengang Information Systems & Services
  • 2. Inhalt 1. Geschäftsprozessmodellierung 2. GP-Management und SOA 3. Orchestrierung mit BPEL 4. Fazit und Ausblick 5. Praxisteil 2 Hannes Meyer & Alexander Schmid 18.12.2008
  • 3. Inhalt 1. Geschäftsprozessmodellierung Definition Methoden 2. GP-Management und SOA Grafische Notationen 3. Orchestrierung mit BPEL 4. Fazit und Ausblick 5. Praxisteil 3 Hannes Meyer & Alexander Schmid 18.12.2008
  • 4. Geschäftsprozessmodellierung „Geschäftsprozessmodellierung ist eine Menge von Praktiken oder Maßnahmen, die Unternehmen durchführen können, um alle Aspekte eines Geschäftsprozesses darstellen oder beschreiben zu können“ (nach Bloomberg, Schmelzer) 4 Hannes Meyer & Alexander Schmid 18.12.2008
  • 5. Methoden für GP-Modellierung Textbasiert Tabellenbasiert - einfach erstellbar (Dokument) - einfach erstellbar (Tabellenkalkulation) - keine Terminologie - kompakter und übersichtlicher - keine autom. Verarbeitung - keine komplexe Kontrollflüsse - Problem großer Prozesslandschaften - Problem großer Prozesslandschaften Grafisches Modell mit Notation Grafische Darstellung - Anschaulichkeit - komplexe Kontrollflüsse - Anschaulichkeit - Reihe von Softwarwerkzeugen - keine Einheitlichkeit - Attribute für Modellierungselemente - Modellierungskonventionen - Problem großer Prozesslandschaften - Große Prozesslandschaften darstellbar bzw. aufteilbar 5 Hannes Meyer & Alexander Schmid 18.12.2008
  • 6. Grafische Notationen • Unified Modeling Language (UML) – Aktivitätsdiagramm • Ereignis-gesteuerte Prozesskette (EPK) • Business ProcessMarkup Notation (BPMN) 6 Hannes Meyer & Alexander Schmid 18.12.2008
  • 7. Unified Modeling Language • Standardisierte Sprache zur Modellierung von Software und anderen Systemen • Aktivitätsdiagramm zur Abbildung eines Anwendungsfall 7 Hannes Meyer & Alexander Schmid 18.12.2008
  • 8. Ereignis-gesteuerte Prozesskette • Grafische Darstellung von Geschäftsprozessen einer Organisation • Wesentliches Element des ARIS-Konzepts • Operationen, Ereignisse und Funktionen • Gerichtete Graphen zur Verknüpfung Bildquelle: http://www.iam-wiki.org/EPK 8 Hannes Meyer & Alexander Schmid 18.12.2008
  • 9. Erweiterte Ereignis-gesteuerte Prozesskette • erweiterte Ereignis-gesteuerte Prozesskette (eEPK): – Organisationseinheit – Datenflüsse – Anwendungssystem • Kanten dazu stellen Rollen dar (z.B. „führt aus“) • Beispiel Bildquelle: http://www.iam-wiki.org/EPK 9 Hannes Meyer & Alexander Schmid 18.12.2008
  • 10. Business ProcessMarkupNotation • Schwerpunkt ist grafische Darstellung von Geschäftsprozessen • Symbole zur Verständlichkeit für Fachpersonal und Informatiker • Kaum Anwendungs- und Strukturierungsanweisungen • Überführung in ausführbare Prozessbeschreibungen (BPEL, XPDL) schwierig 10 Hannes Meyer & Alexander Schmid 18.12.2008
  • 11. BPMN – Objekte • Flow Objects – Knoten in den Geschäftsprozessdiagrammen • Connecting Objects – Verbindende Kanten • Pools/Swimlanes – Bereiche mit denen Aktoren und Systeme dargestellt werden • Artefakte – Data Objects, Groups, Annotations 11 Hannes Meyer & Alexander Schmid 18.12.2008
  • 12. BPMN – Flow Objects • Activity Task Subprocess Loop • Gateway AND OR XOR Event-basiert • Event Start Inter- End Start- Int.- End- mediate Message Timer Exception 12 Hannes Meyer & Alexander Schmid 18.12.2008
  • 13. BPMN – weitere Elemente • Connecting Objects: – Sequence Flow – MessageFlow • Pools/Swimlanes • Artifacts – Data Objects, Groups, Annotations 13 Hannes Meyer & Alexander Schmid 18.12.2008
  • 14. Beispiel Bestellabwicklung 14 Hannes Meyer & Alexander Schmid 18.12.2008
  • 15. Inhalt 1. Geschäftsprozessmodellierung 2. GP-Management und SOA Zusammenhänge Vorgehensweise 3. Orchestrierung mit BPEL 4. Fazit und Ausblick 5. Praxisteil 15 Hannes Meyer & Alexander Schmid 18.12.2008
  • 16. Zusammenhänge GPM und SOA • Services sind ein Teil von Geschäftsprozessen • Services erfüllen fachliche Aufgaben • BPEL als Teil von SOA beschreibt Geschäftsprozesse 16 Hannes Meyer & Alexander Schmid 18.12.2008
  • 17. Vorgehensweise • Wie gelangt man zu den Services eines Geschäftsprozesses? • Wie kann ich Services allgemein formuliert erstellen, damit sie in anderen Szenarien wiederverwendet werden können? 17 Hannes Meyer & Alexander Schmid 18.12.2008
  • 18. Vorgehensweise • Zwei Ansätze: Dekomposition Komposition Top-Down Bottom-Up Geschäfts- Geschäftsprozesse prozesse Composed- Composed- WAS IST BESSER ??? Services Services Basis- Basis-Services Services 18 Hannes Meyer & Alexander Schmid 18.12.2008
  • 19. Vorgehensweise • Wie gelangt man zu den Services eines Geschäftsprozesses? • Wie kann ich Services allgemein formuliert erstellen, damit sie in anderen Szenarien wiederverwendet werden können? Die Service-Entwicklung sollte „agil“ sein (sowohl Top-Down als auch Bottom-Up) 19 Hannes Meyer & Alexander Schmid 18.12.2008
  • 20. Pause 20 Hannes Meyer & Alexander Schmid 18.12.2008
  • 21. Fortsetzung 21 Hannes Meyer & Alexander Schmid 18.12.2008
  • 22. Inhalt 1. Geschäftsprozessmodellierung 2. GP-Management und SOA Erklärung Orchestrierung 3. Orchestrierung mit BPEL Abgrenzung zu Choreografie 4. Fazit und Ausblick Sprachelemente Ausnahmebehandlung und Events 5. Praxisteil Überblick Fallbeispiel Bestellabwicklung 22 Hannes Meyer & Alexander Schmid 18.12.2008
  • 23. BPEL Historie • 2002: BPEL4WS 1.0 von Microsoft, IBM & BEA • IBM: Web Services FlowLanguage WSFL • Microsoft: XLANG • 2003: Beitritt von SAP und Siebel Systems • Weiterentwicklung von OASIS • Offizieller offener Standard • 2007: WS-BPEL 2.0 23 Hannes Meyer & Alexander Schmid 18.12.2008
  • 24. BPEL im Web-Services-Stapel WS-BPEL Business Processes WSDL, Policy, UDDI, Inspection Description Transactions ReliableMes Security Quality Of Service saging Coordination SOAP (logicalmessaging) Otherprotocols Transport and Encoding XML, Encoding Otherservices Quelle: In Anlehnung an Ryan, Frank http://www.oasis-open.org/committees/download.php/23068/WS- BPEL%20Technical%20Overview%20for%20Developers%20and%20Architects%20- %20Part%201%20(Frank%20Ryan).pdf 24 Hannes Meyer & Alexander Schmid 18.12.2008
  • 25. WS-BPEL - Einführung • Web Services Business ProcessExecutionLanguage 2.0 • Orchestriert Web-Services 25 Hannes Meyer & Alexander Schmid 18.12.2008
  • 26. Basis- und Composite-Services Operative DB Basis-Service BPEL Prozess Output Input Composite-Service B-Service B-Service B-Service Operation DB 1 DB 2 26 Hannes Meyer & Alexander Schmid 18.12.2008
  • 27. Orchestrierung • Komposition verschiedener Services zu einem Prozess. • Services können intern und extern sein. • Steuerung der zeitlichen Reihenfolge und Bedingungen der Serviceaufrufe. • Übergabe und Zwischenspeicherung von Daten zwischen Services. • Der komponierte Prozess ist wiederum ein Service. 27 Hannes Meyer & Alexander Schmid 18.12.2008
  • 28. Abgrenzung zu Choreografie • Choreografie als Zusammenarbeit gleichberechtigter Partner. • Orchester wird zentral geleitet (dirigiert). • Eigenschaften der Choreografie: – bessere Skalierung – fehlender Gesamtüberblick – Services triggern sich gegenseitig. Bildquellen: http://www.flickr.com/creativecommons/ 28 Hannes Meyer & Alexander Schmid 18.12.2008
  • 29. BPEL und WSDL • Mittels einer WSDL wird ein BPEL-Prozess selbst als Service zur Verfügung gestellt. • WDSL definiert u.a. Input-/Output-Messages, deren Typ. • Serviceaufrufe innerhalb des Prozesses stützen sich auf WSDL-Dokumente. • BPEL erweitert die WSDL- Spezifikation, um asynchrone Prozesse mit langer Laufzeit zu unterstützen. • WS-BPEL 2.0 verwendet WSDL 1.1 29 Hannes Meyer & Alexander Schmid 18.12.2008
  • 30. BPEL Sprachelemente • Prozessdefinition • Strukturierende Aktivitäten – Prozess & Import – Sequence, Flow – Variablen – If-else – Partner Links – ForEach • Grundlegende Aktivitäten • Ausnahmebehandlung – – Fault-Handler Assign – – Event-Handler Invoke – – Compensation-Handler Receive&Reply – Throw 30 Hannes Meyer & Alexander Schmid 18.12.2008
  • 31. Überblick BPEL Sprachelemente PROZESSDEFINITION 31 Hannes Meyer & Alexander Schmid 18.12.2008
  • 32. 32 Hannes Meyer & Alexander Schmid 18.12.2008
  • 33. <process> 33 Hannes Meyer & Alexander Schmid 18.12.2008
  • 34. <process> <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> <processname=quot;process_Bestellungquot; targetNamespace=quot;http://enterprise.netbeans.org/bpel/process_Bestellungquot; xmlns=quot;http://docs.oasis-open.org/wsbpel/2.0/process/executablequot; xmlns:sxt=quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Tracequot; xmlns:sxed=quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/Editorquot; xmlns:xsd=quot;http://www.w3.org/2001/XMLSchemaquot; xmlns:bpws=quot;http://docs.oasis-open.org/wsbpel/2.0/process/executablequot; xmlns:adress=quot;http://xml.netbeans.org/schema/Adressequot; xmlns:kunde=quot;http://xml.netbeans.org/schema/Kundequot; xmlns:best=quot;http://xml.netbeans.org/schema/Bestellungquot; xmlns:tns=quot;http://j2ee.netbeans.org/wsdl/Bestellung_pruefenquot; xmlns:sxxf=quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/XPathFunctionsquot; xmlns:sxeh=quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandlingquot;> <documentation> Dies ist der Bestellprozess. … </documentation> […] </process> 34 Hannes Meyer & Alexander Schmid 18.12.2008
  • 35. <import> <importnamespace=quot;http://xml.netbeans.org/schema/Bestellungquot; location=quot;../src/Bestellung.xsdquot; importType=quot;http://www.w3.org/2001/XMLSchemaquot;/> <importnamespace=quot;http://bestellabwicklung.hdm.dequot; location=quot;Bestellung_pruefen/Bestellung_pruefen.wsdlquot; importType=quot;http://schemas.xmlsoap.org/wsdl/quot;/> <importnamespace=quot;http://bestellabwicklung.hdm.de/quot; location=quot;WebServices/MaterialPruefenService.wsdlquot; importType=quot;http://schemas.xmlsoap.org/wsdl/quot;/> <import namespace=quot;http://j2ee.netbeans.org/wsdl/prozess_Bestellungquot; location=quot;process_Bestellung.wsdlquot; importType=quot;http://schemas.xmlsoap.org/wsdl/quot;/> 35 Hannes Meyer & Alexander Schmid 18.12.2008
  • 36. <partnerLinks> 36 Hannes Meyer & Alexander Schmid 18.12.2008
  • 37. <partnerLinks> Verbindung zu einem Partner-Service. <partnerLinks> <partnerLink name=quot;PL_Bestellung_pruefenquot; xmlns:tns=quot;http://j2ee.netbeans.org/wsdl/subprocess_Bestellung_pruefenquot; partnerLinkType=quot;tns:subprocess_Bestellung_pruefenquot; partnerRole=quot;subprocess_Bestellung_pruefenPortTypeRolequot;/> […] </partnerLinks> 37 Hannes Meyer & Alexander Schmid 18.12.2008
  • 38. <variables> <variables> <variable name=quot;Subprocess_Bestellung_pruefenOperationInquot; xmlns:tns=quot;http://j2ee.netbeans.org/wsdl/subprocess_Bestellung_pruefenquot; messageType=quot;tns:subprocess_Bestellung_pruefenOperationRequestquot;/> <variable name=quot;Kundequot; type=quot;kunde:Kundequot; /> <variable name=quot;Meldungquot; type=quot;xsd:stringquot; /> </variables> • In Variablen werden Zustände eines Prozesses gespeichert. • Variablen müssen von einem der folgenden Typen sein: – WSDL Nachrichten – XMLS Simple Types und ComplexTypes – XMLS Elemente im Allgemeinen (String etc.) • Die Definition der Variablen als direkte Kinder von <process> macht sie global; • Innerhalb eines Scopes nur für Kinder dieses Scopes sichtbar. • XPATH als Zugriffsprache auf Variablen 38 Hannes Meyer & Alexander Schmid 18.12.2008
  • 39. Überblick BPEL Sprachelemente GRUNDLEGENDE AKTIVITÄTEN 39 Hannes Meyer & Alexander Schmid 18.12.2008
  • 40. <receive> 40 Hannes Meyer & Alexander Schmid 18.12.2008
  • 41. <receive> Empfangen einer passenden eintreffenden Nachricht. <receive name=quot;Bestelleingangquot; partnerLink=quot;Kundequot; portType=quot;tns:prozess_BestellungPortTypequot; operation=quot;prozess_BestellungOperationquot; variable=quot;Prozess_BestellungOperationInquot; createInstance=quot;yesquot; xmlns:tns=quot;http://.../wsdl/prozess_Bestellungquot; > </receive> 41 Hannes Meyer & Alexander Schmid 18.12.2008
  • 42. <reply> 42 Hannes Meyer & Alexander Schmid 18.12.2008
  • 43. <reply> Sende eine Nachricht als Antwort auf <receive>. <replyname=quot;Bestaetigung_sendenquot; partnerLink=quot;Kundequot; operation=quot;prozess_BestellungOperationquot; xmlns:tns=quot;http://j2ee.netbeans.org/wsdl/prozess_Bestellungquot; portType=quot;tns:prozess_BestellungPortTypequot; variable=quot;Prozess_BestellungOperationOutquot; /> 43 Hannes Meyer & Alexander Schmid 18.12.2008
  • 44. <invoke> 44 Hannes Meyer & Alexander Schmid 18.12.2008
  • 45. <invoke> Führe eine Operation eines PartnerLinks aus. <invokename=quot;Bestellung_pruefenquot; partnerLink=quot;PL_Bestellung_pruefenquot; operation=quot;bestellung_pruefenOperationquot; portType=quot;tns:bestellung_pruefenPortTypequot; xmlns:tns=quot;http://bestellabwicklung.hdm.dequot; inputVariable=quot;Bestellung_pruefenOperationInquot; outputVariable=quot;Bestellung_pruefenOperationOutquot;> </invoke> 45 Hannes Meyer & Alexander Schmid 18.12.2008
  • 46. <assign> 46 Hannes Meyer & Alexander Schmid 18.12.2008
  • 47. <assign> Weise Variablen neue Werte zu. <assign name=quot;Assign1quot;> <copy> <from variable=quot;Prozess_BestellungOperationInquot; part=quot;bestellprozess_inquot; /> <tovariable=quot;Bestellung_pruefenOperationInquot; part=quot;bestellung_inquot; /> </copy> </assign> 47 Hannes Meyer & Alexander Schmid 18.12.2008
  • 48. <copy> mit xsl Transformation <copy> <from> bpws:doXslTransform('urn:stylesheets:Bestellbestaetigung.xsl', $Prozess_BestellungOperationIn.bestellprozess_in) </from> <to variable=quot;Prozess_BestellungOperationOutquot; part=quot;bestellprozess_outquot;/> </copy> 48 Hannes Meyer & Alexander Schmid 18.12.2008
  • 49. xslstylesheet <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> <xsl:stylesheet xmlns:xsl=quot;http://www.w3.org/1999/XSL/Transformquot; version=quot;1.0quot; xmlns:bes=quot;http://xml.netbeans.org/schema/Bestellungquot; xmlns:kun=quot;http://xml.netbeans.org/schema/Kundequot;> <xsl:outputmethod=quot;xmlquot;/> <xsl:templatematch=quot;bes:Bestellungquot;> <bestaetigung> <xsl:variablename=quot;tmpTotalquot;/> <bestellnummer><xsl:value-ofselect=quot;@bestellnummerquot;/></bestellnummer> <datum><xsl:value-ofselect=quot;@bestelldatumquot;/></datum> <kunde><xsl:value-ofselect=quot;bes:Kunde/kun:Name/kun:Nachnamequot;/>, <xsl:value- ofselect=quot;bes:Kunde/kun:Name/kun:Vornamequot;/></kunde> <kundennummer><xsl:value-ofselect=quot;bes:Kunde/kun:Kundennummerquot;/></kundennummer> <bestellpositionen> <xsl:for-eachselect=quot;bes:Bestellpositionquot;> <produkt> <nummer><xsl:value-ofselect=quot;bes:Produkt/bes:Produktnummerquot;/></nummer> <name><xsl:value-ofselect=quot;bes:Produkt/bes:Produktbezeichnungquot;/></name> <menge><xsl:value-ofselect=quot;bes:Bestellmengequot;/></menge> <preis einheit=quot;EURquot;><xsl:value-ofselect=quot;bes:Produkt/bes:Produktpreis * ((bes:Produkt/bes:InklMwst) div 100 +1)quot;/></preis> </produkt> </xsl:for-each> </bestellpositionen> </bestaetigung> </xsl:template> </xsl:stylesheet> 49 Hannes Meyer & Alexander Schmid 18.12.2008
  • 50. <wait> Warte eine gewisse Zeit. <waitname=quot;Wait1quot;> <for>'P0Y0M0DT0H0M20S'</for> </wait> […] <waitname=quot;Wait2quot;> <until>'2008-12-18T13:15+01:00'</until> </wait> […] 50 Hannes Meyer & Alexander Schmid 18.12.2008
  • 51. Überblick BPEL Sprachelemente STRUKTURIERENDE AKTIVITÄTEN 51 Hannes Meyer & Alexander Schmid 18.12.2008
  • 52. <sequence> 52 Hannes Meyer & Alexander Schmid 18.12.2008
  • 53. <sequence>&<flow> <sequence> <receive […] /> <assign […] /> <invoke […] /> <reply […] /> </sequence> <flow> <invokename=quot;Invoke1quot; […] /> <invokename=quot;Invoke2quot; […] /> <invokename=quot;Invoke3quot; […] /> </flow> <assign […] /> <reply […] /> 53 Hannes Meyer & Alexander Schmid 18.12.2008
  • 54. <forEach> 54 Hannes Meyer & Alexander Schmid 18.12.2008
  • 55. <forEach> <forEachname=quot;Fuer_jedequot; parallel=quot;noquot; counterName=quot;iquot;> <startCounterValue>1</startCounterValue> <finalCounterValue>count($Prozess_BestellungOperationIn.bestellprozess_in/best:Bestellposition)</finalCount erValue> <scopename=quot;Positionquot;> <variables><variablename=quot;Bestand_pruefenInquot; […] />[…]</variables> <sequencename=quot;Sequence2quot;> <assignname=quot;Assign4quot;> <copy> <from>$Prozess_BestellungOperationIn.bestellprozess_in/best:Bestellposition[$i]/best:Bestellmenge</from> <to>$Bestand_pruefenIn.parameters/bestellmenge</to> </copy> […] </assign> <invokename=quot;Materialbestand_pruefenquot; […]/> […] </sequence> </scope> </forEach> 55 Hannes Meyer & Alexander Schmid 18.12.2008
  • 56. <if> - <else> 56 Hannes Meyer & Alexander Schmid 18.12.2008
  • 57. <if> - <else> <ifname=quot;If1quot;> <condition>$Bestand_pruefenOut.parameters/return&gt; 0</condition> <sequencename=quot;Sequence4quot;> <assignname=quot;Assign5quot;> <copy> <from>$Bestand_pruefenOut.parameters/return</from> <to>$Auftrag_anlegenIn.parameters/produktionsmenge</to> </copy> <copy> <from>$Bestand_pruefenIn.parameters/produktnummer</from> <to>$Auftrag_anlegenIn.parameters/produktnummer</to> </copy> </assign> <invokename=quot;Produktionsauftrag_ausloesenquot; partnerLink=quot;PL_Produktionquot; operation=quot;Auftrag_anlegenquot; portType=quot;tns:Produktionsauftrag_anlegenquot; inputVariable=quot;Auftrag_anlegenInquot; xmlns:tns=quot;http://bestellabwicklung.hdm.de/quot;></invoke> </sequence> <else> *…+ </else> </if> 57 Hannes Meyer & Alexander Schmid 18.12.2008
  • 58. Überblick BPEL Sprachelemente AUSNAHMEBEHANDLUNG 58 Hannes Meyer & Alexander Schmid 18.12.2008
  • 59. Fault Handler 59 Hannes Meyer & Alexander Schmid 18.12.2008
  • 60. <throw> Erzeuge einen Fehler innerhalb des Prozesses. <throw name=quot;Throw1quot; faultName=quot;ns2:datenfehlerquot; faultVariable=quot;subprocess_Bestellung_pruefenOperationFaultquot;/> 60 Hannes Meyer & Alexander Schmid 18.12.2008
  • 63. Event Handler • Parallel zur Abarbeitung des Prozesses/ Scopes. • Empfängt Requests, stößt draufhin Aktionen an. • Beispiel: Stornierung durch Kunden tritt während des Bestellprozesses ein. 63 Hannes Meyer & Alexander Schmid 18.12.2008
  • 64. process_BestellungFault Part: String process_BestellungIn subprocess_Bestellung_pruefenIn  subprocess_Bestellung_pruefenIn process_BestellungIn Part: Bestellung Part: Bestellung process_BestellungIn Bestand_pruefenIn From: 1 - Bestellposition[i]/Produktnummer subprocess_Bestellung_pruefenOut - Bestellposition[i]/Bestellmenge Parts: Integer To: count(Be- Part: boolean stellposition) Bestand_pruefenIn (produktnummer, bestellmenge) Material_reservierenIn (produktnummer, bestellmenge) Condition: Bestand_pruefenOut Material_reservierenIn Bestand_pruefenOut> 0 Part: Integer Bestellung_pruefenOut Parts: Integer  Auftrag_anlegenIn Auftrag_anlegenIn Part: Integer process_BestellungOut Part: String DoXSLTransform  process_BestellungOut 64 Hannes Meyer & Alexander Schmid 18.12.2008
  • 65. Inhalt 1. Geschäftsprozessmodellierung 2. GP-Management und SOA 3. Orchestrierung mit BPEL 4. Fazit und Ausblick 5. Praxisteil 65 Hannes Meyer & Alexander Schmid 18.12.2008
  • 66. Vor- und Nachteile • Vorteile • Nachteile – XML-basiert – Komplexität – Ausnahmebehandlung – Keine Interaktion mit Menschen möglich – BPMN als grafische – Kompatibilität von BPEL Notation fungiert als Schnittstelle zwischen 1.1 und BPEL 2.0 Fachpersonal und IT – Überführung von BPMN in BPEL nicht einfach 66 Hannes Meyer & Alexander Schmid 18.12.2008
  • 67. BPEL4People • Als Vorschlag bei OASIS eingereicht, aber noch kein offizieller Standard. • Erweitert die bestehende WS-BPEL Spezifikation. • Bringt menschliche Interaktionen in BPEL- Prozesse. 67 Hannes Meyer & Alexander Schmid 18.12.2008
  • 68. BEPL4People • Mensch --> Prozess • User instantiiert& liefert Daten an Prozess • Mensch <--> Prozess • Prozess fordert vom User Daten an • Prozess liefert eine Meldung an den User • Prozess fordert Bestätigung des Users • Mensch <-- Prozess • Prozess benachrichtigt den User 68 Hannes Meyer & Alexander Schmid 18.12.2008
  • 69. Pause 1. Geschäftsprozessmodellierung 2. GP-Management und SOA 3. Orchestrierung mit BPEL 4. Fazit und Ausblick 5. Praxisteil 69 Hannes Meyer & Alexander Schmid 18.12.2008
  • 70. Quellen • OASIS (2007): WS-BPEL 2.0 Primer. http://www.oasis- open.org/committees/download.php/23974/wsbpel-v2.0-primer.pdf • OASIS (2007): WS-BPEL 2.0 Specification. http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0- OS.pdf • http://swt2.informatik.uni-halle.de/downloads/2006ss/proseminar_cs_ws/08_felix- wagner_bpel_ausarbeitung.pdf • BPEL4PEOPLE 1.0 Specification. http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws- bpel4people/BPEL4People_v1.pdf • http://bpel4people.svn.sourceforge.net/viewvc/bpel4people/doc/poster/poster.pdf?revision=1 • BPEL Presentations on http://ode.apache.org/ws-bpel-20.html • Josuttis, N. (2008): SOA in der Praxis. Dpunkt Verlag. • http://www.iam-wiki.org/EPK • http://www.competence- site.de/soa.nsf/AttachShow!OpenFrameset&attachfile=/soa.nsf/04AF9B7C89738738C125732A0055 1F54/$File/SOA%20macht%20den%20Weg%20frei%20fuer%20Business%202.0_ids%20scheer_dr.% 20scheer_082007.pdf • http://www.gi-ev.de/no_cache/service/informatiklexikon/informatiklexikon- detailansicht/meldung/serviceorientierte-architektur-118/ • http://bpms.intalio.com/tutorials.html • http://www.bpmn.org • Netbeans Sample BPEL Projects 70 Hannes Meyer & Alexander Schmid 18.12.2008
  • 71. Vielen Dank für die Aufmerksamkeit! 71 Hannes Meyer & Alexander Schmid 18.12.2008