loopingsubprocess_until 26/12/2008,00:54 10.21 Kb
Summary:
This use case explains the functionality of loop within a process. Accepts input as an integer type say'1' which acts as a initial value in a process, from where the execution will start and the process continues to execute until and unless the maximum limit is reached (integer value 11) after which it displays the output.
Use case dependencies:
loop.xsd: The schema used is "loop" which is of "integer" type
Requirements:
1.Intalio BPMS Designer 5.2
2.Intalio BPMS Server 5.2
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.
Process Download & Import:
1.Download "Loopingsubprocess_until.zip".
2.Go to File > Import...
3.In Import wizard,select “Existing Projects into Workspace”,click on Next >
4.Select the “Select archive file” radio button.
5.Browse to select downloaded archive file,
6.Click on Finish.
7.Update project builders by right click on project; go to BPMS Designer Tools > Update BPMS Builders.
Steps to remake process:
1.Go to File > New > select “Intalio|BPMS Process Project”.
2.Provide Project name as “Loopingsubprocess_until”, click on Finish.
3.Right click on project and go to New > select “Business Process Diagram".
4.Provide diagram name as "Loopingsubprocess_until" and click on Finish.
5.A pool with a task is available on the modeler window. Name the default pool as 'Client' and default 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 "Looping subprocess_until”.
8.Focus on the send task, drag the out going message icon from send task to Looping Subprocess_Until Pool and select the option "Connect to a new Task", name this new task as “receive”.
9.Focus on “receive” task, drag the outgoing sequence flow icon from "receive" and select option "Connect to a new SubProcess looping", name this subprocess as “sub-one”, and task inside it as “loop”.
10.Focus on “sub-one”, drag the outgoing sequence flow icon from "sub-one" and select option Connect to a new Task", name this task as "reply".
11.Focus on “reply”, drag the outgoing message icon from "reply", and connect to “send” task in Client pool.
12.Import schema files from zip file into project ((or) You can also create your own schema from File > New > Other > XML > XML Schema).
13.Drag and drop loop.xsd > tns:loop schema node on to incoming message flow from "send" task to "receive" task.
14.A message "Set schema element 'loop' as the content of the message" will prompt you, click on it.
Defining outging Mapping:
1.Make sure Mapper view is visible(go to Windows > Show View > Mapper.)
2.In the process model select "sub-one" subprocess.
3.Change the loop type as "Repeat Until" in the properties window.
4.Go to Window> Show View->Palette and select it.
Note: Drag the Mapper Palette to other location from where you can easily dnd any operator onto the Mapper.
5.Go to Mapper Palette and expand "Functions and Operators on Numerics” Comparison of Numeric Values" and dnd "op:numeric-greater-than" operator onto the Mapper Area.
6.Click on "creates a new operator" button available in Mapper tool bar.
7.A text box will be available in edit mode, provide "10" in the text box without double quotes.
8.Click on "$thisReceiveRequestMsg:body" node in left side of Mapper area and then click on the left edge of the textbox displaying ">" .
9.Click on right edge of textbox displaying numeric value "10" and then click on left edge of textbox displaying ">" operator.
10.Click on right edge of textbox displaying ">" operator and then click on "repeat until" node given in right side of Mapper area.
11.Select "loop" task in the modeler and go to Mapper.
12.Go to Mapper Palette and expand "Functions and Operators on Numerics Operators on Numeric Values" and dnd "op:numeric-add" operator onto the Mapper Area.
13.Click on "creates a new operator" button available available in Mapper tool bar.
14.A text box will be available in edit mode, provide numeric value "1" in the text box without double quotes.
15.Click on "$thisReceiveRequestMsg:body" node in left side of Mapper area and then click on left edge of the textbox displaying "+" .
16.Click on right edge of textbox displaying numeric value "1" and then click on left edge of textbox displaying "+".
17.Click on right edge of textbox displaying "+" operator and then click on "$thisReceiveRequestMsg:body" node given in right side of Mapper area.
18.Select “reply” task in the modeler and go to Mapper.
19.Click on "$thisReceiveRequestMsg:body" node in left side of Mapper area and then click on "$thisReceiveResponseMsg:body" node given in right side of Mapper area.
20.Save the process design.
Now your process is fully implemented which is ready to deploy and execute with in 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).
Bpms-console will be available with deployed processes list.
6.You should see "Loopingsubprocess_until:Looping subprocess_until" process with a package name "Loopingsubprocess_until", select it and click on Start.
7.This should generate a form with an input filed.
8.Type '1' in loop field, then click on Submit button.
9.This will replace the page with an output like "receiveResponse: 11.0".
Note: This sample is an example to educate user on:
1.Use of loop subprocess.
2.How to provide condition for loop subprocess.

