SlideShare a Scribd company logo
Second Young Researchers’ Workshop on Service Oriented Computing
              YR-SOC 2007 – http://www.yrsoc.org




             Service Referrals in
          BPEL-based Choreographies




              Gero Decker1, Oliver Kopp2, Frank Puhlmann1
Agenda

            Choreographies

            BPEL-based Choreographies

            Service Referrals in BPEL4Chor




Presented by Oliver Kopp                                                           2
                                      © Gero Decker, Oliver Kopp, Frank Puhlmann
The Reseller Choreography
            Interconnection model   Interaction model




Presented by Oliver Kopp                                                            3
                                       © Gero Decker, Oliver Kopp, Frank Puhlmann
How to derive the orchestration?
            Choreography    Orchestration
                             Customer                        Reseller




                                                             Choose
                                                           manufacturer




                                                        Place        Place pro-
                                                     invoice req.    duct req.




                                                 Payment Org.        Manufacturer


Presented by Oliver Kopp                                                            4
                                   © Gero Decker, Oliver Kopp, Frank Puhlmann
Reseller Choreography in BPEL4Chor
                                                            Resellers's behavior:
       Customer                        Reseller



                                                            <receive
                                                              name=quot;getOrderquot; />
          Send
          order
                                                            <flow>
                                Place       Place pro-
                             invoice req.   duct req.
                                                              <invoke
                                                                name=quot;PlaceInvoiceReqquot; />
                                                              <invoke
                                                                name=quot;PlaceProductReqquot; />
    Receive
    invoice
                                                            </flow>
             Receive
                              Send                 Send
             product
                                                               Behavior of the other
                             invoice              product

                                                               participants specified
                                                               analogous
                           Payment Org.      Manufacturer


Presented by Oliver Kopp                                                                                            5
                                                                       © Gero Decker, Oliver Kopp, Frank Puhlmann
The interconnections
                                                            The interconnection is formed
       Customer                        Reseller

                                                            by links:

                                                            <messageLink
          Send
          order
                                                              name=quot;productRequestLinkquot;
                                Place       Place pro-
                             invoice req.    duct req.
                                                              sender=quot;resellerquot;
                                                              sendActivity=
                                                                quot;PlaceProductRequestquot;
                                                              receiver=quot;manufacturerquot;
    Receive
    invoice
                                                              receiveActivity=quot;getReqquot;
                                                              messageName=quot;productReqquot;
             Receive
                              Send                 Send
             product
                             invoice              product

                                                              participantRefs=quot;customerquot;
                                                            />
                           Payment Org.      Manufacturer


Presented by Oliver Kopp                                                                                            6
                                                                       © Gero Decker, Oliver Kopp, Frank Puhlmann
The execution

            Mapping message links to porttypes / operations
                      quot;Groundingquot;
                                                            <messageLink
     Customer                          Reseller

                                                               name=quot;productRequestLinkquot;
                                                               portType=quot;man:manufacturerPTquot;
        Send
                                                               operation=quot;placeProductRequestquot;
        order
                                Place       Place pro-
                                                               />
                             invoice req.    duct req.




                                                            <participantRef name=quot;customerquot;
                                                               WSDLproperty=
                                                                 quot;msgs:customerPropertyquot; />
  Receive
  invoice


          Receive
                              Send                 Send
          product
                             invoice              product




                           Payment Org.      Manufacturer


Presented by Oliver Kopp                                                                                               7
                                                                          © Gero Decker, Oliver Kopp, Frank Puhlmann
The complete picture of BPEL4Chor




Presented by Oliver Kopp                                                  8
                             © Gero Decker, Oliver Kopp, Frank Puhlmann
Reseller Choreography in Pi-Calculus

            Pi-Calculus because of link-passing mobility

            The complete system consists of the four
            participants executing in parallel


                                def
                           SY S = (C j R j P j M )




Presented by Oliver Kopp                                                                   9
                                              © Gero Decker, Oliver Kopp, Frank Puhlmann
The Customer

                                                                     Customer creates
           Customer                         Reseller

                                oc                                   order and callback-
                                                                     channels ( )
              Send
              order
                                                                     Uses public order
                                     Place       Place pro-
                                  invoice req.    duct req.

                                                                     channel “oc ”

                                                                     def
                                                                 C    =      (ºorder ; ic; pc)
                           ic
        Receive
                                                                             ochorder; ic; pci:
        invoice

                                                                             (ic(invoice) j
                 Receive
                                   Send                 Send
                 product
                                                                              pc(product))
                                  invoice              product

                           pc
                                Payment Org.      Manufacturer


Presented by Oliver Kopp                                                                                                10
                                                                           © Gero Decker, Oliver Kopp, Frank Puhlmann
The Reseller

                                                                Reseller sends
           Customer                    Reseller

                                                                customer’s callback-
                           oc
                                                                channels
              Send
              order
                                                                Uses public invoice and
                                Place       Place pro-
                             invoice req.    duct req.

                                                                payment request
                                                                channels
                                                      prc
                           irc
        Receive                                                 def
                                                            R    =    (ºinvoiceReq; productReq)
        invoice

                                                                      oc(order ; ic; pc):
                 Receive
                                                                      (irchinvoiceReq; ici j
                              Send                 Send
                 product
                             invoice              product
                                                                       prchproductReq; pci )


                           Payment Org.      Manufacturer


Presented by Oliver Kopp                                                                                           11
                                                                      © Gero Decker, Oliver Kopp, Frank Puhlmann
The Manufacturer and the Payment Organization

                                                                     Receive the callback-
           Customer                         Reseller

                                                                     channel via public channel
                                                                     Create invoice/product
              Send
                                                                     Use the callback-channel to
              order
                                     Place       Place pro-
                                  invoice req.    duct req.
                                                                     send invoice/product
                                                                     def
                                                                 P    =     (ºinvoice)
                                                           prc
                                irc
                                                                            irc(invoiceReq; ic):
                           ic
        Receive
                                                                            ichinvoicei
        invoice


                 Receive
                                                                      def
                                   Send                 Send
                 product
                                                                 M    =      (ºproduct)
                                  invoice              product
                                                                             prc(productReq; pc):
                           pc
                                                                             pchproducti
                                Payment Org.      Manufacturer


Presented by Oliver Kopp                                                                                                 12
                                                                            © Gero Decker, Oliver Kopp, Frank Puhlmann
Summary


            BPEL4Chor as interconnection model
            Link passing mobility as first-class citizen
            Pi-Calculus as formalism

            Ongoing work
                      Complete mapping: BPEL4Chor to pi-calculus
                      Interaction models vs. interconnection models
                      Conformance



Presented by Oliver Kopp                                                                           13
                                                      © Gero Decker, Oliver Kopp, Frank Puhlmann

More Related Content

More from Oliver Kopp

Fault handling in the web service stack
Fault handling in the web service stackFault handling in the web service stack
Fault handling in the web service stack
Oliver Kopp
 
Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...
Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...
Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...
Oliver Kopp
 
The Influence of an External Transaction on a BPEL Scope
The Influence of an External Transaction on a BPEL ScopeThe Influence of an External Transaction on a BPEL Scope
The Influence of an External Transaction on a BPEL Scope
Oliver Kopp
 
External And Internal Events In EPCs: E²EPCs
External And Internal Events In EPCs: E²EPCsExternal And Internal Events In EPCs: E²EPCs
External And Internal Events In EPCs: E²EPCs
Oliver Kopp
 
BPELscript
BPELscriptBPELscript
BPELscript
Oliver Kopp
 
Deriving Explicit Data Links in WS-BPEL Processes
Deriving Explicit Data Links in WS-BPEL ProcessesDeriving Explicit Data Links in WS-BPEL Processes
Deriving Explicit Data Links in WS-BPEL Processes
Oliver Kopp
 
On the Choice Between Graph-Based and Block-Structured Business Process Mod...
On the Choice Between  Graph-Based and Block-Structured  Business Process Mod...On the Choice Between  Graph-Based and Block-Structured  Business Process Mod...
On the Choice Between Graph-Based and Block-Structured Business Process Mod...Oliver Kopp
 
Web Service Choreography Configurations for BPMN
Web Service Choreography Configurations for BPMNWeb Service Choreography Configurations for BPMN
Web Service Choreography Configurations for BPMN
Oliver Kopp
 
Tools4BPEL Abschlusspräsentation
Tools4BPEL AbschlusspräsentationTools4BPEL Abschlusspräsentation
Tools4BPEL Abschlusspräsentation
Oliver Kopp
 

More from Oliver Kopp (9)

Fault handling in the web service stack
Fault handling in the web service stackFault handling in the web service stack
Fault handling in the web service stack
 
Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...
Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...
Interaction Choreography Models in BPEL:Choreographies on the Enterprise Serv...
 
The Influence of an External Transaction on a BPEL Scope
The Influence of an External Transaction on a BPEL ScopeThe Influence of an External Transaction on a BPEL Scope
The Influence of an External Transaction on a BPEL Scope
 
External And Internal Events In EPCs: E²EPCs
External And Internal Events In EPCs: E²EPCsExternal And Internal Events In EPCs: E²EPCs
External And Internal Events In EPCs: E²EPCs
 
BPELscript
BPELscriptBPELscript
BPELscript
 
Deriving Explicit Data Links in WS-BPEL Processes
Deriving Explicit Data Links in WS-BPEL ProcessesDeriving Explicit Data Links in WS-BPEL Processes
Deriving Explicit Data Links in WS-BPEL Processes
 
On the Choice Between Graph-Based and Block-Structured Business Process Mod...
On the Choice Between  Graph-Based and Block-Structured  Business Process Mod...On the Choice Between  Graph-Based and Block-Structured  Business Process Mod...
On the Choice Between Graph-Based and Block-Structured Business Process Mod...
 
Web Service Choreography Configurations for BPMN
Web Service Choreography Configurations for BPMNWeb Service Choreography Configurations for BPMN
Web Service Choreography Configurations for BPMN
 
Tools4BPEL Abschlusspräsentation
Tools4BPEL AbschlusspräsentationTools4BPEL Abschlusspräsentation
Tools4BPEL Abschlusspräsentation
 

Recently uploaded

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 

Recently uploaded (20)

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 

Service Referrals in BPEL-based Choreographies

  • 1. Second Young Researchers’ Workshop on Service Oriented Computing YR-SOC 2007 – http://www.yrsoc.org Service Referrals in BPEL-based Choreographies Gero Decker1, Oliver Kopp2, Frank Puhlmann1
  • 2. Agenda Choreographies BPEL-based Choreographies Service Referrals in BPEL4Chor Presented by Oliver Kopp 2 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 3. The Reseller Choreography Interconnection model Interaction model Presented by Oliver Kopp 3 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 4. How to derive the orchestration? Choreography Orchestration Customer Reseller Choose manufacturer Place Place pro- invoice req. duct req. Payment Org. Manufacturer Presented by Oliver Kopp 4 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 5. Reseller Choreography in BPEL4Chor Resellers's behavior: Customer Reseller <receive name=quot;getOrderquot; /> Send order <flow> Place Place pro- invoice req. duct req. <invoke name=quot;PlaceInvoiceReqquot; /> <invoke name=quot;PlaceProductReqquot; /> Receive invoice </flow> Receive Send Send product Behavior of the other invoice product participants specified analogous Payment Org. Manufacturer Presented by Oliver Kopp 5 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 6. The interconnections The interconnection is formed Customer Reseller by links: <messageLink Send order name=quot;productRequestLinkquot; Place Place pro- invoice req. duct req. sender=quot;resellerquot; sendActivity= quot;PlaceProductRequestquot; receiver=quot;manufacturerquot; Receive invoice receiveActivity=quot;getReqquot; messageName=quot;productReqquot; Receive Send Send product invoice product participantRefs=quot;customerquot; /> Payment Org. Manufacturer Presented by Oliver Kopp 6 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 7. The execution Mapping message links to porttypes / operations quot;Groundingquot; <messageLink Customer Reseller name=quot;productRequestLinkquot; portType=quot;man:manufacturerPTquot; Send operation=quot;placeProductRequestquot; order Place Place pro- /> invoice req. duct req. <participantRef name=quot;customerquot; WSDLproperty= quot;msgs:customerPropertyquot; /> Receive invoice Receive Send Send product invoice product Payment Org. Manufacturer Presented by Oliver Kopp 7 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 8. The complete picture of BPEL4Chor Presented by Oliver Kopp 8 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 9. Reseller Choreography in Pi-Calculus Pi-Calculus because of link-passing mobility The complete system consists of the four participants executing in parallel def SY S = (C j R j P j M ) Presented by Oliver Kopp 9 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 10. The Customer Customer creates Customer Reseller oc order and callback- channels ( ) Send order Uses public order Place Place pro- invoice req. duct req. channel “oc ” def C = (ºorder ; ic; pc) ic Receive ochorder; ic; pci: invoice (ic(invoice) j Receive Send Send product pc(product)) invoice product pc Payment Org. Manufacturer Presented by Oliver Kopp 10 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 11. The Reseller Reseller sends Customer Reseller customer’s callback- oc channels Send order Uses public invoice and Place Place pro- invoice req. duct req. payment request channels prc irc Receive def R = (ºinvoiceReq; productReq) invoice oc(order ; ic; pc): Receive (irchinvoiceReq; ici j Send Send product invoice product prchproductReq; pci ) Payment Org. Manufacturer Presented by Oliver Kopp 11 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 12. The Manufacturer and the Payment Organization Receive the callback- Customer Reseller channel via public channel Create invoice/product Send Use the callback-channel to order Place Place pro- invoice req. duct req. send invoice/product def P = (ºinvoice) prc irc irc(invoiceReq; ic): ic Receive ichinvoicei invoice Receive def Send Send product M = (ºproduct) invoice product prc(productReq; pc): pc pchproducti Payment Org. Manufacturer Presented by Oliver Kopp 12 © Gero Decker, Oliver Kopp, Frank Puhlmann
  • 13. Summary BPEL4Chor as interconnection model Link passing mobility as first-class citizen Pi-Calculus as formalism Ongoing work Complete mapping: BPEL4Chor to pi-calculus Interaction models vs. interconnection models Conformance Presented by Oliver Kopp 13 © Gero Decker, Oliver Kopp, Frank Puhlmann