Modern Architecture

Process automation describes the use of software to reduce human intervention in business processes.

Process automation = control flow automation + task automation

The term process automation actually comprises two important components: control flow automation (what happens after each process step) and task automation (how each process step is performed). It is possible to separate them, for example, by automatically passing a document for approval after it was drafted by an employee (control flow automation) or by using an attended RPA bot to draft the document for the employee (task automation). Control flow automation is addressed by using a workflow engine to create a digital process twin.

There are many ways to automate a task

RPA and iPaaS are probably the most hyped approaches to task automation at the moment, but other approaches such as using scripts and batch jobs or system integration have been around since the dawn of computing. Decoupling control flow automation from task automation enables businesses to always pick the best automation tool for each particular task.

Use available APIs and services whenever possible

Most enterprise applications offer Application Programming Interfaces (APIs), which are the natural way for one program to access another one. While APIs vary widely in their reliability and ease of access, most often they represent the best way to automate a task. Sometimes there are services made available by certain teams in your business which can be used to achieve an automation objective without recreating the wheel.  

Use UI automation (RPA) whenever an API is not available

Whenever an API is unavailable, unreliable or inaccessible, Robotic Process Automation (RPA) offers a practical way to automate tasks using the User Interface (UI). RPA is vulnerable to the slightest UI changes and requires regular maintenance, but still it is often the only way to deploy an automation into production within a few weeks. 

Use open RPA tools and avoid vendor lock-in

It is not widely known, but there are very powerful open-source RPA libraries available to the general public in Python and Java. While they lack the user-friendly low-code interfaces of RPA suites like UiPath or Automation Anywhere, they sometimes feature more powerful automation capabilities. They are also more developer-friendly for experienced developers, because they can be used with the usual development environment and do not require additional training in proprietary technologies.  

Use best practices for software development 

Using Python- or Java-based RPA comes with the major benefit of being able to use the industry-standard best practices of software development, such as automated testing, version control and CI/CD. These greatly increase both the development speed and the resulting reliability of automations.

Stand on the shoulders of giants

There are vast open-source software development ecosystems, comprising among many things the areas of artificial intelligence and machine learning. Scientists often use open Python libraries for their research. The power of intelligent automation largely depends on the quality of machine learning approaches on which it is based, and being able to access the best libraries improves the automation’s results and reduces its costs at the same time. 

F-ONE is there to help you

While we strongly advocate for the use of task automation in the context of control flow automation and end-to-end business process digitalization, task automation was and remains our key field of business. Please get in touch to discuss your ideas and requirements. With our experience in RPA development we will be happy to support you on your automation journey.