Information Exchange Patterns
Salim Ismail of PubSub (in which I am in investor) writes:
There are three fundamentally important patterns of exchanging information between people, or between applications, or on a network. The first is called Messaging, which is a one-way transmission of information from A to B. Examples of this include e-mail, postal mail, text messages and so on. You address a piece of information, send it and trust the system to deliver it for you.
The second is called Request/Response. Here, we are going up one level of complexity to one question followed by one answer (A to B and back to A). Examples of this are what time is the train?, database queries, client-server architectures, etc.
The third pattern is called Publish/Subscribe. This is again one more level more complex and consists of one question, but many answers. The form of the question is tell me whenever. If I ask you Can you tell me whenever youre free, Im subscribing to a condition that may occur in the future. All alerting systems are based on publish/subscribe, including Google news alerts, eBay auction alerts and so on.