SlideShare uma empresa Scribd logo
1 de 13
Baixar para ler offline
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

Mais conteúdo relacionado

Mais de 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
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

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