Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 493/693: Distributed Systems Programming

Similar presentations


Presentation on theme: "CS 493/693: Distributed Systems Programming"— 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 Next class: WS-Coordination WS-Transaction RosettaNet ebXML
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 Centralized and distributed Coordination
Web service Web service Web service coordinator (a) central coordination Web service Web service Web service coordinator coordinator coordinator (b) distributed coordination Copyright Springer Verlag Berlin Heidelberg 2004

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 Activation of a new context in WS-coordination
ActivationRequestorPortType Web service CreateCoordinationContext - ... - coordination type - current context CreateCoordinationContextResponse - ... - coordination context - identifier - coordination type - registration service ActivationCoordinatorPortType coordinator Copyright Springer Verlag Berlin Heidelberg 2004

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

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

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 Sample types of messages exchanged
coordinator C activation coordinator registration coordinator protocol coordinator Web service A Web service B activation participant protocol participant activation participant protocol participant registration participant Web service implementation Web service implementation registration 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 Copyright Springer Verlag Berlin Heidelberg 2004

14 Distributed Coordination

15 Messages for distributed coordination
Web service A coordinator Ca Web service B coordinator Cb 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

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

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

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

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

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

24 RosettaNet

25 RosettaNet 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 RosettaNet PIP 3A2 (Request Price and Availability)
:customer :product supplier start <<SecureFlow>> price and availability response <<RequestResponseActivity>> request price and availability process price and availability request <<SecureFlow>> price and availability request [ fail ] [ success ] end Business Process Flow Diagram failed Copyright Springer Verlag Berlin Heidelberg 2004

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 transport protocols (TCP/IP and others) HTTP SMTP other (future) HTTPS
SSL preamble header delivery header service header service content attachment 1 attachment n MIME multipart/related envelope headers business process payload RosettaNet Business message components And Protocol Stack Copyright Springer Verlag Berlin Heidelberg 2004

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"

Similar presentations


Ads by Google