RPA platform legacy modernization

Enterprise-level automation
to streamline manual tasks
Industry:

Services:

Software development
Performance optimization
Cross-platform development
Software modernization
Cloud migration
Project management
1

Project overview

Our client is an end-to-end process intelligence provider that delivers unique workflow automation solutions. The company’s primary mission is to help organizations in streamlining business operations and productivity. Our client achieves this by providing enterprise-level automation solutions that transform day-to-day processes. Their software is designed to be intuitively understandable and easy-to-use, and provides considerable benefits to businesses across industries, no matter the domain and size.

The client’s main product is an RPA solution helping organizations streamline resource-intense manual work.

2

Main goals

Abto Software has entered the cooperation to handle multiple issues negatively affecting customer satisfaction. Having conducted in-depth investigation, we found that the provided platform is outdated, unstable, inflexible, and complicated to deploy and maintain.

 

The partnership has resulted in successful software modernization streamlining overall customer satisfaction and profitability.

3

How the solution works

The product is an RPA solution that provides both automation and additional, optional guidance for employees. By leveraging artificial intelligence, the solution reduces errors, increases quality of the information processed, improves speed and efficiency, and, accordingly, maximizes productivity.

 

Let’s say, the customer is using Excel spreadsheets to create monthly invoices:

  • When the web application is opened, the solution triggers the guide mode
    The user gets asked if guidance is wanted

    The robot indicates necessary workflow steps to create the invoice
  • When the new invoice is created, the solution triggers the automation mode
    The users gets asked if they would prefer filling in order data by themselves or automatically
    The robot loads required order data from the Excel spreadsheet into the web application
  • When done, the user is instructed to save and send the invoice
  • At the same time, the sensors are monitoring on-screen activity to ensure business rules are followed

Automation involves RPA robots, which are software programs that can automate repetitive, rule-based tasks. These interact with the user interface, precisely mimicking the actions of humans.

 

Robotic process automation robots work 24/7, do not get tired and are less prone to mistakes, which brings significant value for enterprises.

4

Our contribution

Abto Software was involved to handle complex issues, which have negatively affected customer experience. After conducting thorough investigation, our engineers worked out a strategy to modernize the outdated legacy product. This strategy included the development of web browser extensions, plugin design and UI automation. 

 

We covered:

  • Legacy modernization
  • Performance optimization
  • Cloud migration
  • Cross-platform development

Solving customer problems

The main customer problems were that the solution:

  • Wasn’t working for customers who used Microsoft’s Windows Terminal Server
  • Wasn’t covering automation functionality for certain Java-based applications
  • Wasn’t monitoring local and remote file system changes as expected, which meant automation activities weren’t triggered
  • Wasn’t working with the Citrix environment 

To resolve the above listed problems:

  • We implemented a service to monitor user sessions on the Terminal Server and launch new sessions in case a session is closed or locked and provided an REST API endpoint to interact with other system parts 
  • We integrated Java-based UI-automation engines side-by-side: Access Bridge, FLA UI 2, FLA UI 3 
  • We embedded Polling FileSystemWatcher from .Net Standard 2.1 into our .NET Standard 2.0 library, defined polling watcher abstraction and added multiple implementations for different file systems: Local File System, Network File System, SharePoint Online, SharePoint On-Premises
  • We addressed Citrix issues by leveraging Citrix’s ICA virtual channels to establish a reliable, bi-directional connection to facilitate generalized packet data exchange between the Citrix host and the Citrix Receiver online plug-in

The main customer problems had been successfully resolved through the implemented solutions listed above. At the next stage, we moved to the product issues, which were more complex.

Solving product issues

The main product issues to handle:

  • About 80% of issues were originating from small automation activities, which were the basis and main building blocks of larger automation scenarios
  • It took up to one month for the support team to upgrade a customer to the newer version

To handle the issues related to automation activities, we implemented:

  • Plugin-like infrastructure for the main monolith based on extension-based design
  • An SDK to write automation activities no matter the platform
  • Distribution and version management for the automation activities
  • Testing capabilities to troubleshoot automation activity on the end-customer environment

To handle the issues related to the version upgrade, we implemented:

  • A health check tool comprising predefined test suits to analyze target and upgraded environments before and after installation
  • An installer to support partial installation and workflows
abto software
5

Main challenges

Backward compatibility

The product is implemented by enterprises that have numerous automations – with every new enhancement, we focused on maintaining backward compatibility to ensure seamless functionality even after system updates. We utilized a combination of a side-by-side approach where the new code includes so-called fallback options and custom migration tools.

Tight deadlines

The product is developed to use browser extensions to enable browser automation – we faced a challenge when Google announced that Manifest V2 browser extensions wouldn’t longer be working in about six months. The new security rules in the Manifest V3 have limited some capabilities, in particular DOM access and custom code injection.

 

Our team has worked with the customer support to upgrade enterprise customers right before the deadlines. Our engineers successfully implemented the changes and ensured the product remained functional despite the described constraints.

Product installation

Abto recognized that the utilized legacy product installer was causing significant issues to the customer support. It was based on outdated technologies, with numerous hardcoded forks and conflicting configuration files, requiring complete system uninstall and reinstall to upgrade.

 

We handled the challenge by adopting a more modern and flexible framework, Windows Installer XML (WIX), –  our engineers carefully identified dedicated forks for each product feature and migrated them piece-by-piece. We have also designed a new product installer to support partial installation and upgrade the workflows, providing smooth, user-friendly experience.

Citrix integration

The said legacy product was meant to support Citrix Virtual Desktop and Citrix Virtual Application scenarios. We involved C and .NET engineers to implement a custom Citrix ICA virtual channel, which provides a reliable, bi-directional connection with the Citrix servers.

Tools and technologies

Tech stack:

  • .Net Framework
  • .Net 7
  • Node.js
  • Python
  • WPF
  • Angular
  • Elektron.Js
  • GraphQL
  • REST API
  • Browser extensions
  • IPC
  • Named Pipes
  • Web Sockets

Cloud services:

  • AWS EC2
  • AWS MQ
  • AWS S3
  • AWS RDS
  • AWS VPN
  • AWS Elasticache
  • AWS Network Firewall
  • AWS Virtual Private Cloud (VPC)
  • Amazon CloudFront
  • AWS CloudWatch
  • AWS Secrets Manager
  • AWS Key Management

Tools & third-party integrations:

  • Keycloak
  • Aerobase
  • Redis
  • MongoDB
  • Rabbit MQ
  • Citrix
  • Nginx
  • Windows Installer XML
  • Seq Logging Server
  • HashiCorp Vault
  • Active Directory
  • OpenID Connect
  • SAML SSO
  • Kerberos SSO
  • SQL Server
  • Terminal Servers
  • Microsoft SharePoint Online
  • Microsoft Exchange Service
  • UI Automation
  • FLA UI
  • Microsoft Graph API

DevOps services:

  • GitHub Actions
  • Github Monorepos
  • Docker
  • Kubernetes

Timeline:

  • June 2019 – ongoing

Team:

  • 1 project manager leading international R&D team
  • 4 R&D engineers
  • 1 WiX developer
6

Value delivered to business

The modernization of the RPA platform resulted in:

  • Faster upgrades: The time to upgrade was minimized from a whole month to a few days
  • Smooth workflows: Each new product migration takes place more easily
  • Reduced manual workflow steps: Product installer was stabilized & configuration was automated
  • Minimized bugs during migration

 

This way, the business:

 

Restored the customers’ trust

Improved the product’s speed and efficiency

Gained more competitive advantage

 

 

Categories:

Contact Us

To find out more about Abto Software expertise, request a quote or get a demo of your custom solution.

  • Clicking this button, I agree to the processing of my personal data.

Contact us

Tell your idea, request a quote or ask us a question