BPT Design Patterns

BPT Design Patterns

  
Hi "OutBrothers" and "OutSisters",

I have a question about designing BPT Processes and i like to know more about your experience.

In a particular case, i have a process that needs to read data in external System (slow read), and i need to read them before start Human Activities of the process (who may need some of the data).

At the begining i have desgined the process doing the read at "OnProcessStart" callback. However, that solution doesn't show this important step in the flow, and i think is relevant.
So, i have created a "Wait" activity.
Now the step is visible in the process, but my business model have some changes to support this.
 
What is your experience in cases like these?

Thanks,
Hélder
Hi Helder,

Usually for filling information it's normal to use an Automatic Activity to read from the external system, unless there is the chance that the information can still not be ready.
In that case a Wait (with the exception in onclose and recalculate next timeout pattern if not ready) is appropriate.

Regards,
João Rosado
João Rosado wrote:
Hi Helder,

Usually for filling information it's normal to use an Automatic Activity to read from the external system, unless there is the chance that the information can still not be ready.
In that case a Wait (with the exception in onclose and recalculate next timeout pattern if not ready) is appropriate.

Regards,
João Rosado
 Hi João,
 
Automatic Activties only runs for 5 minutes (OutSystems Restriction, i think), and in this particular case, the read could take more then 5 minutes... Because of that, my option is to avoid automatic activities for slow flows. :)

Thanks,
Hélder
 
Hi,

Yes, if that is the case probably the best is:
To use a Wait activity without timeout.
In the Wait activity OnReady put create some data to be processed with a timer (also wake the Timer), and in that information also include the ActivityId of your Wait.
Process the reads you need using Timers.
Then when you have all the information use the CloseActivity action of your Wait (with the ActivityId) to trigger the wait to continue.

Regards,
João Rosado