Workflow is a technique of managing the coordination of resources over time in some business process, ensuring the right resources (people, materials) are in the right place (manufacturing facility, database) at the right time (inventory, just-in-time). With the advent of Web services as the likely means of tying enterprises together in the future, the prospect of creating truly virtual enterprises may become a reality. There is a real requirement for the development of workflow technologies that can bridge enterprises using the underlying Web services-based network as a basis. The current leader in this field, in terms of both heritage and implementation support, is BPEL.
The BPEL model logically consists of two distinct components. The first is a process description language with support for performing computation, synchronous and asynchronous operation invocations, control-flow patterns, structured error handling, and saga-based long-running business transactions. The second is an infrastructure layer that builds on WSDL to capture the relationships between enterprises and processes over a Web services-based infrastructure. Together these two layers allow the orchestration of Web services in a business process where the infrastructure layer exposes Web services to the process layer, which then drives the Web services infrastructure as part of its workflow activities.
The ultimate goal of business process languages is to completely abstract underlying Web services so that a business process language such as BPEL effectively becomes the Web services API. While such an abstract language may not be suitable for every possible Web services-based scenario, it will certainly be useful for many. If tool support evolves, it will be able to deliver on its ambition to provide a business analyst-friendly interface with which to choreograph enterprise Web services.