Designer 10.5 | webMethods BPM Process Development Help | Activity Steps | About Subprocesses | About Changing webMethods Subprocesses to BPMN Subprocesses
 
About Changing webMethods Subprocesses to BPMN Subprocesses
Process models created with webMethods Process Development version 8.2.2 and earlier use webMethods subprocesses. With later versions, webMethods subprocesses are deprecated, and the use of the BPMN subprocess type is recommended.
There are two methods available for you to change your webMethods Subprocesses (Deprecated) to BPMN Subprocesses. You can:
*Create a new BPMN subprocess that duplicates the behavior of the old webMethods subprocess. You can then delete the webMethods subprocess.
*Change the webMethods Subprocess (Deprecated) type to BPMN Subprocess as described in Changing the Subprocess Type.
Before you do either of these, you must examine the logical behavior of the webMethods subprocess being changed to determine if additional modifications are needed in the following areas:
*Boundary intermediate error events. In a webMethods Subprocess (Deprecated), these are non-interrupting only. They are changed to interrupting when you change to a BPMN Subprocess.
*The subprocess output. In a BPMN Subprocess, the output will no longer be a merge of all subprocess tracks. The pipeline output from a BPMN subprocess is from the last completed track only. To merge track outputs, you must now do so explicitly in the subprocess.
*Subprocess completion. A webMethods Subprocess (Deprecated) ends when all tracks in the subprocess complete normally. A BPMN Subprocess ends when there are no active tracks remaining in the subprocess.
*Terminate behavior. When a webMethods Subprocess (Deprecated) contains a terminate end event, it terminates the parent process with a configurable status of Completed, Canceled, or Failed. A BPMN subprocess with a terminate end event always ends the subprocess only, with no direct effect on the parent process.
*Loop counting. In a webMethods Subprocess (Deprecated) with standard looping, each loop iteration increments the step iteration counter of steps in the subprocess. For example, a step iteration count would be 1 for the first loop iteration, 2 for the second iteration, and so on.
BPMN processes now provide loop counting as well as step counting, and the two are independent. Within each loop iteration, each step in the subprocess begins counting at 1.
This is significant if you depend on step counts in your webMethods Subprocess (Deprecated) to trigger any process logic. It is likely that the step count will not be reached and your logic will not be triggered.
*Transition looping. When a webMethods Subprocess (Deprecated) uses a Step Iterations Exceeded transition type, it is possible that with the new independent loop and step counting mechanism in BPMN subprocesses (described above), this transition looping may not work as expected after conversion to a BPMN subprocess. You are advised to use the Maximum Loop Count property of the subprocess to implement this behavior.
Related Topics