Chapter 12 coordination frameworks for web services
This presentation is the property of its rightful owner.
Sponsored Links
1 / 19

Chapter 12: Coordination Frameworks for Web Services PowerPoint PPT Presentation


  • 80 Views
  • Uploaded on
  • Presentation posted in: General

Chapter 12: Coordination Frameworks for Web Services. Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005. Highlights of this Chapter. WSCL: Web Services Conversation Language WSCI: Web Service Choreography Interface WS-Coordination

Download Presentation

Chapter 12: Coordination Frameworks for Web Services

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Chapter 12 coordination frameworks for web services

Chapter 12:Coordination Frameworks for Web Services

Service-Oriented Computing: Semantics, Processes, Agents– Munindar P. Singh and Michael N. Huhns, Wiley, 2005


Highlights of this chapter

Highlights of this Chapter

  • WSCL: Web Services Conversation Language

  • WSCI: Web Service Choreography Interface

  • WS-Coordination

  • Web service transaction types

  • BTP: Business Transaction Protocol

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Achieving business interoperation

Achieving Business Interoperation

The parties must

  • Know each other’s identity and location (presumes suitable directories)

  • Agree on the low-level transport protocols and encoding formats

  • Agree on the syntax and semantics of documents to be exchanged

  • Agree on their expectations about when different documents will be sent and received

    • This specification is termed a business protocol

    • An instance of a business protocol is a conversation (but sometimes the term is used to mean protocol – watch out!)

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Process abstractions

Process Abstractions

Orchestration: A process is a partial order of actions under the control of a central conductor; akin to a workflow [Global; central]

Choreography: A process is an exchange of messages among participants; akin to a conversation as described by WSCL and WSCI [Global; distributed]

Collaboration: A process is a joint set of activities among business partners [Local; distributed]

Workflow: narrower concept than process, which emphasizes control and data flows from a central perspective; original idea behind modern orchestration

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Parts of a wscl specification

Parts of a WSCL Specification

WSCL: Web Services Conversation Language

  • Document Type Definitions: specify what types of XML documents will be exchanged

  • Interaction Types: Send, Receive, SendReceive, ReceiveSend, Empty

    <Interaction interactionType="SendReceive" id="Payment">

    <OutboundXMLDocument id="Invoice"

    hrefSchema="http://sc.edu/InvoiceRS.xsd"/>

    <InboundXMLDocument id="Payment"

    hrefSchema="http://ncsu.edu/Payment.xsd">

    </InboundXMLDocument>

    </Interaction>

  • Transitions: order of the interactions

    <Transition>

    <SourceInteraction href="Quote"/>

    <DestinationInteraction href="Purchase"/>

    </Transition>

    <Transition>

    <SourceInteraction href="Quote"/>

    <DestinationInteraction href="CatalogInquiry"/>

    </Transition>

  • Conversation: a name for the protocol and a list of its interactions and transitions; this is one party’s perspective

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Concepts in wscl

Concepts in WSCL

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Well formed conversations

Well-Formed Conversations

  • All interactions are reachable from the initial interaction

  • The final interaction is reachable from all interactions

  • If a transition from interaction A to interaction B specifies a SourceInteractionCondition, then all transitions from A to B do so

  • The final interaction and transitions to the final interaction unambiguously clarify for each participant when a conversation is finished

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Example conversation definition

Example Conversation Definition

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Example wscl specification 1

Example WSCL Specification: 1

<Conversation name="StoreFrontServiceConversation" xmlns="http://www.w3.org/2002/02/wscl10" initialInteraction="Start" finalInteraction="End" >

<ConversationInteractions>

<Interaction interactionType="ReceiveSend" id="Login">

<InboundXMLDocument hrefSchema=“http://conv1.org/LoginRQ.xsd”

id="LoginRQ"/>

<OutboundXMLDocument hrefSchema=“http://conv1.org/ValidLoginRS.xsd”

id="ValidLoginRS"/>

<OutboundXMLDocument id="InvalidLoginRS" hrefSchema=“http://conv1.org/InvalidLoginRS.xsd”/>

</Interaction>

<Interaction interactionType="Empty" id="Start" />

<Interaction interactionType="Empty" id="End" />

</ConversationInteractions>

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Example wscl specification 2

Example WSCL Specification: 2

<ConversationTransitions>

<Transition>

<SourceInteraction href="Start"/>

<DestinationInteraction href="Login"/>

</Transition>

<Transition>

<SourceInteraction href="Login"/>

<DestinationInteraction href="Registration"/>

<SourceInteractionCondition href="InvalidLoginRS"/>

</Transition>

<Transition>

<SourceInteraction href="Logout"/>

<DestinationInteraction href="End"/>

</Transition>

</ConversationTransitions>

</Conversation>

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Wsci web service choreography interface

WSCI: Web Service Choreography Interface

Choreography refers to a global view of how messages are exchanged

  • WSCI describes the flow of messages exchanged by a Web service that is interacting with other services

  • WSCI is viewed as an enhancement to WSDL (inserted within a WSDL description)

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Example wsci add in to wsdl

Example WSCI Add-In to WSDL

<correlation name="quotationCorrelation“ property="tns:quotationID“/>

<interface name="StockQuoteWS">

<process name="ProvideStockQuote" instantiation="message">

<sequence>

<action name="ReceiveLogin“ role="tns:StockQuoteWS“

operation="tns:QuoteToUser/LogIn"/>

<action name="ReceiveStockQuoteRequest" role="tns:StockQuoteWS"

operation="tns:QuoteToUser/ProvideQuote">

<correlate correlation="tns:quotationCorrelation"/>

<call process="tns:LookupPrice"/>

</action>

<action name="ReceiveLogout“ role="tns:StockQuoteWS“

operation="tns:QuoteToUser/LogOut"/>

</sequence>

</process>

<process name="LookupPrice" instantiation="other">

<action name="QueryNYSE" role="tns:StockQuoteWS“

operation="tns:QuoteToUser/QueryNYSE"/>

</process>

</interface>

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Wsci example for transaction compensation

WSCI Example for Transaction Compensation

<sequence>

<context>

<transaction name="buyStock" type="atomic">

<compensation>

<action name="NotifyUnavailable" role="NYSE“ operation="tns:NYSEtoBroker/NotifyUnavailable"/>

</compensation>

</transaction>

</context>

<action name="BuyShare" role ="Broker“ operation="tns:BrokerToNYSE/BuyShare"/>

<while name="BuyShares">

<condition>defs:fundsRemain</condition>

<action name="BuyShare" role ="Broker“ operation="tns:BrokerToNYSE/BuyShare">

<correlate correlation="defs:buyingCorrelation"/>

</action>

</while>

</sequence>

<!-- Compensating Behavior for the Above Transaction -->

<exception>

<onTimeout property="tns:expiryTime" type="duration" reference="tns:[email protected]">

<compensate transaction="tns:buyStock"/>

</onTimeout>

</exception>

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Ws coordination

WS-Coordination

  • WS-Coordination is the specification for a service whose job is to coordinate the activities of the Web services that are part of a business process

  • A coordination service is an aggregation of three services:

    • Registration: for parties to register with the coordinator

    • Activation: to create an instance of a coordination context

    • Coordination protocol: to define the specific protocol to be followed

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Ws coordination service

WS-Coordination Service

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Ws coordination service1

WS-Coordination Service

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Ws atomictransaction protocol for an atomic transaction

WS-AtomicTransaction:Protocol for an Atomic Transaction

The travel agency and the airline can perform 2PC, but the museum can perform only a simple, zero-phase update

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Business transaction protocol btp

Business Transaction Protocol (BTP)

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


Chapter 12 summary

Chapter 12 Summary

  • SOC needs an ability to specify interactions among business partners in a manner that respects the partners’ autonomy and heterogeneity: conversations are a natural way to do so

  • SOC needs support for transactions

    • The more relaxed varieties are preferable, but there is a place for traditional transactions as well

    • The transactions are based on a small set of primitives

Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns


  • Login