Enterprise Service Bus (ESB) is by definition required to provide universal connectivity to many different systems that the enterprise needs to connect together. Therefore many ESB vendors provide extensive library of connectors for their products. In this article I will compare adapters and protocols supported by latest versions (as of this writing) of ESB products sold by IBM and Oracle:
- IBM WebSphere Message Broker v22.214.171.124
- Oracle Service Bus 11g (126.96.36.199)
Such comparison needs to be done at the technical level (i.e. what? and how?) and also at the financial level (how much?). I researched public information for both vendors using their websites, documentation and google (duh) and came up with a list of adapters and protocols as well as the cost of those connectors. Before I show you the actual comparison, let me make general observations and conclusions from my comparison:
- IBM provides more diverse set of adapters and protocols compared to Oracle offering.
- IBM tends to include adapters for free, while Oracle charges for adapters based on per core basis.
- Both IBM and Oracle provide additional for a fee industry specific protocols to extend their ESB offerings.
- Both IBM and Oracle provide toolkit so that users can build custom adapters.
- The list below only represents adapters and connectors officially supported by IBM or Oracle respectively, but you can find additional implementations on the internet (supported by community).
- In this article I do not have time nor space to evaluate the quality of each adapter and connector, but I think the quality trumps quantity. For some adapters that I have evaluated in the lab environment I found quality of IBM adapters to be significantly higher than Oracle’s (for example File adapter, Database Adapter, FTP, WebSphere MQ – more on this later in the article).
Once again, I think quality is a major consideration and I can’t say that enough. Before you make a decision one way or the other, I highly recommend that you actually test the product in the lab environment and validate ease of use, security, performance and other characteristics. For example, I have seen dramatic performance differences between WMB and OSB in the order of magnitude with file and database adapters (WMB being faster, of course). I believe part of the WMB performance advantage comes from the fact that unlike OSB, it does not force payloads to be converted into XML on the input and then back from XML to whatever format on the output from the message flow (proxy in OSB terms). Buyer beware!
* – included free of charge with WMB Advanced v8
** – these are JCA adapters and can be used in WAS
In addition to the adapters and protocols mentioned above, there are additional industry specific pre-built flows, message formats and specialized adapters that are provided with WMB and OSB (not all of them are included above). These pre-built components are designed to simplify development and thus shorten implementation time:
Ease of use and small footprint are important considerations. Especially if you are building integration layer as part of your private or public cloud environment or doing multi tenancy and need to be able to add and remove instances of ESB quickly. I have measured the speed of installation for WMQ and WMB and as you can see from this video even using interactive method on my laptop I was able to fully install WMQ in 43 seconds and WMB in 1min 44 seconds. Using silent script to install these products and removing local install of MQ Explorer will reduce this time down to under 2 minutes total. Startup times for WMQ and WMB on my laptop are under 10 seconds. How long do you think it takes to install Oracle Service Bus and all of its prerequisites? (hint – hours). How long does it take to start and stop? (hint – minutes). Oracle license agreement does not allow me to publish these numbers in the public domain without Oracle’s written permission, but you can try installing OSB yourself and will probably see orders of magnitude difference:
I mentioned above that the quality of adapters and provided features provided by IBM and Oracle is not the same. Lets consider WebSphere MQ adapter as an example. As you can see from the table below IBM WMB provides much stronger integration with WMQ (as expected) by providing support for latest versions of WMQ, better performance, management and lower cost as WMQ is included with WMB at no extra charge (so long as messages are consumed or produced via Broker):
Lets take a look at other adapters and consider transaction control capabilities of those adapters. While both WMB and OSB allow one to connect to remote systems, there is a difference between the two products in their ability to coordinate distributed transactions. This is a very common pattern for ESB – get message from the queue, update certain database, perhaps update another database and send message via another queue, perhaps even update CICS or IMS too. Ability to coordinate distributed 2 phase commit (2PC or XA) transactions is key for ESB product. WebSphere Message Broker shines in this area as you can see from the table below:
Performance is another critical consideration for an ESB. IBM performance team publishes detailed performance reports for WebSphere MQ and WebSphere Message Broker (all found on Support Packs page).
Here is an example of such report for WMB v8 on Linux x86. I have not seen any public performance data for Oracle Service Bus, nor tuning recommendations for specific platforms and protocols. The following table shows the message rates that were obtained for the different use cases when running on a IBM xSeries x3690 X5 with 2 x Deca-Core Intel Xeon E7-2860 2.27GHz processors:
I would love to share with you performance of Oracle Service Bus for the above workloads, but Oracle license agreement requires me to get their written permission to publish OSB results and given the performance difference between WMB and OSB, I do not think I will get such permission any time soon .
See related articles: