Forum tags


Top Posters

Last 30 days

  • ravinderjit.singh (29)
  • Antoine (26)
  • danielandross (17)
  • venkaiah.k (16)
  • shao (14)
  • sirswendu.ganapati (13)
  • eva.das (13)
  • metabyte (12)
  • milos.vacek (7)
  • cristiano.quintao (7)

All time

  • Antoine (1492)
  • Shivanand (1194)
  • cshekhar (928)
  • psq (796)
  • jag (391)
  • metabyte (383)
  • arnaud (328)
  • jalateras (325)
  • dfrench (271)
  • venkaiah.k (214)

Show last 4 hrs - 12 hrs - 24 hrs

POLL

We are looking for more information to tailor our training to better meet the needs of our customers. Please indicate all options that apply.

I would like to attend specialized training from Intalio on BPM as it relates to my application area:


I would like to attend specialized training from Intalio on BPM as it relates to my job function:


I would like to attend specialized training from Intalio on BPM as it relates to my industry:

Login

MAIN arrow FORUMS
Wait for an external and non human event (0 viewing) 
Go to bottom Post Reply Favoured: 0
TOPIC: Wait for an external and non human event
#14702
wilmercisneros (User)
Fresh Boarder
User Offline Click here to see the profile of this user
Wait for an external and non human event 6 Months, 1 Week ago Karma: 0  
Hi.

In the following scenarios:

Scenario 1:
I want to create a process that calls a webservice that performs a file transfer, this file transfer will take a very long time. In this case how long Intalio waits for the Webservice before the timeout exception is raised. Is there any way to configure this time out?.

Scenario 1:
Supose this Webservice is Asynchronous, this means the call just start the transfer but it returns inmediatly. After the transfer is done in some way the Webservice callbak telling the caller that the activity is ready. Is it possible to wait in Intalio for this event in a separe task to the one that called the webservice?
I am talking about a event driven scenario, this means wait for an external event same way Intalio wait for the workflow user interaction.

Thanks
 
Report to moderator   Logged Logged  
 
Wilmer Cisneros.
CTO Graca Consultores.
  The administrator has disabled public write access.
#14703
dfrench (User)
Gold Boarder
User Offline Click here to see the profile of this user
Re:Wait for an external and non human event 6 Months, 1 Week ago Karma: 8  
Certainly recommend treating the file-transfer service asynch.
You could use a looping task/sub process within the business process execution to test if the file transfer is complete (sleep for N seconds between tests) but if you want to bind the business process closely to the business process, simply define a message to be sent from the external service and received in your executable process.
 
Report to moderator   Logged Logged  
  The administrator has disabled public write access.
#14749
wilmercisneros (User)
Fresh Boarder
User Offline Click here to see the profile of this user
Re:Wait for an external and non human event 6 Months, 1 Week ago Karma: 0  
Ok, great that is my initial idea.

But, how I can receive this answer or callback message in my process?.
What is the element, task o whatever artifact that I have to incorporate into my process in order to wait for that external event o message?. Of course as a part of a entire process that makes different things like transfer a file.
 
Report to moderator   Logged Logged  
 
Wilmer Cisneros.
CTO Graca Consultores.
  The administrator has disabled public write access.
#14754
dfrench (User)
Gold Boarder
User Offline Click here to see the profile of this user
Re:Wait for an external and non human event 6 Months, 1 Week ago Karma: 8  
Using the looping task approach you are not 'waiting on event' you are repeatedly testing whether the event has occurred. You need two operations defined in your file transfer service ... Invoke transfer starts the transfer (simply responding with ok) and Query returns the transfer state (complete/not complete/failed). You need the WSDL for this service first.

In the BPM you have a non executable pool representing the file transfer service and an executable process representing the business operation. Drop the two operations from the WSDL into the non executable pool. see the samples for examples of calling external services.

In the executable pool a looping subprocess is defined to continue while the Query operation replies with "incomplete state". If the Query operation replies with "incomplete state" then introduce a wait within the subprocess.
 
Report to moderator   Logged Logged  
  The administrator has disabled public write access.
#14787
wilmercisneros (User)
Fresh Boarder
User Offline Click here to see the profile of this user
Re:Wait for an external and non human event 6 Months, 1 Week ago Karma: 0  
Thanks for your answers.

Probably I was not clear enough.

For me, the loop approach is a ok but is not the optimal, as I comented before it was my initial idea.
I am looking for the even driven capability of intalio, if it exits in the product.
I want to model a process where a task waits for an external event to continue the flow without the need of looping an sleeping.

Is this possible or my only solution is this loop?.
 
Report to moderator   Logged Logged  
 
Wilmer Cisneros.
CTO Graca Consultores.
  The administrator has disabled public write access.
#14788
dfrench (User)
Gold Boarder
User Offline Click here to see the profile of this user
Re:Wait for an external and non human event 6 Months, 1 Week ago Karma: 8  
I was hoping that an expert might come up with some good advice here! Clearly, I think that closely coupling any service with the BPMS is a bad idea from a business architecture point of view. It will also add complexity to the conceptually simple file transfer operation because you probably need to make sure that the event signalled by the file transfer service has been processed ok before completing the file transfer service. I will be interested to know the benefits of doing it that way.

However, waiting on an event is what is happening throughout the Intalio BPMS operations when dealing with messages ... all you need to do is define the message and include it in your process flow as an intermediate message event. The source of the message is within a non-executable pool representing your external file transfer service. If you just design a simple process with an intermediate message event and start it, you will see the process wait for the intermediate message.

Intalio Designer will generate the WSDL that your external service needs to communicate with the business process.
You will need to use explicit correlation (so that the message goes to the right instance) ... there is a sample use of explicit correlation which may be a help.

David
 
Report to moderator   Logged Logged  
  The administrator has disabled public write access.
Go to top Post Reply
get the latest posts directly to your desktop