Presentation is loading. Please wait.

Presentation is loading. Please wait.

Service-Oriented Computing: Semantics, Processes, Agents

Similar presentations


Presentation on theme: "Service-Oriented Computing: Semantics, Processes, Agents"— Presentation transcript:

1 Service-Oriented Computing: Semantics, Processes, Agents
August 2004 Chapter 12: Coordination Frameworks for Web Services Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005 © Singh & Huhns

2 Highlights of this Chapter
Service-Oriented Computing: Semantics, Processes, Agents August 2004 Highlights of this Chapter WSCL: Web Services Conversation Language WSCI: Web Service Choreography Interface WS-Coordination Web service transaction types BTP: Business Transaction Protocol Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns

3 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!) Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

4 A Process Is … [Abstractions]
Service-Oriented Computing: Semantics, Processes, Agents August 2004 A Process Is … [Abstractions] Orchestration: A partial order of actions (activity graph, script) under the control of a central conductor; akin to a workflow [Global view; central] Workflow: narrower concept than process; emphasizes control and data flows from a central perspective; usually tool-specific and focused on human tasks Choreography: An exchange of messages among participants; akin to a conversation as described by WSCL, WS-CDL, ebBP [Global view; distributed] Collaboration: A joint set of activities among business partners [Local views; distributed] Chapter 13 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns

5 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=" <InboundXMLDocument id="Payment" hrefSchema=" </InboundXMLDocument> </Interaction> Transitions: order of the interactions <Transition> <SourceInteraction href="Quote"/> <DestinationInteraction href="Purchase"/> </Transition> <DestinationInteraction href="CatalogInquiry"/> Conversation: a name for the protocol and a list of its interactions and transitions; this is one party’s perspective Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

6 Concepts in WSCL Chapter 12
                                                                                                                                                Concepts in WSCL Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

7 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 Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

8 Example Conversation Definition
Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

9 Example WSCL Specification: 1
<Conversation name="StoreFrontServiceConversation" xmlns=" initialInteraction="Start" finalInteraction="End" > <ConversationInteractions> <Interaction interactionType="ReceiveSend" id="Login"> <InboundXMLDocument hrefSchema=“ id="LoginRQ"/> <OutboundXMLDocument hrefSchema=“ id="ValidLoginRS"/> <OutboundXMLDocument id="InvalidLoginRS" hrefSchema=“ </Interaction> <Interaction interactionType="Empty" id="Start" /> <Interaction interactionType="Empty" id="End" /> </ConversationInteractions> Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

10 Example WSCL Specification: 2
<ConversationTransitions> <Transition> <SourceInteraction href="Start"/> <DestinationInteraction href="Login"/> </Transition> <SourceInteraction href="Login"/> <DestinationInteraction href="Registration"/> <SourceInteractionCondition href="InvalidLoginRS"/> <SourceInteraction href="Logout"/> <DestinationInteraction href="End"/> </ConversationTransitions> </Conversation> Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

11 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) Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

12 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"/> </interface> Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

13 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" <compensate transaction="tns:buyStock"/> </onTimeout> </exception> Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

14 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 Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

15 WS-Coordination Service
Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

16 WS-Coordination Service
Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

17 WS-AtomicTransaction: Protocol for an Atomic Transaction
The travel agency and the airline can perform 2PC; the airline makes commits; the museum does not care Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

18 Business Transaction Protocol (BTP)
Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns

19 Service-Oriented Computing: Semantics, Processes, Agents
August 2004 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 Chapter 12 Service-Oriented Computing: Semantics, Processes, Agents - Munindar Singh and Michael Huhns © Singh & Huhns


Download ppt "Service-Oriented Computing: Semantics, Processes, Agents"

Similar presentations


Ads by Google