Content area
Full Text
Business processes not only play a key role in business-to-business and enterprise application integration scenarios by exposing the appropriate invocation and interaction patterns; they are also the fundamental basis for building heterogeneous and distributed applications (workflow-based applications). Business Process Execution Language for Web Services (BPEL4WS) provides the means to specify business processes that are composed of Web services as well as exposed as Web services. Business processes specified via BPEL4WS are portable; they can be carried out by every BPEL4WS-compliant execution environment. In this paper we show how the IBM J2EE(TM) application server, WebSphere® Application Server provides such an environment, called process choreographer environment, and how the extension mechanism built into BPEL can be used to leverage the additional capabilities of J2EE and WebSphere.
Web services based on the service-oriented architecture framework serve as the foundation for modern distributed, heterogeneous applications by providing a virtual component model.1 Not only can new components be written as Web services, but existing applications also can be provided as Web services made available through a variety of formats and protocols in a vendor-independent and language-neutral form.1 Web services are perfectly suited as the function layer of the two-level programming model that is the characteristic of workflow-based applications.2
Workflow-based applications are composed of two distinct pieces: a process model that describes the sequence in which the different activities making up the process model are being carried out (programming in the large) and the individual components that implement the various activities (programming in the small). In the Web services environment, process models are described using the Business Process Execution Language for Web services (BPEL4WS), abbreviated as BPEL in the rest of the paper.3 The implementations of the activities are specified as Web services; the actual implementation can be done in any language and programming model. Particularly compelling is the fact that in BPEL, business processes are exposed as Web services, providing for a recursive aggregation model.4
The purpose of the process choreographer is to manage the life cycle of business processes, to navigate through the associated process model, and to invoke the appropriate Web services. Besides the navigation and invocation capabilities, the process choreographer must provide the appropriate quality-of-service (QoS) characteristics, such as maintaining a certain response time or...