ERP and eCommerce Integrations: Using Integration Middleware
Read previous parts
- eCommerce integration, part 1. The need for integration in enterprise e-commerce
- eCommerce integration, part 2. The real challenges of e-commerce integration
- eCommerce integration, part 3. Growing number of dependencies between apps as an integration challenge
- eCommerce integration, part 4. How Virto Commerce can help with e-commerce integration
- ERP and ecommerce integration scenarios, part 5. Overview and point-to-point integrations
When your infrastructure only has few products, peer-to-peer integration can seem like a light way to connect everything.
Unfortunately, as the company business grows, the integrations won’t stay light for long. Many organizations have learned the hard way, an infrastructure based on P2P integration quickly becomes unmanageable, brittle, and damaging to both the IT budget and the organization’s ability to meet current and changing business needs.
To avoid P2P integration disadvantages, Virto Commerce recommends using integration middleware approach.
Using middleware for integrating Virto with other applications is a good practice that is normal for enterprises and middle-size companies rather than point-to-point integrations.
Reasons are obvious:
- Security – the middleware is central governance for data security and compliance
- Cost of development – when delivering a new application or new system to the enterprise, it is easy to extend the workflow and new items into the pipeline. No development efforts and hidden integration costs.
- Unlimited capabilities – the middleware is described in open JSON-format, no-hardcoding business rules, or data-transformation. A lot of ready to use connections with databases, messaging services, data services, applications, and network protocols.
- Supportability & scalability - the middleware has out-of-the-box asynchronous processing, versioning, retry policy, error handling, monitoring, alerts, and logging.
The next important point is to define which side initiates the integration:
- The ecommerce system or
- The ERP
Let’s have a look at both scenarios in detail.
The ecommerce initiates integrations
Assume, the customer has placed an order. The ecommerce system saves it and displays a “Thank you” message. Then the ecommerce system sends an async event (For example Webhook) to trigger the Sync New Order integration middleware. The integration middleware delivers a new order to the ERP, receives the confirmation and updates the delivery status in the ecommerce system.
To validate order details, we need to have the actual price and stock information. The ecommerce application periodically triggers the integration application to load a new price and inventory. The integration application receives an updated price and inventory and delivery to the ecommerce asynchronously.
The eCommerce initiates integrations
Note: The event can be replaced with the Schedule trigger. For example, you can synchronize the ecommerce backend and the ERP every 5 minutes.
- The ecommerce system has control over resending orders without involving technical teams.
- The visibility in the ecommerce system about which order is processed.
- Data issues can be corrected by “key-users” and orders can be resent.
- Both systems work independently.
- No development needs on the ERP side.
- The ecommerce system needs to keep track of the delivery status. Interfacing with multiple ERP systems, this can be challenging.
- Firewalls and port numbers must be opened.
- Need to cater for downtime and retry-policy for the ERP.
Now both systems can work independently and asynchronously. The middleware solution can change the decision criteria without making any code changes or interrupting the flow of messages. Interfacing with multiple ERP systems can be challenging because you need to add a new step for each ERP.
ERP initiates integrations
Again, the customer has placed an order. The ecommerce system saves it, displays a “Thank you” message. Async event can be sent to the ERP for information. Everything looks the same as in the previous scenario.
The ERP initiates the synchronization process based on its own business rules, resource utilization, etc. Do call the integration middleware.
The military “Fire-and-forget” principle for the modern weapon is a good example of how ERP can send new prices or inventory. Update price and inventory processes are initiated from ERP and asynchronous. Integration middleware is responsible to deliver the update to an ecommerce system.
ERP initiates integrations
- The same for every client and you can have multiple clients requesting different ranges of orders
- The ecommerce system is passive
- ERPs can pull data instead of getting data pushed. This does not require firewalls to be opened
- “Fire and forget” integration process is async and scalable
- ERP should keep track of the last number that was retrieved/updated
- The integration process is invisible to ecommerce
- ERP availability should be controlled by the IT staff
- Custom development needed in ERP
Now both systems can work independently and asynchronously. The middleware solution can change the decision criteria without making any code changes or interrupting the flow of messages. But ERP works as a primary trigger for all operations. The development effort is required on the ERP side and custom logic to track the last number for update orders, price and inventory.
In this post, we have reviewed different approaches how-to integrate ecommerce solutions and ERP.
- Point-to-point integrations are useful for A/B tests and demo.
- For other integrations, Virto Commerce recommends using integration middleware, like Azure Logic App, Dell Boomi, etc. If you have a limited count of ERP, focus on the passive mode for ERP and trigger integration actions from the e-commerce application. If you plan to have integrations with multiple ERPs, focus on the ERP initiated scenarios.