Formalising Message Exchange Patterns
                    using BPELlight




                      Tammo van Lessen, Jörg...
The Talk Today

           Motivation and Introduction
                     Web Services
                     Message Exch...
Problem Statement

   WSDL / WS‐I breaks loose coupling in WS‐* 
           WSDL 1.1 defines 4 operation types:


        ...
Problem Statement

   WSDL / WS‐I breaks loose coupling in WS‐* 
           WSDL 1.1 defines 4 operation types:


        ...
Problem Statement (2)

   WSDL does not support interactions beyond req‐resp
           WSDL 1.1 defines 4 operation types...
Our Approach



                                      Associate complex 
                                  message exchang...
WSDL 2.0

           Operations are defined using MEPs which are
           identified by a URI
                    MEPs a...
Example: out-optional-in (WSDL 2.0 MEP)
   The out-optional-in message exchange pattern consists of
   one or two messages...
Deficiencies of the W3C proposed template

           Weak control flow
                     No parallelism
              ...
BPEL + BPEL light

           BPEL defines flow between WS operations
                     receive, reply, invoke, pick, e...
BPELlight
           Extends BPEL with a WSDL-less interaction model:
     BPEL                                          B...
BPELlight Abstract Profile for MEPs

           Allows definition of MEPs in terms of message
           exchanges
       ...
Example: out-optional-in (BPELlight)
   <bpel:process                                         <bl:pick>
      xmlns:bpel=q...
Referencing BPELlight MEPs in WSDL Operations

           Standard WSDL 2.0 operations
           Reference to BPEL MEP vi...
Referencing BPELlight MEPs in WSDL Operations
   <interface name=quot;myInterfacequot;>
     <fault name=quot;inFaultquot;...
Conclusion

           Abstract BPELlight process models can be used
           to describe complex MEPs
           Comple...
End of Document
Selected References
           Nitzsche, J., van Lessen, T., Karastoyanova, D., Leymann, F.: BPELlight. In:
           5th...
Upcoming SlideShare
Loading in...5
×

Formalizing Message Exchange Patterns using BPEL light

1,300

Published on

Talk at the IEEE International Conference on Services Computing (SCC 2008)

Published in: Technology, Economy & Finance
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,300
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Formalizing Message Exchange Patterns using BPEL light

  1. 1. Formalising Message Exchange Patterns using BPELlight Tammo van Lessen, Jörg Nitzsche, Frank Leymann Institute of Architecture of Application Systems (IAAS) University of Stuttgart Universitätsstr. 38 70569 Stuttgart Germany tammo.van.lessen@iaas.uni-stuttgart.de
  2. 2. The Talk Today Motivation and Introduction Web Services Message Exchange Patterns Problem Statement WSDL 2.0 Message Exchange Patterns BPEL / BPELlight Abstract Profile for MEPs Describing MEPs with Abstract BPELlight Conclusions © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 2
  3. 3. Problem Statement WSDL / WS‐I breaks loose coupling in WS‐*  WSDL 1.1 defines 4 operation types: solicit-response + request-response notification + one-way © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 3
  4. 4. Problem Statement WSDL / WS‐I breaks loose coupling in WS‐*  WSDL 1.1 defines 4 operation types: request-response one-way Operational semantics of notification and solicit-response can be interpreted differently WS-I Basic Profile restricts set of WSDL operations to request- response and one-way Service Requesters bind against these operations Against the principle of loose coupling © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 4
  5. 5. Problem Statement (2) WSDL does not support interactions beyond req‐resp WSDL 1.1 defines 4 operation types: request-response one-way They map nicely to imperative programming languages… …but not to business processes (e.g. BPEL processes), where business partner exchange messages, e.g. a purchase order, in order to achieve a business goal Operations that are restricted to request-response at most are not sufficient © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 5
  6. 6. Our Approach Associate complex  message exchange patterns with WSDL operations Message exchange pattern describe sequence, direction, cardinality and  senders and receivers of messages © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 6
  7. 7. WSDL 2.0 Operations are defined using MEPs which are identified by a URI MEPs are defined using templates Multiple inputs, outputs, infaults and outfaults can be defined Complex MEPs are possible Explicitly introduces the notion of compatibility (via dual MEPs), e.g. a service implementing an out-in is compatible with a service implementing an in-out. There is a lot of potential! <operation name=quot;xs:NCNamequot; pattern=quot;xs:anyURIquot;? style=quot;list of xs:anyURIquot;? > <documentation />* [<input/>|<output/>|<infault/>|<outfault/>]* </operation> © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 7
  8. 8. Example: out-optional-in (WSDL 2.0 MEP) The out-optional-in message exchange pattern consists of one or two messages, in order, as follows: A message: indicated by a Interface Message Reference component whose {message label} is “Outquot; and {direction} is “outquot; Sent to some node N An optional message: indicated by a Interface Message Reference component whose {message label} is “Inquot; and {direction} is “inquot; Received from node N … An operation using this message exchange pattern has a {message exchange pattern} property with the value quot;http://www.w3.org/ns/wsdl/out-opt-inquot;. © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 8
  9. 9. Deficiencies of the W3C proposed template Weak control flow No parallelism No conditional flow No notion of cardinality Weak definition of what a node is (node type vs. node instance) Multi-casts not supported Imprecise Weak definition of “optional” (how can a service decide whether an optional message will arrive or not?) © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 9
  10. 10. BPEL + BPEL light BPEL defines flow between WS operations receive, reply, invoke, pick, eventHandler BPEL and WSDL define the message exchange of (multiple) parties from the point of view of one participant A BPEL that is decoupled & independent of WSDL (BPEL light) is an eligible candidate for defining the flow within WS operations Nitzsche, J.; Lessen, T. van; Karastoyanova, D.; Leymann, F.: BPELlight. 5th International Conference on Business Process Management (BPM 2007). Brisbane, Australia, 24-28 September 2007. © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 10
  11. 11. BPELlight Extends BPEL with a WSDL-less interaction model: BPEL BPELlight <receive>, <reply>, <invoke> <interactionActivity> (configurable) <onMessage> (in pick) WSDL-less <onMessage> <onEvent> (in EventHandler) WSDL-less <onEvent> <partnerLink> referenced by <conversation> referenced by <receive>, <reply>, <invoke>, <interactionActivity>, <onMessage>, <onEvent> <onMessage>, <onEvent> BPEL 1.1 <partner> groups BPELlight <partner> referenced by partnerLinks messages © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 11
  12. 12. BPELlight Abstract Profile for MEPs Allows definition of MEPs in terms of message exchanges Unifies timing expressions Allows modelling of sending and receiving faults <mep:timingExpression expressionLanguage=quot;anyURIquot;? type=quot;for|until|repeatEveryquot; expression=quot;exprquot;/> © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 12
  13. 13. Example: out-optional-in (BPELlight) <bpel:process <bl:pick> xmlns:bpel=quot;http://.../wsbpel/ <bpel:targets> 2.0/process/abstractquot; <bpel:target linkName=quot;L1quot;/> suppressJoinFailure=quot;yesquot; abstractProcessProfile=quot;http:// </bpel:targets> .../BPELlight/abstract/mep/2008/quot; <bl:onMessage targetNamespace=quot;http://.../mep-in-bpelquot; name=quot;Inquot; outputVariable=quot;##opaquequot; name=quot;out-optional-inquot;> conversation=quot;out-optional-inquot;> <bl:conversations> <bpel:empty/> <bl:conversation </bl:onMessage> name=quot;out-optional-inquot;/> <bl:onMessage </bl:conversations> name=quot;InFaultquot; <bpel:flow> faultName=quot;##opaquequot; <bpel:links> outputVariable=quot;##opaquequot; <bpel:link name=quot;L1quot;/> conversation=quot;out-optional-inquot;> </bpel:links> <bpel:empty/> <bl:interactionActivity </bl:onMessage> name=quot;Outquot; <bpel:onAlarm> outputVariable=quot;##opaquequot; <mep:timingExpression conversation=quot;out-optional-inquot;> name=quot;timeoutquot; <bpel:sources> type=quot;##opaquequot; <bpel:source linkName=quot;L1quot;/> expression=quot;##opaquequot;/> </bpel:sources> <bpel:empty/> </bl:interactionActivity> </bpel:onAlarm> </bl:pick> </bpel:flow> </bpel:process> © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 13
  14. 14. Referencing BPELlight MEPs in WSDL Operations Standard WSDL 2.0 operations Reference to BPEL MEP via pattern attribute Parameterisation of the MEP Messages are linked via name (message label == interactionActivitiy/@name) Timing expressions, variable names/types, arbitrary elements via extension element (mep:configure) in WSDL. © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 14
  15. 15. Referencing BPELlight MEPs in WSDL Operations <interface name=quot;myInterfacequot;> <fault name=quot;inFaultquot; element=quot;types:aFaultquot; /> <operation name=quot;myOperationquot; pattern=quot;http://.../mep-in-bpel#out-optional-inquot; > <input messageLabel=quot;Inquot; element=quot;types:inTypequot; /> <output messageLabel=quot;Outquot; element=quot;types:outTypequot; /> <infault ref=quot;tns:inFaultquot; messageLabel=quot;InFaultquot; /> <mep:configure xpath=quot;//mep:timingExpression[@name='timeout']/@typequot;> for </mep:configure> <mep:configure xpath=quot;//mep:timingExpression[@name='timeout‘]/@expressionquot;> PT5M </mep:configure> </operation> </interface> © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 15
  16. 16. Conclusion Abstract BPELlight process models can be used to describe complex MEPs Complex MEPs can be attached to WSDL 2.0 operations (with in-house means) Allows to describe protocol and message format independent message exchanges. MEP operations can improve modelling tools MEP operations foster message-oriented Web Services. © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 16
  17. 17. End of Document
  18. 18. Selected References Nitzsche, J., van Lessen, T., Karastoyanova, D., Leymann, F.: BPELlight. In: 5th International Conference on Business Process Management (BPM). (2007) Brisbane, Australia. http://tinyurl.com/ypzahn Nitzsche, J.; van Lessen, T.; Leymann, F.: WSDL 2.0 Message Exchange Patterns: Limitations and Opportunities. In Proceedings of the 3rd International Conference on Internet and Web Applications and Services (ICIW) 2008. Athen, Greece, June 8-13, 2008. van Lessen, T.; Nitzsche, J.; Leymann, F.: Formalising Message Exchange Patterns using BPELlight. In Proceedings of the IEEE 2008 International Conference on Services Computing (SCC). Honolulu, Hawaii, USA, July 8- 11, 2008. Nitzsche, J.; van Lessen, T.; Leymann, F.: Extending BPELlight for Expressing Multi-Partner Message Exchange Patterns. In Proceedings of the 12th IEEE International EDOC Conference (EDOC 2008). München, Germany, September 15-19, 2008. © Tammo van Lessen, Jörg Nitzsche, Frank Leymann 18

×