Extension-based architecture for legacy RPA modernization

Robotic process automation update without rebuild – a smart SAP integration
Industry:

Services:

Software development Software modernization RPA development
Business consulting
Technical consulting
Project management
1

Project overview

Our customer, an enterprise-level business leader, was utilizing a system built upon monolithic architecture. Quite outdated, while handling critical operations, their software heavily struggled with modern API changes and ever-evolving business needs and objectives.

The maintenance was getting extremely expensive, with spending almost reaching the system’s initial price. Compatibility issues, security-related vulnerabilities, hard-to-track bugs, and unavailable software developers pushed towards immediate modernization – without breaking the bank.

2

Main goals

Our goal was building upon existing monolithic architecture while enabling:

  • Support for new APIs and SDKs
  • Integration with modern platforms
  • Lower risks by avoiding side effects
  • Greater productivity through bug-fixing without re-release


Legacy upgrade without rebuild and disruption

Contact us
cta image2 cta image1
3

How the solution works

The problem

 

The system was implemented to design and manage workflow templates with predefined workflow steps. These comprise data syncing, file handling, smart analytics, email notifications, and reporting among others – all within one software.

 

Any updates and modifications typically caused unexpected disruptions, slowing down business operations.

abto software

Our solution

 

To resolve these breakdowns, we delivered an application specifically designed at handling SAP-related steps. The service was using a flexible, extension-based architecture, mostly inspired by the Visual Studio Code model.

 

Now, instead of modifying the codebase, we integrate new features as completely independent extensions—each with its own process boundary and logic.

abto software
4

Our contribution

Our team:

  • Built a standalone application to handle SAP-related steps
  • Designed an extension-based model
  • Added a “workflow catalog” to the legacy application for dynamic workflow discovery and execution
  • Created an IPC layer by using input/output streams
  • Defined consistent RPC endpoints for all workflow steps
  • Built robust integration tests to ensure backward compatibility


Extend automation without breaking your platform

Contact us
cta image2 cta image1
5

Main challenges

Making a monolith extensible

 

The system wasn’t designed for modularity, which complicated component integration without malfunctions. 

 

We resolved the challenge by integrating extension-based design to override specific steps by performing:

  • The refactoring of the legacy application to support built extensions
  • The conversion of the SAP application
  • Integration tests to ensure backward compatibility 

Bridging technologies

 

The new SAP handler was written by using modern technology, which obstructed overall interoperability.

 

We resolved this problem:

  • Running the SAP handler as a separate application to decouple it from the system
  • Using standard input/output streams to enable communication between the components
  • Introducing a communication layer to enable smooth integration 

 

Tools & technology stack

Frameworks:

  • .NET 6.0

Platforms:

  • SAP

Architecture:

  • IPC
  • RPC

Patterns:

  • Contribution points
  • Process isolation

Timeline:

  • September 2024 – November 2024

Team:

  • 1 project manager
  • 2 .NET engineers
  • 1 QA engineer (automated testing)
6

Value delivered to business

Starting from a standpoint where their legacy product became dysfunctional, our client now enjoys:

  • Increased savings – the extensions are reusable between products within the same domain
  • Reduced complexity – separated functionality simplifies maintenance and troubleshooting
  • Greater flexibility & scalability – new features are added without major codebase changes
  • Better stability – new features are executed without affecting legacy components

Categories:

Unchain your RPA stack

Contact us

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