Chapter 14 Generating Other Models from a BPM
You can wish to generate an executable BPM from an executable BPM for the following reasons:
Generation type | Usage |
---|---|
SOA > Orchestrator or BPEL4WS | You use SOA process language when you want to design Web services orchestration independently from any platform. You choose one of the other provided executable process languages (Orchestrator or BPEL4WS) when you want to execute your processes and customize parameters specific to the platform |
BPEL4WS > Orchestrator | BPEL4WS is a standard exchange format. PowerDesigner allows you to reverse a BPEL file into a BPEL4WS BPM then generate an Orchestrator BPM that can be executed in Sybase Integration Orchestrator application |
Orchestrator > BPEL4WS | A Sybase Integration Orchestrator application user may want to share its executable BPM using BPEL4WS standard format |
Most of the time you will perform the following types of generation:
The following transformations are executed when you generate a Sybase Integration Orchestrator BPM from an executable BPM (SOA or BPEL4WS). The general rule being to preserve the processes semantic and to update operations.
Orchestrator supports an automatic invoke mode that implies the following:
Operation | Type |
---|---|
Received operation | Notify or Solicit-Response |
Sent operation | One-Way or Request-Response |
When you change process language from SOA or BPEL4WS to Orchestrator, you need to preserve the process action types (send or receive) by modifying the operation types:
When a received operation in the source model is of type One-Way or a Request-Response it becomes a Notification or Solicit-Response operation in Orchestrator.
When a sent operation in the source model is of type Notification or Solicit-Response it becomes a One-Way or a Request-Response operation in Orchestrator.
When the same type of operation is both received and sent in the same source model it is duplicated in Orchestrator.
Each language can restrict the type of operations that can be attached to a process. When you switch from an executable process language to another, the list of supported operation types can be different.
When the target language does not support a Solicit-Response or a Request-Response operation type, the synchronous operation (that has both input and output messages) is split into two operations: one managing the input message and the other managing the output message. The send of fault messages is also replaced with specific One-Way or Notification operations associated with the fault message.
For example, Orchestrator does not support Solicit-Response operations that represent the reception of a message with a synchronous response (the caller is expecting that the process respond in a limited time). Such an operation is designed in BPEL4WS using one of the following action types: "Receive Request", "Reply" and "Reply Fault".
After generating the Orchestrator BPM:
The "Receive Request" processes are associated with a Notification operation that has the input message of the initial operation as output message.
The "Reply" processes are associated with a One-Way operation that has the output message of the initial operation as input message.
The "Reply Fault" processes are associated with a new One-Way operation that will have the fault message as input message.
For all executable languages that support top-level choreography and do not support the role association object, the top-level diagram must be a valid graph with at least a start and an end.
When generating for example from BPEL4WS or ebXML to Orchestrator, each top-level process must be converted into a simple graph containing a start, a process and an end:
If you create top-level processes in an Analysis BPM, they are also converted into a valid graph during Orchestrator generation, if they respect all of the following rules:
In case of multiple top-level processes, they must all be associated with the same start and end objects:
Packages are used to organize sets of processes. However in Orchestrator, the model can contain only one process. When generating to Orchestrator packages are not preserved, and only objects defined under the model are generated.
Copyright (C) 2005. Sybase Inc. All rights reserved. |
![]() |