To ESB or not to ESB?
I've recently designed a system for the health and wellness platform. This was a brand new project, completely based on open source Java technologies. As architects/designers we usually ask ourselves questions before deciding on particular approaches or technologies. I answered my first question, "Should I use SOA?", with a very quick and profound "YES". I was struggling a bit with the second question: "Should I use ESB?”
Initially I thought it would make the design unnecessarily complex. Fortunately, I decided to go ahead with ESB and very happy about my decision. I actually designed two service invocation implementations. One through JBoss ESB, using either asynchronous or synchronous (via TwoWayCourier) invocation, depending on business requirements. Another using what I called PojoEsb, which provided invocation without actually going through ESB. This allowed us to route service requests to appropriate service invoker based on desired performance/response time and specific business rules.
It's really easy to implement JBoss ESB and it is worth a bit of extra design effort if you're thinking of implementing SOA in your organization. Once it is in place, it saves developers time coding messaging, integration and service related logic.


<< Home