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