The BPEL specification describes a standard language for defining business orchestration processes. An orchestration process is a flow of work that accomplishes some task. The orchestration process starts with an incoming message and continues with activities that perform the work of your business process. Orchestration processes provide the implementation for operations within your service-oriented architecture. For example, the Return Merchandise Authorization service has several operations.
Figure 3 illustrates an example orchestration process that provides the implementation of the approveRMA operation.
Orchestration processes describe the flow of the tasks that must be accomplished. The implementation of the services and automated business processes invoked by an orchestration process are provided by other resources inside or outside of the project.
There are significantly fewer types of activities that can be placed in an orchestration process than in a TIBCO ActiveMatrix BusinessWorks automated business process. See
Activities Within Orchestration Processes for more information about the activities that can be performed in an orchestration process.
Similar to TIBCO ActiveMatrix BusinessWorks automated business processes, orchestration processes can define and use process variables to store data for processing. See
Process Variables for more information about process variables.
Correlations provide a customizable mechanism for making sure that incoming messages are routed to the correct executing instance of an orchestration process. Typically correlations are used in distributed applications where services are invoked asynchronously over a significant period of time (hours or days). For example, you may use a purchase order ID to keep track of messages that should be routed to a certain process. That is, all communication (invoices, emails, and so on) about the same purchase order will contain the purchase order ID in the message. The TIBCO ActiveMatrix BusinessWorks BPEL Extension engine automatically routes messages to the correct process instance based on the correlation sets you define. See
Correlations for more information.
Groups in orchestration processes are defined in a similar manner to groups in TIBCO ActiveMatrix BusinessWorks process definitions. However, groups in an orchestration process are equivalent to structured activities in WS-BPEL. Structured activities are used to control the execution flow of the orchestration process. Groups in an orchestration process can also have their own variables, correlations, error handling routines, or event handling routines.
See Overview of Groups for more information about groups.
Orchestration processes can define event handling routines that perform processing if the specified event occurs. For example, you can set an alarm in the process to go off every day so that the status of the process is logged each day. Another example of event handling is receiving a message that requests the current status of the process. Event handling is performed by the On Alarm and On Event activities within an orchestration process. See
On Alarm and
On Event for more information. Also the examples in
Chapter 5, Scopes, Iteration, and Conditional Processing Using Groups describe how event handling routines work within groups inside of an orchestration process.
TIBCO ActiveMatrix BusinessWorks provides a framework for testing and deploying projects. The ActiveMatrix BusinessWorks BPEL Extension uses this framework to test and deploy orchestration processes. See
Chapter 8, Testing and Deploying Orchestration Processes for more information.