A draft set of specifications for the Web Services Composite Application Framework (WS-CAF) has been published by Arjuna Technologies Limited, Fujitsu Software, IONA Technologies PLC, Oracle Corp and Sun Microsystems. WS-CAF is an "open, multi-level framework for standard coordination of long-running business processes across multiple, incompatible transaction processing models and architectures. WS-CAF is compatible with current related specifications and does not require the implementation of a new transaction protocol."
WS-CAF addresses the transaction processing information management and sharing problem arising from the multiplicity of architectures that emerge from different transaction types: "some transactions are very simple, such as purchasing a book or transferring funds, and can be processed immediately; other transactions are more complex, such as fulfilling a purchase order or completing an insurance claim, and may take days or even years to process. WS-CAF concepts are based on the assumption that multiple Web services are often placed into various relationships to accomplish a common purpose and therefore at a minimum need a way to share common context (the Activity Domain), and at a maximum need a way to coordinate results (the Coordination Domain) into a single, potentially long-running larger unit of work with predictable results despite failure conditions (the Transaction Domain)." WS-CAF "addresses the underlying issues of Web service context propagation and transaction management with a framework that expands the scope, usability, and reliability of Web services for business process automation across multiple architectures, applications and organizations."
The Framework proposal has been published as a collection of three specifications: Web Service Context (WS-CTX), Web Service Coordination Framework (WS-CF), and Web Service Transaction Management (WS-TXM). "The WS-CAF framework can use any transaction protocol in place of, or in addition to, the neutral protocols defined for WS-TXM, such as the OASIS Business Transactions Protocol. The authors plan to donate WS-CAF to a recognized industry standards organization soon under royalty-free licensing terms."
"The ability to compose an application out of multiple Web services is a fundamental characteristic of the technology. However, without sufficient infrastructure support services, composite applications must rely on proprietary solutions to ensure correct operation.
Applications typically use multiple Web services in combination to solve specific business problems such as processing an order, updating multiple customer records from a single change request, or scheduling just in time arrival of parts for a manufacturing run.
The Web Services Composite Application Framework specifications, or WS-CAF, propose standard, interoperable mechanisms for managing shared context and ensuring business processes achieve predictable results and recovery from failure.
The ability to share system information, called context, is essential for the proper operation of applications composed of multiple Web services. Context identifies a Web service as part of a composite application and allows each Web service to share information such as message correlation, security tokens, and database connections.
Extensions to basic context operations provide the ability to support long running units of work such as business process automations and workflows. The WS-CAF specifications complement other Web services specifications in the areas of security, reliable messaging, choreography, and transactions.
The WS-CAF specifications also include an innovative approach to transactional interoperability, spanning multiple models, multiple middleware, and multiple devices when they are included within asynchronous business process flows." [adapted from the Primer Abstract]
Specification Set Summary
The Web Services Composite Application Framework (WS-CAF) has been published with a Primer and three principal specifications; XML Schemas and WSDLs are available in the ZIP archive distribution files.
Web Service Context (WS-CTX) is "a lightweight framework for simple context management that helps enable all Web services participating in an activity share a common context and exchange information about a common outcome."
The ability to scope arbitrary units of work is a requirement in a variety of aspects of distributed applications such as workflow and business-to-business interactions. By scoping work, we mean that it is possible for business activity participants to be able to determine unambiguously whether or not they are participating in the same activity.
In order to correlate the work of participants within the same activity, it is necessary to propagate additional information know as the context to each participant. The context contains information (such as a unique identifier) that allows a series of operations to share a common outcome. For example, in a Web services-based application, a SOAP header block might contain contextual information that is propagated when invoking an operation on a Web Service, or when multiple participants exchange SOAP messages in order to create a larger interaction such as a process flow.
A Web Services Context Service maintains a repository of context information and tracks contexts shared between multiple participants in Web services interactions. An Context Service can also be a participant within an activity, creating a tree to further propagate the context. A Web Services Context Service accepts and emits SOAP messages for interoperability with any type of participant, regardless of operating system, programming language, or platform -- and is independent of underlying transfer or transport protocols.
Context is always propagated in addition to application payload, where context information travels within the SOAP header blocks while application payload (that is, the content intended for processing by a SOAP node playing the ultimateReceiver role) is propagated inside the SOAP body.
The context information is specific to the type of activity being performed, such as to identify a transaction coordinator, the other participants in an activity, or recovery information in the event of a failure, etc. Therefore, a single context type is not sufficient for all types of activity that a Context Service may be required to support. Hence, the capabilities of the Context Service must be extensible in an application specific manner and services must be able to augment the context as they require to suit their own particular application domains...."
Web Service Coordination Framework (WS-CF) is "a sharable mechanism that manages context augmentation and lifecycle and provides the notification of outcome messages to Web services participating in a particular transaction."
Coordination is a requirement present in a variety of different aspects of distributed applications. For instance, workflow, atomic transactions, caching and replication, security, auctioning, and business-tobusiness activities all require some level of what may be collectively referred to as 'coordination.' For example, coordination of multiple Web services in choreography may be required to ensure the correct result of a series of operations comprising a single business transaction.
Whenever coordination occurs, the propagation of additional information (the coordination context) to coordinated participants is required. The coordination context contains information such as a unique ID that allows a series of operations to share a common outcome. The outcome is typically defined in terms of coordinated state persistence operations. For example, in a Web services-based architecture, a SOAP header block might contain context information that is propagated when interacting with a coordinator, or when multiple participants exchange SOAP messages in order to create a larger interaction such as a process flow or other aggregation of services...
Coordination is a fundamental requirement of many distributed systems, including Web Services. However, the type of coordination protocol that is used may vary depending upon the circumstances (e.g., two-phase versus three-phase). Therefore, what is needed is a standardization on a coordination framework (coordination service) that allows users and services to register with it, and customize it on a per service or per application basis. Such a coordination service would also support newly emerging Web service standards such as workflow and transactions and builds on the Web services CTX Service.
Web Services Transaction Management (WS-TXM) "is comprised of three distinct, interoperable transaction protocols that can be used across multiple transaction managers. WS-TXM supports multiple transaction models to help enable participants to negotiate outcomes with each other and make a common decision about how to behave, especially in the case of failure, regardless whether the execution environment is CORBA, Enterprise JavaBeans (EJB), .NET, Java Message Service (JMS), or some combination.
An increasing number of applications are being constructed by combining or coordinating the execution of multiple Web services, each of which may represent an interface to a different underlying technology. The resulting applications can be very complex in structure, with complex relationships between their constituent services. Furthermore, the execution of such an application may take a long time to complete, and may contain long periods of inactivity, often due to the constituent services requiring user interactions. In the loosely coupled environment represented by Web services, long running applications will require support for recovery and compensation, because machines may fail, processes may be cancelled, or services may be moved or withdrawn. Web services transactions also must span multiple transaction models and protocols native to the underlying technologies onto which the Web services are mapped.
A common technique for fault-tolerance is through the use of atomic transactions, which have the well know ACID properties, operating on persistent (long-lived) objects. Transactions ensure that only consistent state changes take place despite concurrent access and failures. However, traditional transactions depend upon tightly coupled protocols, and thus are often not well suited to more loosely-coupled Web services based applications, although they are likely to be used in some of the constituent technologies. It is more likely that traditional transactions are used in the minority of cases in which the cooperating Web services can take advantage of them, while new mechanisms, such as compensation, replay, and persisting business process state, more suited to Web services are developed and used for the more typical case.
WS-TXN provides a suite of transaction models, each suited to solving a different problem domain. However, because WS-TXN leverages WS-CF, it is intended to allow flexibility in the types of models supported. Therefore, if new models are required for other problem areas, they can be incorporated within this specification.
Web Services Composite Application Framework (WS-CAF). Version 1.0. July 28, 2003. 23 pages. By Doug Bunting (Sun), Martin Chapman (Oracle), Oisin Hurley (IONA), Mark Little (Arjuna, editor), Jeff Mischkinsky (Oracle), Eric Newcomer (IONA, editor), Jim Webber (Arjuna), and Keith Swenson (Fujitsu). Copyright (c) 2003 Arjuna Technologies Ltd., Fujitsu Limited, IONA Technologies Ltd., Oracle Corporation, and Sun Microsystems, Inc.
Web Services Context (WS-Context). Version 1.0. July 28, 2003. 59 pages. By Doug Bunting (Sun), Martin Chapman (Oracle), Oisin Hurley (IONA), Mark Little (Arjuna, editor), Jeff Mischkinsky (Oracle), Eric Newcomer (IONA, editor), Jim Webber (Arjuna), and Keith Swenson (Fujitsu). Copyright (c) 2003 Arjuna Technologies Ltd., Fujitsu Limited, IONA Technologies Ltd., Oracle Corporation, and Sun Microsystems, Inc. ZIP file. See the file listing (WSDL, XML Schema).
Web Services Coordination Framework (WS-CF). Version 1.0. July 28, 2003. 63 pages. By Doug Bunting (Sun), Martin Chapman (Oracle), Oisin Hurley (IONA), Mark Little (Arjuna, editor), Jeff Mischkinsky (Oracle), Eric Newcomer (IONA, editor), Jim Webber (Arjuna), and Keith Swenson (Fujitsu). Copyright (c) 2003 Arjuna Technologies Ltd., Fujitsu Limited, IONA Technologies Ltd., Oracle Corporation, and Sun Microsystems, Inc. ZIP file. See the file listing (WSDL, XML Schema).
Web Services Transaction Management (WS-TXM). Version 1.0. July 28, 2003. 111 pages. By Doug Bunting (Sun), Martin Chapman (Oracle), Oisin Hurley (IONA), Mark Little (Arjuna, editor), Jeff Mischkinsky (Oracle), Eric Newcomer (IONA, editor), Jim Webber (Arjuna), and Keith Swenson (Fujitsu). Copyright (c) 2003 Arjuna Technologies Ltd., Fujitsu Limited, IONA Technologies Ltd., Oracle Corporation, and Sun Microsystems, Inc. ZIP file. See the file listing (WSDLs and XML Schemas).
From the Announcement
Transaction processing (TP) is the core of commerce. Some transactions are very simple, such as purchasing a book or transferring funds, and can be processed immediately. Other transactions are more complex, such as fulfilling a purchase order or completing an insurance claim, and may take days or even years to process. All businesses rely on the concept of a transaction, but have built upon the concept through various architectures, which limits interoperability and creates multiple 'islands' of mutually incompatible TP networks.
WS-CAF solves the TP information management and sharing problem by defining an open, multi-level framework for standard coordination of long-running business processes across multiple, incompatible transaction processing models and architectures.
The authors plan to donate WS-CAF to a recognized industry standards organization soon under royalty-free licensing terms. This effort will lead the industry to converge on effective solutions through an open standards organization with proven development processes. Solutions developed this way are more likely to be reliable, interoperable and immediately useful to a large audience.
"User organizations are increasingly looking towards composite applications formed from multiple Web services to foster reuse and allow for the rapid delivery of new business services," said Stephen O'Grady, analyst at RedMonk. "WS-CAF is a response to that interest."
"Arjuna has always been committed to driving open standards for transaction processing and Web services for the benefit of our customers," said David Ingham, CTO at Arjuna Technologies. "WS-CAF, which we will shortly be donating to a recognised standards organization on a royalty free basis, provides standardized approaches to context propagation, coordination, and transaction management and offers significant improvements over the state of the art in terms of its layered approach. Customers require open standards and as specialist suppliers of middleware technology for reliable systems, Arjuna will add support for WS-CAF in our Web service transactioning product."
"Standards are very important for interoperability in our industry. Fujitsu has always been a strong advocate for open standards. We see the standardization of context management, cooperation, and transactions through Web Services as key to the next step in effective application integration,"said Shizuo Inagaki, President of Fujitsu Software Corporation.
"The use of Web services as part of long-running business process scenarios is limited today due to the lack of interoperability across system-level functions," said Eric Newcomer, CTO at IONA and WS-CAF co-author. "WS-CAF addresses the underlying issues of Web service context propagation and transaction management to provide an open, flexible framework that expands the scope, usability, and reliability of Web services for business process automation across multiple architectures, applications and organizations."
"Recently, a number of Web services specifications have emerged to address enterprise requirements such as security, reliability, and orchestration. While all of these require some underlying coordination mechanism, the design and interfaces for these features have not been addressed in a uniform manner, resulting in duplicated effort and serious interoperability problems," said Don Deutsch, Vice President of Standards Strategy and Architecture for Oracle Corporation. "The Web Services Composite Application Framework, which we soon will be submitting to a recognized standards organization on royalty-free terms, provides a common and open framework for context and transaction management that enables other Web services specifications to function effectively in an interoperable manner."
"Developers are rapidly moving from building basic services to developing more complex business applications, where the need for the Composite Application Framework (WS-CAF) becomes much greater," said Mark Bauhaus, vice president of Java Web Services at Sun Microsystems. "Sun is committed to driving the evolution of this important set of Web services specifications in a recognized, open standards forum."
- Announcement 2003-07-28: "Industry Leaders Drive Convergence, Publish Web Services Specifications to Coordinate Business Applications. Arjuna Technologies, Fujitsu Software, IONA, Oracle and Sun Microsystems Open Development with Imminent Standardization of Specification Framework."
- WS-CAF documents are available from the company websites of the principal authors:
- Arjuna Technologies Ltd. - http://www.arjuna.com/standards/ws-caf
- Fujitsu Software - http://www.fsw.fujitsu.com/standards/ws-caf
- IONA Technologies PLC - http://www.iona.com/devcenter/standards/WS-CAF/
- Oracle Corporation - http://otn.oracle.com/tech/webservices/htdocs/spec/ws-caf.html
- Sun Microsystems - http://developers.sun.com/techtopics/webservices/wscaf/index.html
- Resources from the Sun website:
- Framework Primer [cache]
- Web Service Context (WS-CTX) (PDF) [cache]
- Web Service Context (WS-CTX). ZIP archive of the specification, XML Schema, and WSDL description file.
- Web Service Coordination Framework (WS-CF) (PDF) [cache]
- Web Service Coordination Framework (WS-CF). ZIP archive of the specification, XML Schema, and WSDL description file.
- Web Service Transaction Management (WS-TXM) (PDF) [cache]
- Web Service Transaction Management (WS-TXM). ZIP archive of the specification, XML Schemas, and WSDL description files.
- Related "Global XML Web Services Specifications" from Microsoft and its partners include WS-Coordination and WS-Transaction; see also "Understanding GXA." Commentary is provided in the Web Services Journal articles by Jim Webber and Mark Little: "Introducing WS-Coordination"; "Introducing WS-Transaction Part 1"; "Introducing WS-Transaction Part 2."
- Press and commentary:
- "Sun, Oracle, others propose transaction specification Middleware vendors publish Web Services Composite Applications Framework." By James Niccolai and Peter Sayer. In InfoWorld (July 28, 2003).
- "Spec Aims to Boost Web Services Interoperability." By John K. Waters. In Application Development Trends
- "Oracle, Sun and Partners Publish WS Coordination Specification." From CBDi Newswire. August 01, 2003.
- See also: JSR 156: XML Transactioning API for Java (JAXTX)
- See also: "Arjuna Enables Reliable Web Services-Based Business Applications with Arjuna XTS. Technology to Address the Reliable Coordination Issues Preventing the Early Adoption of Serious E-Business Solutions Through Web Services."