Presentation is loading. Please wait.

Presentation is loading. Please wait.

Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)

Similar presentations


Presentation on theme: "Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)"— Presentation transcript:

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.


Download ppt "Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)"

Similar presentations


Ads by Google