Standards and Protocols
Historically, Message Queuing has used proprietary, closed protocols, restricting the ability for different operating systems or programming languages to interact in a heterogenous set of environments.
An early attempt to make Message Queuing more ubiquitous was Sun Microsystem's JMS specification, which provided a Java only abstraction of a client API. This allowed java developers to switch between providers of Message Queuing in a fashion similar to that of developers using SQL databases. In practice, given the diversity of Message Queuing techniques and scenarios, this wasn't always as practical as it could be.
More recently, three standards have emerged which address making Message Queuing open and ubiquitous:
- Advanced Message Queuing Protocol
- MQTT
- Streaming Text Oriented Messaging Protocol
All of these are at different stages of standardisation and adoption. All of them operate at the same level as HTTP.
Some proprietary implementations also use HTTP to provide Message Queuing by some implementations, such as Amazon's SQS. This is because it is always possible to layer asynchronous behaviour (which is what is required for Message Queuing) over a synchronous protocol using request-response semantics. However, such implementations are constrained by the underlying protocol in this case and may not be able to offer the full fidelity or set of options required in message passing above.
Read more about this topic: Message Queue
Famous quotes containing the word standards:
“Today so much rebellion is aimless and demoralizing precisely because children have no values to challenge. Teenage rebellion is a testing process in which young people try out various values in order to make them their own. But during those years of trial, error, embarrassment, a child needs family standards to fall back on, reliable habits of thought and feeling that provide security and protection.”
—Neil Kurshan (20th century)