Is it possible to orchestrate Processes into super Processes?

Hello,

Suppose I have two Processes deployed, one that reads from an excel and adds rows to a single database table, and a second one that reads from all the tables in the database and writes output to a text file.

I want each of these Processes to be available standalone. At the same time, I want a third Process that first adds row to the table (Process1), then writes to the text file (Process2) and then maybe emails that text file to someone. In other words, I want to orchestrate (in the SOA sense) the two available Processes into a third super Process.

If at any time I wish to update Process1 or Process2, I should not have to touch the “super Process” at all.

The only available solution to this problem I have found so far is maybe to publish Process1 and Process2 as libraries, but that requires a workaround as the “Highest Applicable Version” Runtime Rule is not yet available. Is there a better way to do this? Note that I want my two processes to be executed one after the other, never simultaneously (so maybe “Start Job” activity does not help?)

Thank you,

Sounds like a scheduling problem. you can always run process 2 a few minutes after process 1 completes. Or am I missing something here?

It’s not that simple. You do not know how long it will take for Process1 to complete. Also, maybe you need to make sure that no other Process will run after Process1 is complete and before Process2 starts…

Only thing you need to be scheduling, in this scenario, is the super Process.

So you are trying to run this on one robot/machine. Somewhere in your code for the superProcess, you have to know when process1 is completed. Correct? if so, it should be fairly simple to build in that part of code into the timing sequence of kickoff. This is fairly easy with the .NET framework. A code block maybe?

Thanks for the reply @Skyman :slight_smile:

I am not entirely sure though whether I can run 2 Processes simultaneously on the same Robot (in your example, super Process starts running, then Process1 starts running while super Process is waiting for Process1 to complete - all in the same robot.)

Maybe that could work with the proper licensing and some clever coding, but i think this is still more complicated than publishing Process1 and Process2 as libraries. Maybe there is a better way to do this?

Hi @RovertosG

You could have a look at this post/thread:

It is not exactly what you want, but is an idea to solve the issue nonetheless.

Alternatively, you could look into using Orchestrator API to trigger the second process at the end of your first one. This way you could have both those process as separate projects and packages, while still needing to only ever schedule the first one. The second one would always be launched at the end of the first one with that Orchestrator API call.

Lastly, native support for similar scenarios is in works :slight_smile:

Hello @loginerror,

Thank you for your reply. Glad to hear you are working on this. :slight_smile:

I had a quick look at the Enhanced ReFramework. Under the ServicesLayer folder I see that “Tasks” are actually complete Processes that are embedded (i.e. included as whole) into what I would call the super process. Therefore, you are right they are not exactly what I want. If these tasks were entirely separate, standalone processes that could be “plugged” into the super process as software modules, that would be exactly what I want.

But how about my idea of publishing entire Processes as library activities, so they can be indeed plugged in as modules into super processes? I just theorized about it, I have not tried testing it. Is this even feasible?

Thank you,

Hi @RovertosG

Did you maybe have a look already at the Long Running Workflows? :slight_smile:

It was recently released and I believe it would be a good candidate for your particular use case.

Hello, yes I have looked into that and I think it fits the bill nicely.

As with another requirement I had about suspending/resuming processes about which I opened another thread in this forum, the new release does provide the answers, so good job on that :slight_smile:

1 Like