Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 28, 2005.

Similar presentations


Presentation on theme: "CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 28, 2005."— Presentation transcript:

1 CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 28, 2005

2 Chapter 7: Service Coordination Protocols Web Services: Concepts, Architectures and Applications G. Alonso et. al. Springer Verlag

3 End of today’s lecture Next class: WS-Coordination WS-Transaction RosettaNet ebXML

4 WS-coordination Goals  A framework for supporting coordination protocols  A meta-specification  Supports mechanisms for communicating: unique identifiers – using a structure called “coordination context” the ports used in web services for participating in various conversations the role that a participant plays in a given conversation using “action” interface

5 Components of WS-coordination

6 Web service coordinator Web service coordinator (a) central coordination (b) distributed coordination Copyright Springer Verlag Berlin Heidelberg 2004 Centralized and distributed Coordination

7 Components of WS-Coordination Abstractions used  Coordination protocol – a set of rules governing conversations  Coordination type – grouping of coordination protocols  Coordination context – data structure that tracks instance identifier and pertinent information related to a conversation Interaction forms  Activation – participant initiates a new context and creates a new conversation  Registration – a web service registers as a participant in a conversation  Protocol-specific interactions – messages exchanged in the context of executing a particular conversation

8 CreateCoordinationContext -... - coordination type - current context CreateCoordinationContextResponse -... - coordination context - identifier - coordination type - registration service -... ActivationCoordinatorPortType coordinator ActivationRequestorPortType Web service Copyright Springer Verlag Berlin Heidelberg 2004 Activation of a new context in WS-coordination

9 register -... - protocol identifier - participant protocol service registerResponse -... - coordinator protocol service RegistrationCoordinatorPortType coordinator RegistrationRequestorPortType Web service Copyright Springer Verlag Berlin Heidelberg 2004 Registration in WS-Coordination

10 protocol-specific messages from participant to coordinator protocol-specific messages from coordinator to participant XCoordinatorPortType coordinator XParticipantPortType Web service Copyright Springer Verlag Berlin Heidelberg 2004 Convention for defining protocol-specific interfaces

11 Central Coordination

12 Types of messages exchanged Operational messages – e.g. OrderGoods, RequestQuote WS-coordination messages – e.g. activation, registration Protocol-specific messages – to mark the start and end of various actions/activities associated with any conversation WS-Coordination only provides standardization to WS- coordination type messages.

13 Web service A activation participant registration participant protocol participant coordinator C activation coordinator registration coordinator protocol coordinator Web service B activation participant registration participant protocol participant 1. create CC 2. X1 3. register 4. protocol coordinator 5. operational message 6. register 7. protocol coordinator 8. protocol-specific message 9. protocol-specific message Web service implementation Copyright Springer Verlag Berlin Heidelberg 2004 Sample types of messages exchanged

14 Distributed Coordination

15 Web service Acoordinator C a Web service Bcoordinator C b 1. create CC 2. X1 3. register 4. protocol coordinator 5. operational message 6. create CC 7. X2 8. register 9. register 10. protocol coordinator 11. protocol coordinator 12. protocol message 13. protocol message 14. protocol message 15. protocol message Copyright Springer Verlag Berlin Heidelberg 2004 Messages for distributed coordination

16 coordinator n XCoordinatorPortType XParticipantPortType coordinator n + 1 XCoordinatorPortType XParticipantPortType Web service n + 1 XParticipantPortType Copyright Springer Verlag Berlin Heidelberg 2004 Coordinator chaining for distributed coordination

17 WS-Coordination summary WS-coordination defines:  SOAP extensions for supporting coordination  Meta-protocols for creating coordination contexts, binding participants to coordinators  Mechanisms to support both central and distributed coordination Mechanisms defined are similar to the ones defined by CORBA Object Transaction Service (OTS).

18 WS-Transaction

19 Builds on top of WS-Coordination Initially proposed by IBM, Microsoft & BEA in August 2002 Transactions in web services  Will have to deal with lack of a homogeneous middleware  Transactions likely to be long-running  Not always possible to impose ACID properties  Concepts which are precise in database operations may have no relevance in web services Approach used in web services to deal with transactions  Notion of “compensation” as a way of rolling back “business activities”  Short duration transactions are handled similar to middleware and are called “atomic transactions”

20 atomic transaction coordinator CompletionCoordinatorPortType CompletionWithAckCoordinatorPortType PhaseZeroCoordinatorPortType 2PCCoordinatorPortType OutcomeNptificationCoordinatorPortType CompletionParticipantPortType CompletionWithAckParticipantrPortType PhaseZeroParticipantrPortType 2PCParticipantPortType OutcomeNptificationParticipantPortType ActivationCoordinatorPortType RegistrationCoordinatorPortType RegistrationParticipantPortType WS-Coordination interfaces needed for chaining WS-Transaction interfaces WS-Transaction interfaces needed for chaining Copyright Springer Verlag Berlin Heidelberg 2004 Port types used in atomic transactions

21 Web service A coordinator Ca Web service B coordinator Cb create CC T1 register for Completion completion coordinator operational message create CC T2 register for PhaseZero PhaseZero coordinator complete PhaseZero register for 2PC 2PC coordinator register for 2PC PhaseZeroComplete prepare prepared commit committed completed Copyright Springer Verlag Berlin Heidelberg 2004 Example of atomic transaction in distributed coordination

22 business activity coordinator BusinessAgreementCoordinatorPortType BusinessAgreementWithCompleteCoordinatorPortType BusinessAgreementParticipantPortType BusinessAgreementWithCompleteParticipantrPortType ActivationCoordinatorPortType RegistrationCoordinatorPortType RegistrationParticipantPortType WS-Coordination interfaces needed for chaining WS-Transaction interfaces WS-Transaction interfaces needed for chaining Copyright Springer Verlag Berlin Heidelberg 2004 Port types used in “business activities” (long running transactions)

23 Web service AWeb service BWeb service CCoordinator R create CC A1 operational message register for BusinessAgreement BusinessAgreement coordinator operational message register for BusinessAgreement BusinessAgreement coordinator completed faulted compensate forget Copyright Springer Verlag Berlin Heidelberg 2004 An execution of the business activity protocol

24 RosettaNet

25 Goals and scope of RosettaNet  Global, non-profit, business consortium of 400 vendors  eCommerce interfaces to align IT supply chain  Standardization efforts in the following areas Business processes RosettaNet Partner Interface Processes Defines business documents, vocabulary and choreography of messages PIPs are published by RosettaNet in a PIP Directory Data format RosettaNet Business Dictionary Rosettanet Technical Dictionary Messaging services Rosettanet Implementation Framework (RNIF)

26 Partner Interface Process (PIP) Specifications PIP specification includes  A technical dictionary  Message guideline Two categories of PIP messages  Business action messages – e.g. Purchase Order; Billing statement  Business signal messages – e.g. acknowledgement messages related to business action messages Process of developing a PIP specification  Model “as-is” business process and partner types identification  Re-engineer this model to support web-based interactions  Create a PIP Blueprint document of the re-engineered process showing partner types and interactions  Create a PIP protocol that can be implemented by system developers

27 PIP Specification views Business Operational View  Known as the “action layer” describes the flow of interactions between entities Functional Service View  Known as the “transaction layer” specifies the details of the message exchanges Implementation Framework View  Known as the “service layer” details communication protocols and message format specifications

28 > request price and availability :customer :product supplier start process price and availability request > price and availability request > price and availability response [ fail ] failed [ success ] end Copyright Springer Verlag Berlin Heidelberg 2004 RosettaNet PIP 3A2 (Request Price and Availability) Business Process Flow Diagram

29 PIP definitions Cluster 0 – RosettaNet support Cluster 1 – Partner Product and Service Review Cluster 2 – Product information Cluster 3 – Order management Cluster 4 – Inventory management Cluster 5 – Marketing Information Management Cluster 6 – Service and support Cluster 7 - Manufacturing

30 MIME multipart/related envelope transport protocols (TCP/IP and others) HTTPSMTP other (future) HTTPS SSL preamble header delivery header service header service content attachment 1 attachment n headers business process payload Copyright Springer Verlag Berlin Heidelberg 2004 RosettaNet Business message components And Protocol Stack

31 Other standards related to Coordination Protocols XML Common Business Library (xCBL)  CommerceOne developed this specification  For example, develops an EDI for order management, package, transport and invoicing using XML  Includes notions of roles – buyer, seller Electronic Business Using eXtensible Markup Language (ebXML)  Sponsored by UN/CEFACT – UN that is responsible for EDI  Specifications for how electronic commerce should be specified, documented, and conducted. Web service choreography interface (WSCI


Download ppt "CS 493/693: Distributed Systems Programming V. “Juggy” Jagannathan CSEE, West Virginia University March 28, 2005."

Similar presentations


Ads by Google