A new review draft Web Service Choreography Interface 1.0 specification "proposes a language standard that can be used in conjunction with existing Web-service protocols to provide a description of the observable behavior of Web services. The Web Service Choreography Interface (WSCI) is an XML-based interface description language that describes the flow of messages exchanged by a Web Service participating in choreographed interactions with other services. WSCI describes the dynamic interface of the Web Service participating in a given message exchange by means of reusing the operations defined for a static interface. WSCI works in conjunction with the Web Service Description Language (WSDL), the basis for the W3C Web Services Description Working Group; it can, also, work with another service definition language that exhibits the same characteristics as WSDL. WSCI describes the observable behavior of a Web Service. This is expressed in terms of temporal and logical dependencies among the exchanged messages, featuring sequencing rules, correlation, exception handling, and transactions. WSCI also describes the collective message exchange among interacting Web Services, thus providing a global, message-oriented view of the interactions."
Bibliographic information: Web Service Choreography Interface 1.0. By BEA Systems, Intalio, SAP, and Sun Microsystems. 102 pages. Copyright to BEA Systems, Inc., Intalio, Inc., SAP AG, and Sun Microsystems, Inc. Authors: Assaf Arkin (Intalio); Sid Askary (Intalio); Scott Fordin (Sun Microsystems); Wolfgang Jekeli (SAP); Kohsuke Kawaguchi ( Sun Microsystems); David Orchard (BEA Systems); Stefano Pogliani (Sun Microsystems); Karsten Riemer (Sun Microsystems); Susan Struble (Sun Microsystems); Pal Takacsi-Nagy (BEA Systems); Ivana Trickovic (SAP); Sinisa Zimek (SAP).
From the specification:
WSCI describes the interdependencies among the Web Service's operations so that any client can understand how to interact with such service in the context of the given process, and can "anticipate" the expected behavior of such service at any point in the process' lifecycle. Being able to describe the dynamic interface of a service in the context of a particular process enables the developer/architect to abstract from the implementation and to focus on the role the Web Service plays in such process.
A WSCI interface describes all the artifacts required to provide: (1) The external, observable view of how the Web Service interacts with other services within a given message exchange, or, in other words, how the Web Service is perceived to behave by the external world in the context of a given message exchange, and (2) The view of the message exchange as seen by the Web Service, or, in other words, how the Web Service perceives the behavior of the external world in the context of a given message exchange.
WSCI does not address the definition and the implementation of the internal processes that actually drive the message exchange. Rather, the goal of WSCI is to describe the observable behavior of a Web Service by means of a message-flow oriented interface. This description enables developers, architects and tools to describe and compose a global view of the dynamic of the message exchange by understanding the interactions with the web service.
Problem and rationale for the WSCI solution: "The current Web Service stack does not define a choreography language or any other relationship among atomic operations. It does, however, provide the basic layers: (1) SOAP defines the basic formatting of a message and the basic delivery options. A SOAP compliant Web Service knows how to send and receive SOAP-based messages (2) WSDL describes the static interface of a Web Service. It defines the protocol and the message characteristics of end points by means of four basic operations; a WSDL compliant Web Service knows how to support any of these four operations. The operations defined in this way: [A] Are atomic in nature (that is, no intermediate state is visible from the outside) [B] Describe the direction of messages (incoming or outgoing) but not the behavior of the service as a result of each individual operation... The current Web Service technologies may be adequate for simple information retrieval in a stateless message exchange, such as a stock quote Web Service; for some services, it may even be sufficient for messages to maintain state in remote procedure calls by passing tokens or state variables within objects. ... the challenge for WSCI is to provide answers to the previous (and other related) questions in the domain of the Web based computing. Fundamentally, the challenge will be to describe Web Services: (1) From an external point of view (without knowing how internally they operate); (2) Independently of any particular integration model (workflow, MOM etc); (3) Precisely enough to allow other components to have a clear understanding of how to properly interact with them; (4) In the context of each specific message exchange in which they participate... To be part of a useful and manageable Web Service collaboration, individual operations must be allowed to convey enough information about how they can be used in a given scenario in order to enable them to participate in more complex processes. WSCI achieves this by defining a layer on top of the existing Web Service stack..." [Spec Section 1]
"WSCI provides an important foundation for realizing the promise of Web services to deliver automated, application-application collaboration. One of the key benefits of WSCI is that it bridges the gap between business process management and Web services by describing how a Web service can be used as part of a larger, more complex business process. These business processes may reside entirely within the confines of a single company, or span across multiple organizations or companies." [website main page description]
- WSCI website at Sun Microsystems
- WSCI website at Intalio
- WSCI Spec version 1.0 (HTML)
- WSCI Spec version 1.0 (PDF) [cache]
- XML Schemas (from WSCI spec Section 8.4)
- WSCI FAQ document
- WSCI feedback form [Sun]
- Intalio Product Overview. "Business Process Management System." 14 pages. "... Intalio has developed the Intalio Business Process Management System that helps companies manage their discrete & transactional business processes, over their entire life-cycle. Intalio helps Global 2,000 firms reduce their process design-to-production cost, control their total cost of process ownership, and increase their strategic return on process investment . Quite simply, Intalio is the first platform designed for the process-managed enterprise. Intalio, The Business Process Management Company, is a leading provider of Business Process Management Systems that help Global 2,000 firms reduce their process design-to-production cost, control their total cost of process ownership, and increase their strategic return on process investment. Intalio is the founder of the Business Process Management Initiative (BPMI.org) and the main author of the BPML and WSCI industry standards..."
- "Web Service Choreography Interface (WSCI)" - Main reference page.
- See also:
- "Web Services Description Language (WSDL)"
- "Business Process Modeling Language (BPML)"
- "Business Process Specification Schema Project" and ebXML BPSS v1.01 spec
- Business Transaction Protocol (Primer), and TC
- "Web Services Flow Language (WSFL)"
- "Web Services Conversation Language (WSCL)"
- Enterprise Distributed Object Computing (EDOC)
- XML Pipeline Definition Language