Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 1 Overview of TIBCO ActiveMatrix BusinessWorks BPEL Extension : Orchestration Processes

Orchestration Processes
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.
Figure 3 An example orchestration process
This example illustrates the following flow of activities:
1.
2.
3.
a.
Invoke a TIBCO ActiveMatrix BusinessWorks automated process to obtain replacement merchandise from inventory, if necessary.
b.
4.
Invoke a TIBCO ActiveMatrix BusinessWorks automated process to perform the shipment of the replacement merchandise (if necessary) and the shipping label.
Activities
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.
Process Variables
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
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
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.
The following types of groups are available in the ActiveMatrix BusinessWorks BPEL Extension:
Scope — equivalent to a <scope> in a WS-BPEL process. This type of group provides a way to encapsulate a set of activities so that the contained activities can have their own variables, correlations, error handling or event handling routines.
Iterate — similar in cocept to a <forEach> structured activity in a WS-BPEL process. However, his type of group iterates over the values contained within a variable instead of looping through an index.
Pick First — equivalent to a <pick> structured activity in a WS-BPEL process. This type of group waits for the occurrence of one event from a set of specified events.
While True — equivalent to a <while> structured activity in a WS-BPEL process. This type of group executes a set of activities repeatedly until the specified condition is met.
If — equivalent to an <if> structured activity in a WS-BPEL process. This type of group allows you to specify a series of ordered conditions and then execute the first path whose condition evaluates to true.
See Overview of Groups for more information about groups.
Event Handling
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.
Exception Handling
Orchestration processes can define exception handling routines that perform processing when an exception is thrown. See Chapter 6, Exception Handling for more information.
Testing and Deployment
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.

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved