Organizing processes using swimlanes
Swimlanes are the horizontal lines running across the Process Editor and are used to:
Group flow objects based on roles
Make process readable.
Swimlanes are created for a process, hence you have to create and define processes first. Tasks inside the swimlane must have application roles associated with them.
How to do it...
In this section, you will create a BPM process, and will create a swimlane, and associate it with an application role.
Create Process
This is done as follows:
1. Go to the Project navigator and right-click processes (this will open the new gallery).
2. From Categories, choose BPM Tier.
3. Select Process to create a process.
4. Click OK.
5. The BPMN Process definition dialog opens up.
6. Enter process name and choose Type:
Process name:
SalesToContract
process:Process Type: Manual Process (no Start and End event)
Process Instance initialization: A None start event followed by a user task defined with the initiator pattern will result in Process Instance initialization.
7. Click Next.
8. In the Advance tab, go to Select | Inherit Project Default.
9. Click Finish and Save.
Adding swimlanes
Follow the ensuing steps to create swimlanes:
1. Click Add Role in the Project Editor, as shown:
2. It will open a Role properties dialog box.
3. From the Role properties, choose the Role.
4. For the first swimlane, choose the SalesRepresentative role:
5. Repeat the preceding steps to create swimlanes for BusinessAnalyst, Approvers and Contracts roles too.
6. For SalesRepresentative, BusinessAnalyst, Approvers and Contracts roles, the swimlanes will look like the following:
7. When you have finished the preceding steps, click Save.
How it works...
The None start event will not trigger the Process Instance. However, it is required while triggering a process instance using the following flow objects:
Receive task
must have aCreate Instance
property set totrue
OR
User task
must be implemented with the initiator pattern
In the SalesToContract process, since the process contains a User task implemented with the initiator pattern, the None start event triggers a process instance.
By default, a default role and a single horizontal swimlane get created in the Project Editor. You can make it work by either renaming the first default swimlane or following the preceding steps.
There's more...
Process Instance creation depends on the type of start event. FusionNX's SalesToContract process is a manual process, as we have chosen while creating the process.
Triggering of a Process Instance: For SalesToContract, we have a User task following the None start event, which has an initiator pattern defined. This will result in initialization of a Process Instance. None start event will not accept input arguments.
Defining the Start and End of a Process
Start events: A Start defines the starting point of a process. Start means initialization of the Process Instance.
End Events: An End event defines the end of a process. When the token reaches the end event, it gets consumed and the instance gets completed. The SalesToContract process will end when the contract is finalized in the Contracts swimlane.
Since the SalesToContract process will end once the contract is finalized, follow the ensuing steps:
1. Drag the End event to the Contracts swimlane.
2. Delete the sequence flow from User Task in the SalesRepresentative swimlane to End event by right-clicking the sequence flow, as shown in the following screenshot:
3. Delete the created User Task,
Default
, as we will create a User task with initiator pattern to initiate the Process Flow.4. When you have finished the preceding steps, click Save.