Enterprise Service Busses (ESBs) offer an interesting communications layer that enables an enterprise to expose data to interested parties (i.e. applications, data-feeds, etc.) with a Publish/Subscribe model. The Pub/Sub model originated in the printed media world, utilized as a distribution model for newspapers and magazines. It has evolved with modern times into the electronic age in the form of email-subscribed newsletters, and more recently, RSS feeds such as blogs.
In the enterprise, there is a growing need to share data among systems, both internally (A2A) and externally (B2B). However, as new demands for sharing data surface, we need a way to “bolt in” the new requestors without impacting our current implementations.
ESBs commonly implement a variant of the GoF Observer Pattern. This exposes a Publication/Subscription model allowing information sources (publisher) to expose data (message) on a queue. One or more interested parties (subscriber) consume the data. The key benefit of loose coupling in a Publication/Subscription model is that the Publisher does not need to know, or care, about “who” is subscribing. The data is published and downstream subscribers use the data as they see fit.