120 likes | 367 Views
Web Service Choreography Interface (WSCI) 1.0. W3C Note 8 August 2002 http://www.w3.org/TR/wsci Dumitru Roman. Outline. Motivation WSCI 1.0 general overview an example WSCI benefits and drawbacks WSCI relevance to WSMO. Motivation.
E N D
Web Service Choreography Interface (WSCI) 1.0 W3C Note 8 August 2002 http://www.w3.org/TR/wsci Dumitru Roman
Outline • Motivation • WSCI 1.0 • general overview • an example • WSCI benefits and drawbacks • WSCI relevance to WSMO
Motivation • current Web Service technologies may be adequate for simple information retrieval in a stateless message exchange (e.g. a stock quote Web Service) • Most Web Services need to describe complex conversations: • Participate in longer conversations • Provide compound services • Questions to be addressed in this context: • Can messages be sent and/or received in any order? • What rules govern sequencing of messages? • Is there any relation among any incoming and/or outgoing messages? • Is there a "start" and an "end" of a given sequence? Can a given sequence be partially "undone"? • Can a global view of the overall exchange of messages be drawn? • Most prominent initiatives: WSCI and BPEL4WS
Language being defined by BEA Systems, Intalio, SAP and Sun Microsystems Approach - Extend WSDL specifications to describe order messages are sent and received, rules that apply to ordering, boundaries of message exchange transactional boundaries behaviour on exception degree of concurrency etc. WSCI 1.0
WSCI - supported requirements • Message choreography • Transaction boundaries and compensation • Exception handling • Thread management • Properties and Selectors • Connectors • Operational context • Dynamic participation • In summary, WSCI consists of all the artifacts required to describe: - how the Web Service is perceived to behave by the external world in the context of a given message exchange - how the Web Service perceives the behavior of the external world in the context of a given message exchange.
TravelAgencyWS AirlinerWS OrderReq OrderTrip OrderAck SeatsReq BookReq BookTickets BookSeats SeatsAck BookConf Statement SendStatement WSCI - an Example • WSDL is used to define the complex types, messages and the operations they form • We still need a notation to specify behaviour • Customer should start by ordering a trip • Customer confirms the trip • Travel agency web service books the seats on the plane by contacting the Airliner web service • Travel agency web service sends a statement back to the customer
Some WSCI concepts • Interface • the temporal and logical dependencies among the messages the Web Service exchanges with one or more other services in the context of a given scenario • Activities • Atomic activities: represent the basic unit of behavior of a Web service, such as sending and/or receiving a message, or waiting for a specified amount of time. • Complex activities: recursively composed of other activities • Processes • a portion of behavior that is labeled with a name • Properties • a modeling artifact used to reference a "value" within the interface definition. • Context • describes the environment in which a set of activities is executed • Message Correlation • the mechanism by which a message received by the service is associated with a particular conversation.
WSCI example : specification excerpt Correlation definition <correlationname=“itineraryCorrelation” property=“tns:itineraryID”></correlation> <interfacename=“TravelAgent”> <processinstantiation="message"> <sequence> <actionname="ReceiveTripOrder“ role="tns:TravelAgent“ operation="tns:TAtoTraveler/OrderTrip"> </action> <actionname="ReceiveConfirmation“ role="tns:TravelAgent“ operation="tns:TAtoTraveler/bookTickets"> <correlatecorrelation=“tns:itineraryCorrelation”/> <callprocess=“tns:BookSeats”/> </action> <actionname=“SendStatement“ role="tns:TravelAgent“ operation="tns:TAtoTraveler/SendStatement"> </action> </sequence> </process> Interface definition Process definition Sequence of actions Correlation usage Calling another process
WSCI Global Mode • a WSCI interface describes the view of the overall message exchange as seen from one participant. • WSCI allows also describing a multi-participant view of the overall message exchange by means of the WSCI Global Model. • The Global Model is described by • a collection of interfaces of the participating services, and • a collection of links between the operations of communicating services as described by a "static" service description language, such as WSDL.
WSCI benefits and drawbacks • WSCI is XML-based • WSCI statements can be incorporated in WSDL specification as definitions • Too rudimentary tools to edit WSCI specification • Feeling that WSCI specification can be useful, but no initiatives (yet) to - Enforce WSCI statements as requirements for the implementation of web services - Generate analysismodels (e.g., for simulation) from WSCI specifications
WSCI relevance to WSMO • WSMO Choreography should reuse work in WSCI • How much from WSCI do we need in WSMO Choreography? • Do we need to address other problems in WSMO Choreography other than those in WSCI?