Rob Eamon wrote: > * Broadcaster will publish a message via an intermediary > * Some receiver, somewhere on the other side of the intermediary, will > process the message (if noone is listening, there is no integration and > nothing of meaning being done) > * Both broadcaster and receiver must agree on syntax and semantics > (shared doc definition), or (implicitly) agree to allow the intermediary > to translate as needed > * Both broadcaster and receiver have agreed to communicate with others > via the intermediary, rather than directly > > They are integrated. Just in a loosely-coupled way.
As I've said here before, I think it is vital for the originator and the final recipient of any item to have an implicit if not explicit knowledge of what should be happening with the exchanges between them. Simple problem indicators such as sequence numbers or other similar mechanisms to indicate that something got lost is vital to creating a disconnected system where some intermediary is responsible for transport. I've always used TCP/IP as the example. A broker is like a router that just nows IP. It knows who to send stuff to, but may not always be able to guarantee that it gets there (computers and disk drives can explode in balls of fire). So an application protocol that mimics TCPs stream features (ordering and uniqueness) should always be in place to make sure that you get what you expect and you know how to get something you missed. Gregg Wonderly
