+ up to 40k
sales processed daily
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 ESB 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

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

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.


Mapping out heavy data with an ESB

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.
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.

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.



