Typical Business Transaction Scenario
When you make a business trip, you typically require an airline booking, a hotel booking, and a car rental booking. Generally, all three bookings must be done before you confirm your trip. If any of these bookings is not available, you may have to re-schedule your business trip. This kind of business transaction involves confirmations from more than one participant.
Each participant is an independent business entity and will not like an outer business process, such as the one initiated by your travel agent, to get hold of the company’s resources. An initiating process (your travel agent) makes a request to each of the involved parties and obtains a commitment from them.
For example, you may request a direct flight to the destination on the specified day, the hotel booking for a couple of nights starting on the arrival day, as well as a car rental for the number of days of your trip. The travel agent makes a request to each of the concerned parties and asks each one to hold the reservation for a certain period of time, perhaps a couple of hours. When all the involved parties respond with a positive acknowledgement indicating that the specified bookings are available, the travel agent sends a confirmation to each of the involved parties. Each party now commits the change and informs the travel agent of the confirmation. When the travel agent receives confirmation from each, the transaction is treated as complete.
What if one of the bookings is not available? In such a case, the travel agent will send a cancellation to the other parties, requesting them to undo the earlier booking. This may require compensating transactions to be run on the individual systems that may even involve cancellation charges to the requester.
Clearly such a business scenario requires proper coordination between participating parties. For this purpose, a new specification called WS-Coordination was developed, which is discussed in the following section.