I'd expect that more than 90% of the source code would be identical, for each of these JMS client libraries. Hence I would create a "facade" interface as an abstraction of the underlying messaging implementation (TIB, MQSeries, etc.). The JMS classes (Session, Destination, Message, etc.) would then be written against this portability API. Finally, an "adaptor" needs to be written for each particular messaging product. The adaptor implements the portability API atop the vendor proprietary MOM API (TIB, MQSeries, etc.). The adaptors I would keep separate from each other.
Dig Deeper on Topics Archive
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.