At this moment, scope ProcessingAndRouting has three sequential scopes. However, just as we concluded in the previous chapter leading to the decision to introduce a Split-Join component, these scopes could also be executed simultaneously. They do not depend on each other; results from one scope do not influence the other scopes. By configuring the scopes to be executed in parallel, we allow the BPEL engine to assign system resources in a more flexible an potentially efficient way. For example in situations where one scope has to wait long for an asynchronous response, the engine can speed up the overall processing time by running a second scope while the first one is waiting.
The BPEL language comes equipped with the Flow activity. This activity contains one (not useful) or more parallel branches. In this section, we will use this activity to introduce a degree of parallelism into the process.
Adam Desjaring AVIO Consulting: Blog BPEL Flow – Obtaining Parallel Service Invocations
AMIS Technology Blog: Investigation into the true parallellism of the Oracle BPEL PM Flow activity in 11g – on flow, sequence, wait and (a)synchronous calls
The starting point for this section is application FlightScheduleService_step6. The end result is in FlightScheduleService_step7.