W3C Enters Uncertain Waters with New Workflow Group

This month, the W3C officially began the process of exploring standards for Choreography -- the way web services will exchange business rules for workflow within an enterprise and between businesses. But even before the new working group holds its first meeting, political and technical rifts among vendors could cloud the work's immediate impact.

Tags: Web Services, Choreography, Exchange, Standards, XML, Working Group, BPEL4WS,

This month, the W3C officially began the process of exploring standards for the way web services will exchange business rules for workflow -- both within an enterprise and between businesses. But even before the working group holds its first meeting, political and technical rifts among vendors might limit the work's impact.

W3C's work will start under a new working group for Web Services Choreography. The W3C effort is to be built on WSDL 1.2, the latest draft of which was released by W3C just this week.

The working group's scope will be to define and draft an "industry-wide recommendation on implementing Web services choreography, to enable Web services to better interact with each other for more automated transactions." The group will also be charged with delivering several documents that spell out the standard, including a requirements document, usage scenarios, specifications of choreography languages, an XML schema for implementation and even a test suite for making sure the standards work.

W3C's decision to form the new group follows requests made last fall by Oracle Corp.

The group's choreography specifications aim to define behavior and language constructs for the following concepts:
  1. Composition features (recursive composition model, definition of the choreography's externally observable behavior, stateful choreographies, definition of the identity of an instance of an execution of a choreography, lifecycle management, message exchange interactions between web services, behavior definitions, scoping rules, activities);
  2. Associations (roles based on web service use, linkages between web services, references to Web services);
  3. Message exchanges (conversations, correlations and their lifecycle management, correlation relationships with choreography instances and state); and
  4. State Management (definition, manipulation, query capabilities).

The W3C choreography working group will have a two-year charter to develop its recommendation. As of this week, only two vendor proposals for dealing with interactive web services are under consideration: Hewlett-Packard's Web Services Conversation Language (WSCL) and Sun Microsystems' Web Services Choreography Interface (WSCI).

WSCL, submitted by HP to the W3C last April, focuses on modeling the sequencing of the interactions or operations of one interface.

In specific, WSCL proposes to allow the abstract interfaces of web services (i.e., the business level conversations or public processes supported by a Web service), to be defined. WSCL specifies the XML documents being exchanged, and the allowed sequencing of these document exchanges. WSCL conversation definitions are themselves XML documents and can therefore be interpreted by web services infrastructures and development tools. WSCL may be used in conjunction with other service description languages like WSDL; for example, to provide protocol-binding information for abstract interfaces, or to specify the abstract interfaces supported by a concrete service.

WSCI, submitted by Sun and others to the W3C in August 2002, 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 (or something like it) is needed to:
  1. Verify if the service behaved as stated by a given process specification;
  2. Derive the choreography of the overall process to describe and thus, potentially, to modify it; and
  3. Monitor the service's behavior in respect to all other participants in the message exchange.

The initial makeup of the W3C Web Services Choreography working group, which consists of 23 members at present, includes representatives from Oracle, Sun, Iona, Novell, Progress Software, SAP webMethods and SeeBeyond, among others. Oracle holds a cochair in the group.

But What and Who Is Missing?
But with a two-year charter, W3C watchers observing the process say to expect some dramatic changes in the coming months.

For instance, a handful of notables are absent from the effort, including Microsoft, IBM and BEA, three cofounders of the WS-I (Web Services Interoperability Organization) and authors of a set of interrelated proposals for web services coordination and workflow. These are: BPEL4WS, WS-Coordination and WS-Transaction. BEA's absence is particularly significant, as the company has coauthored both WSCI and BPEL4WS, and had been working to bridge any gaps between the two proposals.

While BPEL4WS has not yet been submitted to the W3C, at least one member of the IBM/Microsoft/BEA coalition has pledged to submit the proposal within the next month or so. Further, discussions are underway to make the underlying BPEL4WS technologies royalty-free, in compliance with a recent W3C ruling requiring that web services standards comply with royalty-free practices.

In specific, BPEL4WS (Business Process Execution Language for Web Services) would be layered on top of several XML specifications: WSDL 1.1, XML Schema 1.0 and XPath1.0. WSDL messages and XML Schema type definitions provide the data model used by BPEL4WS processes. XPath provides support for data manipulation. All external resources and partners are represented as WSDL services. BPEL4WS provides extensibility to accommodate future versions of these standards, specifically the XPath and related standards used in XML computation.

The WS-Coordination specification describes an extensible framework for providing protocols that coordinate the actions of distributed applications. The WS-Transaction specification designed to work in conjunction with WS-Coordination, defines two coordination types: Atomic Transaction and Business Activity.