Best practice: Choosing between a microflow and a long running process

You can use the process editor to build either microflows or long-running processes. Here are some suggestions if you are wondering which one will best suit your needs.

To begin with, you should understand the basic differences between microflows and long running processes. While they are both considered business processes, a microflow is contained within a single transaction, where a long running process is multi-transactional and executes over an extended period of time (see Transactional business processes for more information). So obviously if your process requires more than one transaction, the decision of which one to use is made for you, but if your process can be designed either way, then consider the following:

  1. If your process will need to stop at any point and wait for external input, either in the form of an event or a human task, then you must use a long running process. Microflows are not interruptible.
  2. If you do not have IBM extensions enabled for this process, then you cannot make it a microflow. A microflow is an IBM enhancement of the BPEL programming language, and so will not be available if this option was disabled when the process was initially created.
  3. If you have a short series of steps to model and want them executed very quickly in the runtime environment, then use a microflow.

By default, a process is a microflow. To change this, click an empty area of the process editor canvas, click the Details tab in the properties area, and enable the Process is long-running check box.

Related concepts
Working with BPEL extensions
Best Practice: When NOT to use the BPEL extensions

Feedback
(C) Copyright IBM Corporation 2005, 2006. All Rights Reserved.