Desktop Client: Should I use a Gateway to merge sequence flow paths in a BPMN diagram?
The iGrafx BPMN diagram type, and the BPMN specification, allow you to use either Gateway or Activity flow objects to merge multiple inputs from sequence flow in certain cases. So you are not always required to use Gateways to merge sequence flow.
We recommend that you use Gateways to merge sequence flow. Doing so makes the functionality of the process visually clearer. In general, a best practice is to use Gateways in pairs; if you have used a gateway to control outputs (e.g. an Exclusive Decision Gateway, or a Parallel Gateway), then use a Gateway of the same type (e.g. Exclusive or Parallel) to merge the inputs from the prior gateway. This is like matching the use of parenthesis in an expression, ensuring the meaning you intended is correct.
If you want to use Gateways to merge sequence flow, there are several types of Gateways that you may use, depending upon what behavior you want the process to have:
- If you are likely to receive only one transaction (token) on the inputs of a gateway, then an Exclusive (Merge) Gateway is appropriate. For example, if you have separate paths that are the result of the outputs of an Exclusive Gateway (i.e. Decision), and those paths merge into one flow, an Exclusive Gateway with merge behavior is appropriate.
Note: iGrafx defaults Exclusive Merge Gateway behavior (the simulation Properties on the Inputs page) to a "Join, By Count 1, Once Per Family" (JBC1, OPF) which will ensure that only the first member of a family (a set of parallel transactions) will be used. If you want no synchronization behavior, as outlined in the specification, then as of iGrafx 2011 (v14) you may change the "Once Per Family" behavior to "All" (or even "Same Family"). This will effectively negate the input operation, and behave on Inputs as if no Gateway was used at all. - If you expect more than one transaction (i.e. 'family' members of the first transaction) to arrive, you may want to use a Parallel (Join) Gateway if those transactions are coming from sequence flow lines begun at a Parallel Gateway. If you are not sure which transactions will arrive or what rule to use, you may want to consider using the Inclusive (Merge) Gateway; which will wait until all related transactions arrive.
iGrafx BPMN diagrams allow you to require that Gateways merge flow. If you want to require the use of Gateways to merge flow (if you want iGrafx to issue a warning or error if they are not used), then modify the properties for the process (Business Process Diagram) that you are editing. From the Model menu, choose Process Properties. Check the box that says "Gateways are required to merge flow”, and then click the OK button.