Some musing on UiPath and the orchestrators

The path of digitalization is littered with legacy applications, outdated data, antiquated formats, age-old documents that cannot be readily consumed, but must be preserved, transformed, digitalized and made ready for the eventual consumption of the newer, more powerful applications.

Along comes RPA (Robotic Process Automation). While physical robots have been ubiquitous in manufacturing, virtual robots have just started making a splash. In the past years, RPA has been deployed in various industries such as banking, finance, health care, human resources, and retails. The trend is growing, and a few industry leaders have emerged. Among them is UiPath.

UiPath has spared nothing to cultivate a thriving ecosystem, building an ever growing suite of products:

Process Gold and UiPath explorer enterprise for process mining and planing

UiPath Studio and StudioX for building

UiPath assistants (aka, robots) for job execution

orchestrators for management

UiPath Apps for user engagement

Insights for performance measuring

And, last but not the least, an academy to disseminate the gospels of UiPath.

The academy is ambitious. And like everything else in UiPath, it is carefully dissected (into a long list of courses, completion of which earns you a sincere congratulation with mean-nothing diplomas), gloriously packaged (into different levels of plans, also concluded with self-important diplomas). Students eager for formal industry recognization can also dole out 150 to 200 dollars to take a certification exam, and if they pass, be forever crowned as Certified UiPath Associates or Advanced developers.

I am one of such hapless students; I love to learn and dread exams. Now I am going through (again) the RPA developer foundation of UiPath.

Oh, boy, how the tech world always manages to appropriate terms and phrases from the non-digital realm and turn it into something entirely different.

Take the example of UiPath orchestrator.

An orchestrator, in a traditional sense, is a trained musical professional who assigns instruments to an orchestra or other musical ensemble from a piece of music written by a composer, or who adapts music composed for another medium for an orchestra. (definition from wikipedia),

UiPath orchestrators, on the other hand, work with an army of robots in a bewildering milieu of environments and organizational units; instead of music opus, workflow packages (developed through UiPath studios) are published to orchestrators, and turned into processes once they are distributed to an environment; robots spring into action through jobs and schedules; they either finish the job or stop according to Stop or Kill signals; any environments can have a number of robots, attended, unattended, development, non-production robots, depending on how they are used; a robot can be standard or floating depending on whether it is tied to a single machine; it can belong to one or more environments. Robots in the orchestrators have individual or shared assets (bits of information such as login credentials, email addresses); work items in orchestrators are organized in queues, which naturally go in the FIFO (first-in-first-out) order, but can be altered by deadlines, priorities, and postpones.

For example,

You added six Queue Items to your queue on 11/14/2019. What is the correct sequence in which these Queue Items will be processed? (example from the UiPath practice exam for UiPath Certified Advanced RPA Developer (UiARD)):

Not sure if you guessed, but the correct answer is:

It is so because of the following reasons (from the UiPath documentation):

Processing Order Within any given queue the transactions are processed in a hierarchical manner, according to this order:

Items that have a Deadline, as follows: a. in order of Priority; and b. according to the set Deadline for items with the same Priority.

Items with no Deadline, in order of Priority, and a. according to the rule First In, First Out for items with the same Priority.

Isn’t it a bit unexpected?

UiPath orchestrators are also more than just robots, processes, environments, packages, queues, and assets. They are comprised of users with different roles, machines (virtual or real), settings, and SLAs.

To make things more complicated, UiPath is rapidly changing. The orchestrators in the clouds have been going through rapid redesign, and demo videos presented in the academy are already out-of-date, which is a bit ironic, since RPA relies on a highly stable (static) and rule-based environment to be effective.

I guess that in order to reap the sweet fruit of having robots working on anybody’s behalf so humans can stay numb in the stream of Netflix, developers have to stride with the ever quickening advancement of technologies (of course, until the day robots make developers themselves obsolete).