The publish/subscribe approach to data delivery/dissemination is a powerful one. I won’t go into any descriptive detail about what pub/sub is here (we can do that separately if needed for folks not familiar with the concept).
Rather, I’m interested in learning what other people’s views are regarding when to use a pub/sub approach in an integration.
My intent isn’t to focus on the differences between ES and IS, but rather explore the “value-add” of pub/sub itself. For sake of discussion, let’s assume that IS itself has a pub/sub facility, and thereby avoid product comparisons.
What are the guidelines and rules-of-thumb for the “appropriate” application of a pub/sub solution?
- Based on volume?
- Based on within the firewall and outside the firewall?
- Based on number of potential subscribers and the stability of the subscriber list?
- Based on the nature of the process being automated?
Pub/sub is a great decoupling mechanism. I contend, however, that there are a number of common practices that defeat this decoupling. Request/reply is one of them. Not using canonical docs is another. Publishers tracking the progress of subscribers is yet another. I further contend that most integrations based on pub/sub do not need to use pub/sub–but do so simply because that’s how the tool they used works.
What business processes fit the pub/sub model? Which don’t?
Please share your two-bits.