Download presentation
Presentation is loading. Please wait.
Published byAleesha Cross Modified over 9 years ago
1
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
2
Outline Background Basic of Web Service Process Modeling Some method of modeling and reasoning about Web Service, including Orchestration and Choreography Compare different approaches of WS composition Some other formal method Conclusion
3
Background Service Oriented Architecture using Web Service - An effective solution in addressing the demand of enterprise integration - An emerging cross-disciplinary method for distributed computing - Changes the way in which software applications are designed, architected (SOA), delivered and consumed Web Service is an effective way to realize SOA - Autonomous, platform-independent computational elements, possibly managed by different organizations - Described, published, discovered, and programmed to build networks of collaborating applications, distributed both within and across organizational boundaries
4
Background Web Service Stack Transaction layer: Enable the participants to meet the global protocol Reliable Messaging layer: Guaranteed the delivery of information SOAP: Defines the basic structure of a message Web Services Description Language: Depict the interface of the Web Service. UDDI registry: Allows publishing the availability of a Web Service
5
Basic of Web Service Process Modeling Web Service Process Modeling, sometimes known as Business Process Modeling, is set of technologies and standards for the design, execution, administration, and monitoring of business processes which is the flow or progression of activities It is related to the arrangement of business specifications and a specific composition of activities with certain inputs and outputs provides value.
6
Modeling and reasoning about Web Service What are the reasoning tasks How to mode the control flow and data flow What are the techniques for these tasks
7
Orchestration and Choreography Orchestration (Like BPEL4WS) Refers to an executable business processes that may interact with both internal and external Web services. Describes how Web Services can interact with others at the message level, including the business logic and execution order of the interactions Choreography (Like WSCI, WS-CDL) More collaborative in nature, where each party involved in the process depicts the part they play in interaction Tracks the sequence of messages that may involve multiple parties and multiple sources
8
Business Process Execution Language for Web Service (BPEL4WS) The information described by BPEL4WS The execution order of the activities The triggering conditions of the activities The partners for external activities The composition of Web Services The binding to WSDL
9
BPEL activities BPEL activities: atom actions - : To provide an interface to call Web Service - : Call a Web Service synchronically or non- synchronically - : To give a value - : To stop a process - : keep for certain time - : keep state - : Show mistake information and address it
10
BPEL structured activities - : an ordered sequence of activities - : parallel activities - : case-statement approach - : loop - : execute one alternative path - : Defines the recovery actions when faults occur and response to faults - : Defines the dependencies between activities in BPEL
11
Data flow: - : WSDL message - : XML schema simple type - : XML schema element
12
Web Service Choreography Interface(WSCI) Atomic Activities - : mapping to an operation in WSDL - - : for the initialization of a Complex activities of WSCI - - : parallel - Variables: map to SOAP messages similar like BPEL
13
Web Service Choreography Description Language(WS-CDL) A global conversation among services Observable behaviors Elements and activities - Channels - Three structures: sequence, parallel, and choice - Variables
14
Simple Use-case Scenario Air-ticket agent ordering system
15
BPEL code <receive name="receiveInput" partnerLink="buyer" portType="tns:Agent" createInstance="yes" operation="sendOrder" variable="Order"> <invoke name="callbackbuyer" partnerLink="buyer" portType="tns:buyerCallback" operation="orderReceipt" inputVariable="po"/> <invoke name="writePOToDB" partnerLink="agentDB" portType="tns:OrderDB" operation="createOrder" inputVariable="order"/> <invoke name="sendPOrdertoDB" partnerLink="companyDB" portType="tns:companyDB" operation="sendOrder" inputVariable="order"/> <receive createInstance="no" name="receiveDBResponse" partnerLink="companyDB" portType="tns:companyDBCallback" operation="onResult" variable="orderResponse"> <invoke name="responseTobuyer" partnerLink="buyer" portType="tns:buyerCallback operation="orderResult" inputVariable="orderResponse"/>
16
CDL Code The WS-CDL buyer-agent interaction code is: <interaction name="OrderInteraction" channelVariable="tns:RChannel" operation="handleOrder" initiate="true"> <participate relationshipType="tns:BuyerAgentRelationship" fromRole="tns:Buyer" toRole="tns:Agent"/>
17
BPEL vs. WS-CDL BPEL4WS is mainly used for an internal activity and focuses on what kind of task on individual can do WS-CDL, which is a choreography language follows the way that the individuals tasks can make contribution to a bigger result. In conclusion, WS-CDL provides the global information exchange between different partners while BPEL provides the messages exchange from the angle of only one participant.
18
BPEL vs. WS-CDL Both XML-based BPEL: coordination/composition of WSs (WSDL-based) Processes model the flow of WSs by connecting activities that communicate with external WS providers WS-CDL: choreography description of WSs Interactions describe the information exchange by specifying participants, information and channel Exception handling and compensations supported through exception and finalizer work units
19
Orchestration VS Choreography Different mechanic However, neither of them offer any support for the verification of WS composition at design time That is why other formal method come into play!
20
Other formal methods Petri nets are framework to model concurrent systems A Petri Net (P/T Net) is a triple (P, T, F), where - P is a finite set of places, - T is a finite set of transitions, (P ∩ T = ∅ ) - F ⊆ (P ×T) ∪ (T ×P) is a finite set of the flow relation. The BPEL code can be transformed into the Petri net diagram to very the data flow and control flow. Some useful open source tool are available like BPEL2PNML, WOFBPEL to generate the Petri net diagram
21
Other formal methods Automata: - A finite automaton Γ is a 5-tuple Γ = (X,Σ, T, I, F), where: - X is a finite set of states; - Σ is a finite set of events; - T ⊆ X × Σ × X is a finite set of transitions; - I ⊆ X is a finite set of initial states; - F ⊆ X is a finite set of final states. Process Algebra Pi – Calculus is one method which is suited for depicting concurrency software system.
22
Conclusion Several approaches are discussed for modeling Web Service Process and composition and analyze their difference. Formal method and tools allow one to simulate and verify the activities of one’s model at design time Further work can be done to verify the correctness of WS compositions and perform quantitative analysis of QoS aspects.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.