Search code examples
javajakarta-eeejbintegrationesb

EJB or ESB for system integration using messages queue or web services approaches only


From a systems integration perspective, is it common practice to use ESB (enterprise service bus) middleware technologies over EJB for mid-to-large sized applications, or is the use of ESB middleware mainly reserved for BPM (business process management) applications?


Solution

  • In my humble opinion, ESB is not just for BPM.
    Using ESB allows you to create a distributed architecture.
    Benefits of distributed architecture are well known (for example - scalability).
    Of course, ESB is not the only solution out there to achieve this,but one of the solutions available.
    Pay attention that if you need a distributed architecture , which does not have lots of services + differentiation of protocols (i.e - usage of HTTP, JMS, and more...) you should consider another solution.
    ESB can help you when you have many services, which use different protocols (for example, imagine a component that accepts, and another component listening on JMS queue - you might need to send a message which is "logically" the same, but should be once said to the first service, and later on should be sent to the second service -
    an ESB will help you to perform this task).
    I would recommend you to read more on this subject at this blog.