Professional Documents
Culture Documents
Business Process Driven SOA using BPMN and BPEL: From Business Process Modeling to Orchestration and Service Oriented Architecture - Books24x7
Chapter 4 - BPMNAdvance Constructs Business Process Driven SOA using BPMN and BPEL: From Business Process Modeling to Orchestration and Service Oriented Architecture by Matjaz B. Juric and Kapil Pant
P ac kt P ublis hing 2008 Citation
R e com m e nd?
A good model gives you an intuitive and easy to understand overview of how a business process works, as this is the main purpose of a graphic model. A model with a large number of tasks may be correct and unambiguous, but becomes difficult to understand and, therefore, less useful. You can improve this diagrammatically by grouping tasks into a sub process. In other words, by creating a hierarchy of processes, sub-processes, and tasks. Depending on the complexity of the process, several levels of nested sub-processes are allowed. However, in terms of best practices, it's always better to keep the nesting to a maximum of four levels. This also ensures that the number of activities represented in a process is reduced to a maximum of 10 to 15, which can make the process more readable.
library.xu.edu.ph:2059/assetviewer.aspx?bookid=30143&chunkid=184380050¬eMenuToggle=0&hitSectionMenuToggle=0&leftMenuState=1
1/4
2/14/13
Business Process Driven SOA using BPMN and BPEL: From Business Process Modeling to Orchestration and Service Oriented Architecture - Books24x7
This mistake can cause a serious problem. Visually, if Take Case File is completed, then users might think that the process is ending, while it might be possible that the patient has still not reached the doctor. Therefore, it is wise to close the path by using an AND-join to provide the process with a clear checkpoint. This will allow us to check whether all parallel tasks have been completed before the process can continue. The following figure is an example of using an AND-join to ensure that the process can move forward with any further activities. only after both the case file and patient arrive.
In addition, it is nice to use gateway symbols while modeling the process as this improves readability and understanding while reading or creating business process diagrams. Another issue, especially with the use of AND Join, is the possibility of a deadlock situation in a process. Consider the following process:
In this example, an employee's bonus is calculated based on sales targets achieved. The inclusive OR gateway ensures that only one option is taken. However, if you notice, the join gateway used is of type AND, and hence will wait for all parallel processes to complete. Now we have a deadlock situation as the process will never take one of the paths. To avoid this situation, use an OR Join instead of the AND join. The basic rule of thumb to avoid deadlocks is to ensure that every path in a process reaches the end state, especially when working with parallel or AND gateways.
library.xu.edu.ph:2059/assetviewer.aspx?bookid=30143&chunkid=184380050¬eMenuToggle=0&hitSectionMenuToggle=0&leftMenuState=1 2/4
2/14/13
Business Process Driven SOA using BPMN and BPEL: From Business Process Modeling to Orchestration and Service Oriented Architecture - Books24x7
Another technique to avoid possible process deadlock is always to ensure there is at least one outgoing task for every possible condition at the gateway. Consider the following example:
In this case, the conditions for both processes are either greater than, or less than 100. Therefore, in a situation with an expression value of 100, there will be no output path. Hence, it could result in a deadlock. This is a simple example, and in some business scenarios, it may be overlooked by an analyst and can be misinterpreted as we go down the implementation route. To avoid this situation, it would be appropriate to use the Default flow provided in BPMN, or ensure that there is always at least one path out of the gateway.
The notation used for Default flow in BPMN is a sequence flow with a tilde at its origin. In this case, if the candidate scores 100, he or she will be called in for a discussion before being given a certificate. This was just an example, but in normal process flows, care should be taken to provide default flows to prevent deadlocks.
2/14/13
Business Process Driven SOA using BPMN and BPEL: From Business Process Modeling to Orchestration and Service Oriented Architecture - Books24x7
Though not mandatory, it's a good idea to start the process using the start event, and end the process using an end event. This keeps the process elegant, and also gives motivation to designers to ensure that all paths are closed, and linked from the start event, or to the end event, either directly or indirectly.
The activity Provide Billing Details will never be executed, as it does not have an input sequence flow to this task. As this is a simple process, it looks like an obvious mistake, but in a complex process, such a case can sometimes be overlooked. All efforts should be made to link every activity from the start event, and have at least one incoming sequence flow to maintain consistency. The BPMN standard also places a number of conditions on the representation of a process flow. The aim of this is to ensure consistency in diagram display and interpretation. These rules help in ensuring that BPMN maintains a degree of control on how a diagram is created, and at the same time, allows a bit of flexibility for a modeler and modeling tool vendors to work around the notation. Most of the modeling tool vendors are still maturing, and we will see further compliance to the standards and adherence to modeling rules as specified by BPMN.
Use of content on this site is expressly subject to the restrictions set forth in the Membership Agreement. Books24x7 and Referenceware are registered trademarks of Books24x7, Inc. Copyright 1999-2013Books24x7, Inc. - Feedback | Privacy Policy (updated 03/2005)
library.xu.edu.ph:2059/assetviewer.aspx?bookid=30143&chunkid=184380050¬eMenuToggle=0&hitSectionMenuToggle=0&leftMenuState=1
4/4