Skip to main content

ESB to Decouple From the Legacy System

Context​

The system (called the legacy system) shall be migrated to a microservice-based architecture. The legacy system is a service-oriented architecture (SOA) where service communicate with each other over an enterprise service bus (ESB).

Problem​

  • A reimplementation of the whole system is not feasible due to too high risks and a too long break in return of invest.

Solution​

Use the ESB for communication between microservices as well. This uniform communication channel facilitates easy communication between the new microservices and the old SOA services. the legacy system as another microservice for the migration.

However, it requires discipline to move towards microservices and avoid falling back into the habits of SOA, like putting business logic into the ESB and, thus, introducing a central point of coupling.

This technique can facilitate the technique Gradually Replace the Legacy System. The following techniques might pose an alternative to this technique:

Maturity​

More data is required (only 1 source).

Sources of Evidence​

L25:

  • Hybrid Pattern for Service Discovery
    • combines service registry and API gateway, replaces API gateway with message bus
    • clients interact with message bus, routes requests to requested microservice
    • microservice communicate with each other over ESB (like in SOA)
    • Advantage: ease of migration from existing SOA applications => reuse ESB for comm. betw. microservices to gradually replace legacy system
    • Disadvantage: inherited from SOA
  • => ESB could re-emerge in future evolutions of microservices