MAIN arrow Samples-5.1 arrow ParallelProcessing

ParallelProcessing

Print E-mail

zip parallelprocessing 06/02/2008,03:59 21.11 Kb

 

Description:

This use case sample illustrates parallel processing of a process with the help of conditional flows using a databased exclusive gateway and databased inclusive gateway.

1. If input received is 10,output is displayed as "The value entered is 10".
2. If input received is 11,output is displayed as "The value entered is 11".
If input received is other than 10 or 11, output is displayed, as "The value does not match with the condition".

 

Use case dependencies:

parallel.xsd: The schema used is "input" which is of "string" type.


Requirements:

1. Intalio|BPMS Server-5.1.1
2. Intalio|BPMS Designer-5.1.1

Process Download & Import:

1. Download 'ParallelProcessing.zip'.
2. Go to File > Import...
3. Select 'Existing Projects into Workspace', in the wizard, click on Next >

4. Select "Select archive file" radio button.

5. Browse to select the downloaded archive file & Click to Finish.
6. Update project builders by right click on project; go to BPMS Designer Tools > Update BPMS Builders.

 

parallel.jpg

 

* Please follow these below instructions to remake the process

 

Preconditions:

1. Make sure Intalio|BPMS Server is up and running fine.
2. Make sure the Process Explorer pane does not contain any Intalio|BPMS Business Process Project with same name.


Steps to remake the process:

  1. Go to File > New > select "Intalio|BPMS Business Process Project".

  2. Give Project name as "ParallelProcessing", click on Finish.

  3. Right click on project, go to New > select "Business Process Diagram".

  4. Provide diagram name as "ParallelProcessing", and click on Finish.

  5. A pool with a task is available in BPMN Editor Pane, name default pool as "Client" and task as "send".

  6. Right click on client pool and select "Set pool non executable".

  7. Add new pool by click on BPMN Editor (select "Add Pool" option from pop up menu) and name it as "ParallelProcessing".

  8. Focus on send task; drag out going message flow icon to "ParallelProcessing" pool and select the option "Connect to a new Task", name this new task as "receive".

  9. Focus on receive task and drag the outgoing sequence flow icon to "Connect to a new Exclusive data-based gateway", name this new gateway as "Choice".

  10. Focus on Choice gateway and drag the out going sequence flow icon to "Connect to a new Task". Name this new task as "output".

  11. Again focus on Choice gateway and drag the out going sequence flow icon to "Connect to a new Task". Name this new task as "default".

  12. Right click on the Connection between Choice gateway and default task and select the option "Sets as default choice".

  13. Focus on “output” task and drag the outgoing sequence flow icon to "Connect to a new Inclusive data-based gateway", name this new gateway as "check_value".

  14. Focus on "check_value" gateway and drag the outgoing sequence flow icons to "Connect to a new task". Name this new task as "output_10".

  15. Again focus on "check_value" gateway and drag the outgoing sequence flow icons to "Connect to a new task". Name this new task as "output_11".

  16. Focus on “output_10” task and drag the outgoing sequence flow icon to "Connect to a new Exclusive data-based gateway", name this new gateway as "check_output".

  17. Focus on “output_11” task and drag the outgoing sequence flow icon and connect to "check_output" gateway.

  18. Now focus on "check_output" gateway and drag the outgoing sequence flow icon to "connect to a new Exclusive data-based gateway". Name this new gateway as "resultant".

  19. Focus on “default” task and drag the outgoing sequence flow icon and connect to "resultant" gateway.

  20. Focus on Resultant gateway and drag the out going sequence flow icon to "Connect to a new Task". Name this new task as "reply".

  21. Focus on “reply” task and drag the out going message icon from boundary and connect to "send" task in Client Pool.

  22. Import schema files from zip file into the project ((or) You can also create your own schema from File > New > Other > XML > XML Schema).

  23. Drag and drop parallel.xsd > tns:input schema node on to incoming message flow from "send" task to "receive" task.

  24. A message "Set schema element 'input' as the content of the message" will prompt you, click on it.

 

Defining Outgoing Mapping:

  1. Make sure Mapper view is visible (go to Windows > Show View > Mapper).

  2. Select "Choice" gateway in process model.

  3. Click on "creates a new operator" button available in the Mapper tool bar.

  4. Drag the mouse pointer from the tool bar to work area of "Condition for [Choice-output]" mapper and click on it.

  5. A textbox will be available in edit mode, provide "=" in the text box without double quotes.

  6. Repeat steps 3, 4 and provide "10" without double codes.

  7. Repeat steps 3,4 and provide "=" without double codes.

  8. Again repeat steps 3,4 and provide "11" without double codes.

  9. Again repeat steps 3,4 and provide "or" without double codes.

  10. Click on "$thisReceiveRequestMsg.body" node in left side of the mapper and then click on left edge of the "=" operator.

  11. Click on right edge of text box displaying "10" and then click on left edge of the "=" operator.

  12. Again click on left side of the "$thisReceiveRequestMsg.body" node and then click on left edge of second "=" operator.

  13. Now click on right edge of text box displaying "11" and then click on left edge of second "=" operator.

  14. Click on right edge of first "=" operator and then click on left edge of "or" operator.

  15. Click on right edge of second "=" operator and again click on left edge of "or" operator.

  16. Now click on right edge of "or" operator and then click on "condition" node given in right side of Mapper.

  17. Select "check_value" gateway in modeler and go for Mapper.

  18. Click on "creates a new operator" button available in Mapper tool bar.

  19. Drag the mouse pointer from tool bar to work area of "Condition for [check_value-output_10]" mapper and click on it.

  20. A textbox will be available in edit mode, provide "=" in text box without double quotes.

  21. Repeat steps 19,20 and provide "10" without double codes.

  22. Click on "$thisReceiveRequestMsg.body" node in left side of mapper and then click on left edge of the "=" operator.

  23. Click on right edge of text box displaying "10" and then click on left edge of "=" operator.

  24. Now click on right edge of "=" operator and then click on "condition" node given in right side of Mapper.

  25. Select "Condition for [check_value-output_11]" in mapper tool bar.

  26. Click on "creates a new operator" button available in Mapper tool bar.

  27. Drag mouse pointer from tool bar to work area and click on it.

  28. A textbox will be available in edit mode, provide "=" in the text box without double quotes.

  29. Repeat steps 28, 29 and provide "11" with out double codes.

  30. Click on "$thisReceiveRequestMsg.body" node in left side of the mapper and then click on left edge of the "=" operator.

  31. Click on right edge of text box displaying "11" and then click on left edge of the "=" operator.

  32. Now click on right edge of "=" operator and then click on "condition" node given in right side of Mapper.

  33. Select "output_10" task in the modeler.

  34. Click on "creates a new operator" button available in the Mapper tool bar.

  35. Drag the mouse pointer from the tool bar to mapper area and click on it.

  36. Provide "The value entered is 10" in available text box within double quotes.

  37. Click on right edge of the "The value entered is 10" and again click on "$thisReceiveRequestMsg.body" node in right side of the Mapper.

  38. Select the "output_11" task in the modeler.

  39. Click on "creates a new operator" button available in the Mapper tool bar.

  40. Drag the mouse pointer from tool bar to mapper area and click on it.

  41. Provide "The value entered is 11" in available text box within double quotes.

  42. Click on the right edge of the "The value entered is 11" and then click on "$thisReceiveRequestMsg.body" node in right side of the Mapper.

  43. Select "default" task in the modeler.

  44. Click on "creates a new operator" button available in the Mapper tool bar.

  45. Drag mouse pointer from the tool bar to mapper area and click on it.

  46. Provide "This value does not match with the condition" in available text box within double quotes.

  47. Click on right edge of "This value does not match with the condition" and then click on "$thisReceiveRequestMsg.body" node in right side of the Mapper.

  48. Now select "reply" task and go for the Mapper window.

  49. Click on "$thisReceiveRequestMsg.body" node in left side of mapper and then click on "$thisReceiveResponseMsg.body" node in right side of mapper which will make an association.

  50. Save the process model.

  51. Now your process is fully implemented which is ready to deploy and execute within Intalio|BPMS Server.

 

Process Deployment & Execution:

  1. Click on Deploy Project to Intalio|BPMS Server button in tool bar.

  2. Make sure you select all runtime files while exporting to Intalio|BPMS Server.

  3. Click on Finish button.

  4. Open a web browser, provide url as: http://localhost:8080/bpms-console, which takes to login screen for bpms-console.

  5. Login with the following credentials:
    username: 'admin' (without quotes).
    password: 'changeit' (without quotes).

  6. In the processes list you should see "ParallelProcessing: ParallelProcessing" process with a package name "ParallelProcessing", select it and click to Start.

  7. This should generate a form with an input field.

  8. Type "10" in input field, then click on Submit button.

  9. This will replace the page with an output like "receiveResponse: The value entered is 10".

Last Updated ( Feb 06 2008 )
  < Prev Next >