Client
Polaris is a Swiss household appliances and tableware brand that sells products through marketplaces and its own online store.
Challenge
At the time of commencement of work, the customer interacted with all marketplaces manually. Product data for each marketplace was different, and managers had to spend a lot of time filling out product cards, taking information from various sources. Our task was to set up a centralized system for managing product data and integrate it with the customer's ERP and marketplaces.
Solution
Pimcore was proposed as a system for managing product data: it will help automate the manual work of managers, ensure centralized data verification and automatic integration with marketplaces.
To create a new model for storing information, it was decided to analyze the storage structure of data on different groups of goods in the customer's ERP, compare this data with the requirements of marketplaces and company departments involved in cooperation with them. It was decided to organize the exchange of information between the systems via the ESB service bus.
First stage: analytics
During the preparation of the analytics, we identified the requirements of the customer's departments, analyzed the business, studied the existing product data storage structure, differences in the composition of attributes for different product groups, and the technical documentation of connected marketplaces.
After comparing the data obtained, we designed an information model and configured the base classes in Pimcore.
The second stage: Pimcore integration
During the preparation of the analytics, we identified the requirements of the customer's departments, analyzed the business, studied the existing product data storage structure, differences in the composition of attributes for different product groups, and the technical documentation of connected marketplaces.
We compared the requirements for each attribute and developed a product card in Pimcore so that the customer's content manager could fill in information without thinking about the different requirements of connected marketplaces.
All mapping is configured at the level of Pimcore directories. If the marketplace requirements change, this will allow you to make appropriate changes to your system as its administrator or automate updates by implementing additional microservices in the ESB circuit without wasting time and money on development.
Phase Three: WSO2 ESB Integration
We suggested using WSO2 ESB, the RabbitMQ message broker and the ELK logging system as a data service bus. In the future, these tools will enable the client to customize integrations and extend them without writing code, using the graphical interface of the software involved.
Implementation of the project architecture
On the one hand, a set of microservices has been developed that learn about creating or modifying product cards in Pimcore, take data from there for sending to marketplaces, add ERP pricing information to messages and send them to RabbitMQ, where a separate queue has been created for each marketplace. The use of queues helps to avoid overload when sending information about goods in bulk and prevents data loss in the event of a temporary inoperability of the “recipient”.
On the other hand, microservices have been implemented to transfer data to marketplaces, then monitor the status of their processing and return the unique id marketplaces to Pimcore. Logs about the operation of microservices are sent to ELK, where they are visualized in the form of diagrams.