Microsoft, IBM and BEA Systems have published specifications to collectively describe how to reliably define, create and connect multiple business processes in a Web services environment, and help organisations co-ordinate business processes and transactions within the enterprise and with partners and customers across heterogeneous systems and within the enterprise.
The companies announced new specifications to address transacted communications of Web services (WS-Co-ordination, WS-Transaction) and a new language to describe business processes (Business Process Execution Language for Web Services, or BPEL4WS).
A business process describes the flow of tasks, the order in which they need to be performed, the type of data shared and how other partners are involved. BPEL4WS allows companies to describe business processes that include multiple Web services and standardise message exchange internally and between partners.
WS-Co-ordination and WS-Transaction provide companies with a way of handling multiple Web services interactions, regardless of the underlying computing infrastructure. In addition, they outline how partners can interact with a collection of Web services and co-ordinate the outcome of those corresponding activities.
For example, a travel agency that exposes its business travel processes – such as hotel, flight or car rental reservation applications – as Web services can integrate and transact with the business travel processes of its customers and partners.
Using BPEL4WS, WS-Co-ordination and WS-Transaction, the travel agency’s customer could electronically submit a travel itinerary to an agent; the agent’s system can automatically procure the appropriate airline, hotel and car reservations from partners to match the customer request, and the system can then send confirmation of all reservations back to the customer once the itinerary processing is complete. In case one of the applications fails, tasks that have already been completed can be automatically undone.
WS-Co-ordination provides developers with a way to manage the operations related to a business activity. A business process may involve a number of Web services working together to provide a common solution. Each service needs to be able to co-ordinate its activities with those of the other services for the process to succeed. Co-ordination involves the sequencing of operations in a process to reach an agreement on the overall outcome of the business process.
WS-Co-ordination provides the structure under which co-ordination can take place. The specification supplies standard mechanisms to create and register with transaction protocols that co-ordinate the execution of distributed operations in a Web services environment. WS-Co-ordination will help developers control operations that span interoperable Web services.
WS-Transaction allows businesses to monitor the success or failure of each specific, co-ordinated activity in a business process. It provides businesses with a flexible transaction protocol to help enable consistent and reliable operations across distributed organisations in a Web services environment. The specification also allows the business process to react to faults detected during execution.
WS-Transaction provides for short- and long-running transactions in which resources cannot be locked for the duration of the business process. In both cases, WS-Transaction takes advantage of the structure WS-Co-ordination provides to enable all participating Web services to end the business process with a shared understanding of its outcome.
For example, a travel reservation process contains a number of activities that must be successfully completed, several of which may run simultaneously, such as airline ticketing, car rental and hotel room booking. The use of WS-Transaction with WS-Co-ordination helps ensure that these tasks, no matter how they are distributed across programming platforms and companies, all succeed or fail as a unit.
BPEL4WS is an XML-based flow language that defines how business processes interact. This interaction can involve processes contained within or between enterprises. It allows companies to describe complex business processes that can span multiple companies, such as order processing, lead management and claims handling. These business processes can use partner-provided Web services, and can also be offered as Web services business process functions internally or to partners in a reliable and dependable way.
In addition, BPEL4WS helps enable business processes to interoperate within and between companies that use different underlying technologies. This will help companies execute the same business processes in the systems of other vendors, and facilitate message exchange internally and between partners.
BPEL4WS replaces the existing IBM WSFL and Microsoft XLANG efforts by combining and extending the functions of these previous foundation technologies.
Once the business process and the connections with customers, partners and internal entities are defined using BPEL4WS, the next step is to co-ordinate the various activities that occur within a business process, in order and at the right time for completion. WS-Co-ordination and WS-Transaction complement BPEL4WS by providing a way for companies to co-ordinate and integrate a number of distinct Web services and business processes, consistently and reliably, across a variety of implementation environments to ensure the right outcome.
The specifications can be viewed on the following sites: