Boosting the efficiency of pharma software with an ESB

RESULT

+ up to 40k

sales processed daily
Highlights
12 systems connected through the ESB | Testing practices with JMeter
Project goal
Develop an ESB to facilitate the communication among 12+ systems
Technologies
WSO2 | Apache Synapse | Django | Postgres | Pentaho | Java | Docker

RESULTS

up to 40k

sales processed daily

Project goal

Develop an ESB to facilitate the communication among 12+ systems

Technologies

WSO2 | Apache Synapse | Django | Postgres | Pentaho | Java | Docker

Highlights

12 systems connected through the ESB | Testing practices with JMeter

RESULTS

up to 40k

sales processed daily
Project goal

Develop an Enterprise Service Bus to facilitate the communication among 12+ systems

Highlights

12 systems connected through the ESB | Testing practices with JMeter

Technologies

WSO2 | Apache Synapse | Django | Postgres | Pentaho | Java | Docker

Farmashop has 102 drugstores and convenience store locations

Pictures of a pharmacy.

Farmashop has 102 drugstores and convenience store locations

It is a pharmaceutical retail business that depends on a variety of tools and software providers to manage inventory, logistics, distribution, payments, and more.

The complexity of a pharmaceutical retail business

Pictures of coworkers looking at a computer and other computer gadgets.

The complexity of a pharmaceutical retail business

In 2018, Farmashop changed its Enterprise Resource Planning (ERP) system and added a new platform for demand planning. At that point, they realized how complex their network of products had become, and the labyrinth of communication systems needed.

That led them to a conversation with us where we discussed potential solutions that would make communication among systems more fluid and effective. As we had collaborated on previous projects and were long-time tech partners, Farmashop relied on our experience and capabilities in proposing a solution.

Pictures of coworkers looking at a computer and other computer gadgets.
Pictures of women having a talk and post-its in a wall.

Mapping out heavy data with an ESB

Pictures of women having a talk and post-its in a wall.

Mapping out heavy data with an ESB

After researching and aligning expectations, we came to the conclusion that an Enterprise Service Bus (ESB) would be the best option. This solution connects all business services providers, working as a bridge between systems. The ESB maps out the data requested by each service and standardizes the information in order to provide each software with the data it needs, at the right time and in the right format.

The open source, free tool we chose for developing it was WSO2, a platform based on Apache Synapses. The project started in February 2018 and nine months later we successfully deployed the solution. Since we depended on information from different providers, our main challenge during development was the mapping process to identify how the same data would be presented and read differently by each platform.

How it works

Connecting systems
A system that needs to communicate with another sends its information through the ESB, or it proactively seeks information that is requested by any platform.
Sending data
The ESB receives the data and automatically identifies the correct way to send it to the platform intended.
Matching information
In a matter of seconds, the ESB sends the information to its destination, ensuring the data matches the right format and field requested by the system, finalizing the transaction.
Queueing process
To make sure all of the requests are met efficiently, we developed a queueing process for prioritizing and organizing transactions without overloading the products.
Connecting systems

A system that needs to communicate with another sends its information through the ESB, or it proactively seeks information that is requested by any platform.

Sending data

The ESB receives the data and automatically identifies the correct way to send it to the platform intended.

Matching information

In a matter of seconds, the ESB sends the information to its destination, ensuring the data matches the right format and field requested by the system, finalizing the transaction.

Queueing process

To make sure all of the requests are met efficiently, we developed a queueing process for prioritizing and organizing transactions without overloading the products.

Do you want to transform your business and your users’ lives?

12 systems and counting

This was mostly a middleware project, but we also offered some front end development in order to implement a platform that would enable the Farmashop team to make small setup changes directly, without a software developer. Our goal was to provide a friendly interface where team members could make simple adjustments autonomously, avoiding unnecessary deployments.

As of today, the Enterprise Service Bus continues to evolve and we are consistently integrating new systems and adjusting features to match Farmashop’s daily operations requirements. There are currently 12 systems connected through the ESB, and Farmashop intends to centralize all system communication with our solution eventually.

1 +
connected systems
0 k
daily transactions
0
drugstores & convenience stores
1 +
connected systems
0 k
daily transactions
0
drugstores and convenience stores
enterprise service bus example

A huge amount of transactions processed rapidly

A huge amount of transactions processed rapidly

There are many systems interacting frequently, thus generating a huge number of transactions. Before launching the solution, we tested its capacity by simulating high usage numbers with JMeter. This allowed us to develop a tool with enough bandwidth to support business processes, making sure Farmashop’s consumers and employees have a great experience. An example is the amount of payments registered by day, which can be up to 40k transactions.

Processes became much faster and product updates that once took 20 minutes to implement, are now automatic.

enterprise service bus example
See related cases