E-mail was designed mainly for human-to-human interactions. The "API" is a Mail User Agent such as Eudora, Netscape Messenger, MS Outlook, etc. E-mail is typically reliable, but cannot offer the delivery guarantees required by mission critical applications. Mission critical applications often require guaranteed delivery of messages, transactional messages, and low latency. In e-mail, messages can still be lost when a mail folder has exhausted its disk quota, when a mail server is down, or when a mail server has exhausted the available disk space. In this case, the sender will receive a "failure report", and the original message is discarded by the mail system.
Still there are situations where it makes lots of sense to let applications communicate via e-mail:
- Since the applications run at two different companies, and e-mail
is the only communications protocol supported between these two companies
- Since lose-coupling is required
- Since guaranteed delivery is not required
On the other hand, MQ software (such as IBM MQSeries, TIBCO, SonicMQ, or Softwired iBus) was designed for application-to-application (as opposed to human-to-human) messaging with:
- Low latency
- High throughput
- End-to-end flow control
- And guaranteed delivery
MQ products provide an appropriate API, allowing messaging applications
to be written quickly and easily.
This was first published in July 2002