Blog Layout

Micro bots approach

flabouch • Oct 29, 2021

As mentioned in our previous post about e-way bill , we got some question about scalability. E-way bill topic being link to invoicing and freight forwarder, we can easily imagine that during peak period we need to ensure that the bot can handle the load and not slow down operation.

We have been testing and measuring two approaches. The first one being one bot does all, and the second one being Microbots or specialised bots.

Approaches

The bot does all is self explanatory, so no need to go too much in details.

Microbots might required some explanation. If you are familiar with Micro services, you can skeep this section and jump to the next one.

There is a very interesting post on linkedin that goes in details of the approach, worth reading if you have an extra 5-10 minutes.

In a nutshell, Microbots approach consist on splitting your processes in micro specialized tasks, then develop a bots for each of the tasks, orchestrate these bots together in order to complete the process, and voila.

The main challenge becomes the orchestration of all the bots together.

the advantages are multiple: re-use a microbots in an other process, scale specific microbots when required, limit impact of external changes.

Instead of providing theory about microbots, i will demonstrate and compare the approach for the Indian e-waybill process.

Indian e-waybill

The automation for the e-waybill consist in three steps:

  1. Receive data from GSP partner, and format the data if needed
  2. Run the transaction J1IGIRN
  3. Run the transaction J1IGEBILL

As you have guess, we have the choice of having a bot doing all, or three different bots, or two different bots (steps 2 and 3 with the same bot). I am proposing to also test steps 2 and 3 together as it require the SAP gui. When splitting 2 and 3, the SAP gui need to be started two times, doesn't seems to be the most efficient for the speed of the process.

Performance results:

For the performance measurement, as we are talking about seconds, for the table below we used the "All in One" performance as the reference (base 100), and express the other approach as a percentage differences of the reference (for example -10% on execution time will mean 10% faster)

Couple of explanation:

  • We put the scalability of the three bots lower than two bots, not especially for the scalability complexity but more for the orchestration effort/complexity that it is creating.
  • We didn't take into consideration the licenses in the approach comparison. Based on what you want to accomplish, it might change the result.
  • The orchestration complexity his higher for the three bots, simply because three bots need to talk to each other, compare to two in the other approach. The complexity is actually not that high.

Our Choice

For our different customer we are using the two bots approach. We do think it's the perfect mix between speed, complexity and scalability.

As mentioned in the previous post in average our customer are processing 500 invoices per month. If we had to scale to more than 20 times that volume, we would most likely use the three bots approach in order to optimize the compute resources and therefore cost.

The three approach have been added to our catalog and are available upon request. Feel free to contact us if you would like to test them or for any question.

SII Spain Integration thru API
14 Jul, 2023
SII in Spain: What is it, why does your company need to comply, and how to do it?
Integrating VIES VAT Validation with your ERP
By flabouch 19 May, 2022
How to integrate and automate VIES VAT number validation of EU commission with your ERP.
SAP Idoc parser python library
By flabouch 12 May, 2022
SAP Idoc parser in Python
Share by: