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


Chapter 4 Working with Orchestration Processes : Overview of Orchestration Processes

Overview of Orchestration Processes
Orchestration processes provide the implementation of service operations to perform a given business process. An orchestration process is a flow of work that accomplishes some task. Orchestration processes are executed when an incoming message is received. For example, consider the business process illustrated in Figure 19.
Figure 19 An order fulfillment orchestration process
Figure 19 illustrates an order fulfillment system. An incoming order is received and inventory is checked to determine if the order can be filled. If every item ordered is in stock, the status of the order is set to complete and the process invokes a third-party service to print a shipping label. The order is then sent to shipping and a reply is sent to the requestor of the order. If one or more items is not in inventory, then a request is made to a third-party vendor to restock the items. While the request is being processed, the requestor can check the status of the order or order additional items. Also, a reminder is sent each day the order remains open to the purchasing department that the items in the order are not yet available.
Execution Path in Orchestration Processes
Orchestration processes have slightly different design and runtime semantics than TIBCO ActiveMatrix BusinessWorks process definitions. Process definitions start with a process starter and end with an End activity. Also, process definitions can have only one process starter or Start activity. Transitions are drawn from the Start activity or the process starter to the next activity in the process. Activities that are not placed within the execution path of a process definition will not execute when the process definition executes.
Orchestration processes, on the other hand, can have one or more Receive Starter activities as process starters. Also, all activities within an orchestration process have the opportunity to execute. If you place an activity in an orchestration process with no transitions to or from the activity, that activity executes when the process starts.
Typically, the Receive Starter activity is the first to execute in an orchestration process. However, some structured activities, such as a Pick First group can be executed first.
TIBCO ActiveMatrix BusinessWorks BPEL Extension does not prevent you from placing other activities before the Receive starter activity. For example, you may want to start with a Write to Log activity and then transition to the Receive Starter activity. This is permissible, but it is an extension of the WS-BPEL specification. Some activities, such as Reply or Reply With Fault should never be placed before the Receive Starter activity Therefore, you should be careful when placing activities before the Receive Starter in an orchestration process.
Orchestration processes have no End activity. Execution proceeds along the specified path until all activities along the path have been given the opportunity to execute. Once all activities within an orchestration process have had the opportunity to execute, the orchestration process ends. The Exit activity can be used to prematurely end the execution of an orchestration process, but it is not typically used as the final activity to execute in a process, like the End activity in a process definition.
Also, orchestration processes have event handling routines and error-handling routines that cannot be transitioned to or from in the main processing flow or within a scope. Execution transfers to an error-handling routine when an error occurs. Event-handling routines execute when the specified event occurs, such as an incoming message or an alarm set to go off at a particular time or for repeating intervals.
An orchestration process can only contain activities from the BPEL Extension palette. No resources from other palettes can be used within an orchestration process. Also, the BPEL Extension palette contains one activity, Invoke Service, that can be used within TIBCO ActiveMatrix BusinessWorks process definitions (not within orchestration processes) to invoke a service.
The remaining sections in this chapter as well as Chapter 5, Scopes, Iteration, and Conditional Processing Using Groups and Chapter 6, Exception Handling provide more details about the execution of orchestration processes.

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