Another interesting challenge for our team in the development of platform integrations was a project for a company that provides eCommerce services to foreign markets.
The main task for JazzTeam specialists was to develop a solution that will allow integration between Magento eCommerce platform and Epicor Prophet 21 ERP system. The solution allows to automate the operation of systems and fully synchronize the process of ordering online for B2C and B2B customers.
Integration is implemented by the following items:
- Catalog (adding new products);
- Prices (change in the cost of goods);
- Inventory (information on stock balances).
All information is transferred to Magento using the REST API. Information about updates in the cost of goods comes from the intermediate database in real time. Data on catalog and inventory updates also comes from the intermediate database not in real time, but according to a configured schedule: for the catalog – once a day, for the inventory – every 15 minutes.
To implement the solution, Mulesoft Anypoint Community Edition (CE) was chosen as one of the leading platforms for solving the most complex integration tasks using SOA, SaaS and API.
Scheme of integration between Magento eCommerce platform and Epicor Prophet 21 ERP system.
Stack: Java, Mulesoft Community Edition, REST API, Magento.
Infrastructure: Git, Anypoint Studio.
Test Automation libraries: MUnit.
Protocols: Https, Oauth2.
DB: MS SQL.
- The APIs were designed to be reusable, with potential future upgrades or potential ERP replacement.
- Distributed team in different time zones from different countries (USA, India, Georgia).
- High security requirements.
- Fixed project deadlines.
- Decomposition at all levels of the project was carried out by JazzTeam on the basis of the stated business requirements.
- Mule CE (Community Edition) was used, so we additionally processed restrictions related to:
- the lack of software modules (connectors) from the EE version (Encrypted Properties, Transform Message component);
- the CE version has a limited set of available Input Stream implementations, which causes problems with performance in some situations;
- the CE has bugs that were fixed in the EE version of Mule.
- Reusable APIs were created that can be used to interact with other target systems.
- All iterations were successfully completed in a short time in compliance with the main requirements and estimations.
- The solution is fully documented in accordance with SOP (Standard Operating Procedures).
- Several stages of end-to-end testing were carried out.
Company’s achievements on the project
- The team successfully completed the task by implementing an intermediate integration layer that automated the operation of systems and made it possible to constantly synchronize data between Epicor Prophet 21 ERP system and Magento.
- We actively participated in clarifying the requirements for integration, offered ideas for implementation.
- Taking into account vast Mule expertise, we could anticipate many potential bottlenecks, complex situations, take them into account and immediately “close” them during the development.
- The team managed to bypass all the restrictions imposed by the Community Edition version of the runtime environment and achieve all the goals.