Existing specifications for Web services describe the indivisible units of interactions. It has become clear that taking the next step in the development of Web services will require the ability to compose and describe the relationships between lower-level services. Although differing terminology is used in the industry, such as orchestration, collaboration, coordination, conversations, etc., the terms all share a common characteristic of describing linkages and usage patterns between Web services. For the purpose of this document, and without prejudice, we use the term choreography as a label to denote this space.
Many presentations at the W3C Workshop on Web services of 11-12 April 2001 pointed to the need for a common interface and composition language to help address choreography. The Web Services Architecture Requirements Working Draft created by the Web Services Architecture Working Group also lists the idea of Web service choreography capabilities as a Critical Success Factor, in support of several different top-level goals for the nascent Web services architecture.
Two technical Submissions, WSCL, and WSCI, have recently been published by the W3C as Technical Notes. There are other industry efforts in the area of choreography languages, such as BPML (defined by BPMI.org), BPSS (defined by ebXML), IBM's WSFL, Microsoft's XLANG, and IBM/Microsoft/BEA's BPEL4WS and their companion specifications WS-Coordination and WS-Transaction, etc. These developments make clear that there is a great deal of interest within the industry in addressing this problem area.
Some observers predict that if no steps are taken to develop a choreography specification in a vendor-neutral forum, the Web services marketplace may be divided into a number of non-interoperable sub-networks. A vendor-neutral choreography specification which commands consensus and wide support, on the other hand, can make it much easier and cheaper to create composite Web services which integrate services from multiple vendors. Small and medium-sized enterprises will be able to create more complex and more useful Web services. This in turn will help the market grow much more vigorously than would be possible without a vendor-neutral specification for choreography.
The problems posed by the lack of a widely adopted choreography specification, the current proliferation of overlapping work, and the time required to complete this effort merit the chartering a new W3C Working Group now. This Working Group should address the choreography space encompassed by the referenced documents. This Working Group should also coordinate with other Working Groups within the Web Service Activity, with the aim of developing an interoperable and open standard for Web service choreography.
WSDL has proved very useful for describing a single service. Currently complex natural language descriptions outlining the obligations of the participants and detailing how to use a service (sequencing, state management, etc.) have to accompany a WSDL description. The next step is to partially replace these somewhat imprecise instructions with precise language. This will simplify the daunting task companies now face when trying to use Web services to integrate their business processes. In a B2B context such a specification could reduce the cost of integrating with new trading partners and responding to changes in existing interfaces. In addition, creating a standard language to describe the relationships between document exchanges will be helpful to other standards bodies, such as RosettaNet or CIDX, giving them a standard infrastructure for message choreography and enabling them to focus on the core competencies relevant to their domain.
The Web Services Choreography Working Group, part of the Web Services Activity, is chartered to create the definition of a choreography, language(s) for describing a choreography, as well as the rules for composition of, and interaction among, such choreographed Web services. The language(s) should build upon the foundation of the Web Service Description Language 1.2 (WSDL 1.2).
The Working Group shall start by considering the various input documents listed below and refine the scope and factorization of the choreography space. The Working Group is also expected to be aware of other work that has been published in this area, although it is not a formal input.
The Working Group shall consider, at a minimum, as input:
The Working Group will also consider additional input it sees fit.
The Working Group shall produce the following deliverables:
The choreography specification(s) shall define (at a minimum) the behavior and language constructs for the following key concepts:
There are two aspects to Web services choreography:
The Working Group will concentrate on addressing the external description, taking into account the separation between those two aspects and their relationship, and defining the necessary process execution hooks for enabling the external interface description.
The Choreography Working Group is strongly encouraged to provide a semantic mapping using the RDF and OWL technologies. Such a mapping will allow the information described by the choreography language to be easily combined with that of other applications. Also, as the Semantic Web languages allow the application of formal techniques to the analysis of the meaning of vocabularies, such a mapping would facilitate the understanding of the choreography language itself. The Working Group will consider the impact of each of its design choices on the ability to produce this mapping.
The goal of the Semantic Web is to enhance the utility of the Web as a machine-processable information space. The Semantic Web builds on the current Web infrastructure (XML, URI's, HTTP) and provides a standardized representation for data (XML/RDF) and for the conceptual structures behind that data (RDF Schema, Web Ontology Language). Web services are aiming at enabling automated distributed computing on the World Wide Web. It is important for both Web Services and for the Semantic Web that the semantics of the choreography language be clear and precise.
It is obvious that transactions, security, reliability, availability, and other such qualities are intimately related with Web service choreography, some more than others. It is not the goal of this group to define these mechanisms, but it must clearly articulate the boundaries.
Web services are composed of interfaces to applications, which can be written in different programming languages. The purpose of the Working Group is to provide a framework that supports a wide variety of applications and programming languages and is not geared towards any programming language. Given the wide variety of programming languages, the Working Group should not define mappings to any programming languages.
One aspect of modeling choreographies will be to represent them graphically. It is out of the scope of the Working Group to define such a graphical notation.
These are subject to revision due to editorial needs and external scheduling issues; updates will be negotiated with the related groups and recorded on the Web Services Choreography Working Group home page. Meeting dates are mentioned here for planning purposes.
The target duration of the Working Group has been extended from 2 years to 3 years, through December 2005.
XML and XML derived activities have become a strategic technology in W3C and elsewhere. Each deliverable of any Working Group must satisfy the dependencies from other W3C Working Groups before it can advance to Candidate Recommendation.
The Web Services Choreography Working Group should liaise with at least the following groups outside W3C (see also W3C liaisons with other organizations):
To join the Web Services Choreography Working Group, please follow the instructions of section 4.2.3 of the Process Document, sending email to the Working Group Chair and the W3C Team contact. The nomination must include explicit agreement to this charter, including its goals, an IPR disclosure and the level of effort required of the representative.
Each Member organization may have at most two participants in the Working Group. Only Working Group participants may engage in formal votes on substantive issues. When a formal vote is required, each Member organization or group of related Members is allowed one vote, even though the Member may have several participants in the Working Group.
The W3C Team is expected to have at most two participants in the Working Group (including the Team contact). When a formal vote is required, the Team is allowed one vote.
Membership is also open to invited experts from the community, selected by the Chair in order to balance the technical experience of the group.
Each participant should expect to spend one day per week on work for this Working Group.
The Working Group will utilize a public mailing list <public-ws-chor@w3.org> for its technical email communications. It is referred to in the rest of this document as the Working Group mailing list.
A Member-only mailing list <member-ws-chor@w3.org> is available for administrative purposes only.
The Working Group has a home page that records the history of the group, provides access to the archives, meeting minutes, updated schedule of deliverables, membership list, and relevant documents and resources. The page is available to the public and should be maintained by the Chair in collaboration with the W3C Team contact.
The Working Group will have distributed and face-to-face meetings.
A one- to two-hour Working Group distributed meeting will be held every week. When necessary to meet agreed-upon deadlines, distributed meetings may be held twice a week.
The Working Group may schedule face-to-face meetings in a manner that maximizes co-location with events that Working Group members would be attending anyway.
Participation in meetings (distributed or face-to-face) is limited to participants in good standing and individuals invited at the discretion of the Chair to specific meetings.
Decisions taken in meetings must be announced on the Working Group mailing list. Observers may take part in decision-making at the discretion of the Chair.
Meeting records must include attendance, the results of group decisions, and action items. They must be made publicly available except for non-technical issues that do not directly affect the output of the Working Group. The Chair will decide which issues are not made public.
To be successful, we expect the Working Group to have approximately 20 to 30 active participants. A large public review group that will participate in the mailing list discussions is expected.
The Chairs for the Web Services Choreography Working Group are Martin Chapman (Oracle Corporation) and Steve Ross-Talbot (Enigmatec Corporation).
The W3C Team Contact for this Working Group is Yves Lafon. It is expected that the total Team resources devoted to this Working Group will be about six tenths of a full-time engineer.
W3C promotes an open working environment. Whenever possible, technical decisions should be made unencumbered by intellectual property right (IPR) claims.
This is a Royalty Free Working Group, as described in W3C's Current Patent Practice, dated 24 January 2002.
Working Group participants disclose patent claims by sending email to <patent-issues@w3.org>; please see Current Patent Practice for more information about disclosures.