Achieving Seamless Integration with Salesforce and MuleSoft
Learn How to Modernize Your Systems with Leadex Systems
Leadex Systems helped a retailer integrate their legacy system with Salesforce, resulting in improved customer experience and increased revenue. Leadex Systems’ experts were invited by its partner to drive the integration – MuleSoft – part of the project.
Client Overview
This company is a leading furniture retailer that offers a wide range of kitchen designs and appliances. They have a user-friendly website that allows customers to easily browse their product offerings, create 3D kitchen designs, and request a free appointment with a designer. The company emphasizes quality and affordability, with a focus on providing customers with exceptional value for their money. They also offer financing options to help customers make their dream kitchen a reality.
Challenges
As the client had invested several years into the in-house development of an “all-inclusive” platform for order handling, the decision was to benefit from the functionality already built but also to unlock the data and make it available in Salesforce.
In order to enable seamless and efficient communication between the client’s existing system and Salesforce platform, several technical considerations had to be addressed:
The challenge was to ensure bi-directional sync on all the CRM objects, as the business wanted to ensure all the data was in place. Also, the goal was to lay a foundation for step-by-step migration from the legacy system
Not only data should be flowing in one direction from the master system to Salesforce, but also some updates were supposed to be initiated in Salesforce. This essentially created intricate bi-directional scenarios, where updates coming from Salesforce to the master system were synced back into Salesforce again.
To address security concerns, we employed the JWT Bearer authorization flow to gain access to Salesforce. Although the standard Salesforce Connector proved helpful in this regard, we had to implement a custom solution to utilize the Salesforce REST API. As part of our strategy to accommodate the evolving nature of Salesforce’s solution, we heavily customized the connector to achieve our desired results, ensuring that any changes to the MuleSoft component could be made with minimal effort.
Solution
Implementation highlights:
We developed a set of APIs on different layers, leveraging MuleSoft API-Led connectivity best practices, and making those decoupled and easily scalable.
We used RabbitMQ to reliably exchange events between the systems. It allowed us to implement several integration techniques, including retries with exponential backoff and partial ordering to avoid race conditions during synchronization. RabbitMQ was a suitable choice for this project as it provided reliable and scalable event-based communication between the two systems, helping to ensure smooth and efficient data synchronization.
Another security concern was related to deployment infrastructure and API accessibility. We established two VPCs for production and non-production environments. Each VPC was connected to the customer’s private network by using AWS Direct Connect. Also, we utilized Dedicated Load Balancer instances for both internal (within the VPC) and external (from the Internet) communications.
We combined an event-driven approach for data synchronization with the API approach to fetch and manipulate data in real-time. The APIs were shared in Anypoint Exchange and were easily accessible along with their mock services.
NFR – Non-function Requirements
Modifiability – our integrations were expected to be highly flexible in terms of changing existing transformations and adding new ones. This was achieved by carefully distributing responsibilities across API layers. The System API layer was very well decoupled from the Process and Experience API layer, which allowed it to easily incorporate changes and new features.
Reliability – one of the major concerns for data synchronization is to keep the systems in a consistent state to avoid data discrepancy. To achieve that we were using a messaging broker to reliably store events that would allow them to survive a system failure without losing data being synchronized.
Scalability – since the amount of data and the number of users were expected to grow in the future, the integration system was meant to be scalable to minimize data synchronization delays. We managed to achieve it by using CloudHub, which gave us the ability to scale individual API applications by merely configuring them in Anypoint Runtime.
Value-driven Results
By unlocking ERP data, the client empowered its customer support team to provide better and quicker responses to its customers, improving the overall NPS score. At Leadex Systems we understand the challenges businesses face when it comes to an iterative approach to migrating from legacy systems. Our team of experts can help you develop an integration strategy that leverages the latest technologies and tools to improve your business operations. We can also help you identify and implement the best middleware integration solutions, such as Mulesoft, and guide you through the process of integrating your existing systems with modern platforms like Salesforce.