In the previous chapter, you created the forms used in the New Vacation Request process of the Tahiti application, and ran the process to validate the simple case of a request submission followed by the approval step.
This chapter shows you how to structure a process diagram when the business logic contains branches and joins. Branches and joins are managed in the process using gateways. Conditional branches use data: back in the first iteration of your process diagram, you added an exclusive gateway for the point where the process branches depending on whether the manager approves a vacation request. Now that the data model is defined, you can specify the condition on the flows out of this gateway. In this chapter, you will learn about the other most useful gateways, and the best practice for structuring a diagram containing gateways.
The BPMN2 standard defines these types of gateway: Exclusive, Event-Based, Parallel Event-Based, Inclusive, Complex, and Parallel.
The three most useful gateways are Exclusive, Inclusive, and Parallel, and these are implemented in Bonita BPM. You can mimic the behavior of the other types of gateway by using the appropriate combination of these three.
An exclusive gateway is an OR decision point: