MAIN arrow Samples-5.1 arrow Indicate Timeout Process

Indicate Timeout Process

Print E-mail

zip indicatetimeout 04/02/2008,05:45 14.41 Kb

 

Description:

This use case explains if the process does not execute within a given time span then the process throws a timeout.
In the given process the process executes a loop for 200 times, in a given a span of time i.e. PT10S if its not able to execute the loop the process will throw a timeout and the output will be displayed as Oops! Timeout.

Use case dependencies:

message.xsd- Schema used is start 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 IndicateTimeout.zip.
  2. Go to File > Import...
  3. In the Import wizard, select 'Existing Projects into Workspace', click on Next >.
  4. select the "Select archive file" radio button.
  5. Browse to select the downloaded archive file.
  6. Click to Finish.
  7. Update project builders by right click on project; go to BPMS Designer Tools > Update BPMS Builders.

 

timeout.jpg

* Please follow these below instructions to remake the process

Preconditions:

  1. Make sure Intalio|BPMS Server is up and running fine.
  2. For the first time, go to File > New > select Intalio|BPMS Business Process Project.

 

Steps to remake the process:

  1. Go to File>New > select "Intalio|BPMS Business Process Project".
  2. Provide Project name as "IndicateTimeout", and click to finish.
  3. Right click on the project, go to New>select "Business Process Diagram".
  4. Provide file name as "IndicateTimeout", click to 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 IndicateTimeout.
  8. Focus on send task; drag out going message flow icon to IndicateTimeout pool and select the option Connect to a new Task, name this new task as receive.
  9. Focus on the receive task and drag the outgoing sequence flow icon to Connect to a new Sub-Process, name this new subprocess as sub-one and the default task available in the subprocess as loop.
  10. Right click on the loop task and click on the Sets loop as looping task.
  11. Focus on the loop task and drag the outgoing sequence flow icon to Connect to a new Timer Intermediate Event, name this as Timer1.
  12. Focus on the boundary of sub-one Sub-process (Near to expand/collapse button of Sub-process) Sub-process event holder a pop up menu will be available.
  13. Select Add Timer Intermediate Event option from the pop up menu available.
  14. Drag the outgoing sequence flow icon from the sub-one subprocesses to Connect to a new Task, name this new task as reply.
  15. Drag the outgoing sequence flow icon from Timer intermediate event (which is on boundary of the sub-one subprocesses) to Connect to a new Task; name this new task as ThrowError.
  16. Focus on reply task and drag the out going message icon from boundary and connect to send task in the Client Pool.
  17. Import schema files from zip file into the project ((or) You can also create your own schema from File > New > Other > XML > XML Schema).
  18. Drag and drop message.xsd > tns:start schema node on to incoming message flow from send task to receive task.
  19. A message Set schema element start 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. In the process model select loop task.
  3. Go to Window-> Show View->Palette and select it.
  4. Drag the Mapper Palette to other location from where you can easily dnd any operator onto the Mapper.
  5. Go to mapper tool bar and click loop tab.
  6. Go to Mapper Palette and expand Functions and Operators on Numerics Comparison of Numeric Values and dnd op:numeric-less-than operator onto the Mapper Area.
  7. Go to mapper tool bar, click on creates a new operator button available and again click on work area of Mapper.
  8. Provide 200 in the text box without double quotes.
  9. Click on $thisReceiveRequestMsg:body node in the left side of the Mapper.
  10. Click on the left edge of the textbox displaying < (less than operator) available in the work area.
  11. Again click on the right edge of the textbox displaying numeric value 200 and then click on the left edge of the textbox displaying < operator.
  12. Again click on the right edge of the textbox displaying < operator and then click on while node given in the right side of mapper.
  13. Go to mapper tool bar and click assign tab.
  14. 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.
  15. Go to mapper tool bar, click on creates a new operator button available.
  16. Provide 1 in the text box without double quotes.
  17. Go to the Left side of the mapper and click on $thisReceiveRequestMsg:body node.
  18. Click on the left edge of the textbox displaying + (addition operator) available in the work area.
  19. Again click on the right edge of the textbox displaying numeric value 1 and then click on the left edge of the textbox displaying + operator.
  20. Again click on the right edge of the textbox displaying + operator and then click on $thisReceiveRequestMsg:body node given in the right side of mapper.
  21. Now click on the Timer1 Timer Intermediate Event in the modeler area.
  22. Go to mapper tool bar, click on creates a new operator button available and again click on work area of Mapper.
    Provide PT10S in the text box within single quotes.
  23. Right click on the text box displaying PT10S and again click on the right side of the duration.
  24. Now click on the Timer Intermediate Event on the boundary of the Sub-Process in the modeler area and go to the mapper area.
  25. Go to mapper tool bar, click on creates a new operator button available and again click on work area of Mapper.
  26. Provide PT05S in the text box within single quotes.
  27. Right click on the text box displaying PT05S and again click on the right side of the duration.
  28. Now click on the ThrowError task in the modeler and go to the mapper area.
  29. Go to mapper tool bar, click on creates a new operator button available and again click on work area of Mapper.
  30. Provide Oops! TimeOut in the text box within double quotes.
  31. Right click on the text box displaying Oops! TimeOut and again click on the target side of the $thisReceiveRequestMsg:body.
  32. Now click on the reply task and go to the mapper window.
  33. Go to mapper tool bar, click on Connects operators and nodes button available.
  34. Go to the left side of the mapper and click on $thisReceiveRequestMsg:body node and then click on $thisReceiveResponseMsg:body node given in the right side of mapper.
  35. Save the process model.
  36. Now your process is fully implemented to and is valid 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. Bpms-console will be available with deployed processes list.
  7. You should see "IndicateTimeout:IndicateTimeout" process with a package name "IndicateTimeout", select it and click to Start.
  8. This should generate a form with an text field.
  9. Type 1 in start field, then click on Submit button.
  10. This will replace the page with an output like receiveResponse: Oops! TimeOut.
Last Updated ( Feb 06 2008 )
  < Prev Next >