ERP and e-commerce integration scenarios, part 6. Using integration middleware

Integration middleware

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:

  1. The e-commerce system or
  2. The ERP

Let’s have a look at both scenarios in detail.

The e-commerce initiates integrations

Assume, the customer has placed an order. The e-commerce system saves it and displays a “Thank you” message. Then the e-commerce 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 e-commerce system.

To validate order details, we need to have the actual price and stock information. The e-commerce 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 e-commerce asynchronously.

Note: The event can be replaced with the Schedule trigger. For example, you can synchronize the e-commerce backend and the ERP every 5 minutes.

Benefits

  • The e-commerce system has control over resending orders without involving technical teams.
  • The visibility in the e-commerce 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.

Disadvantages

  • The e-commerce 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 e-commerce 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 e-commerce system.

Advantages

  • The same for every client and you can have multiple clients requesting different ranges of orders
  • The e-commerce 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

Disadvantages

  • ERP should keep track of the last number that was retrieved/updated
  • The integration process is invisible to e-commerce
  • 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.

Summary

In this post, we have reviewed different approaches how-to integrate e-commerce 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.
Share. Spread tech knowledge & news:

About the author of this article

Oleg Zhuk
Technical Product Owner

Oleg is a leading technologist and has grown professionally from being senior C++ and C# developer to solution architect. He joined Virto Commerce as a Solution Architect was promoted to lead Technical Product Owner. Oleg has leadership and communication skills and has had the opportunity to coach solution architects and share best practices of building great architecture. He holds a degree in mathematics from the Emmanuel Kant State University.