Distribution/Decentralization/Scalability - applications can be distributed across multiple machines
Changeability - applications can be modified quickly, easily and safely because of highly granular structure
Progressive Development - enables enhancements to be produced in tight, iterative cycles that quickly deliver business value.
Flexibility - applications can be re-factored, including architectural changes, with minimal time impact and without major disruption to the application
Extensibility - application can be easily to meet specific business needs
Integration - allows for a standard mechanism for integrating multiple systems within (and even outside) an organization
There are two players in a message-based system. Message Producers and Message Subscribers.
Message Producers put messages into the system.
Message Subscribers perform actions on these messages.
As an example, Dovetail Carrier can listen to an email account, and when a new email is received, it can produce a new message.
Dovetail Carrier contains message processors that subscribe to these messages and do something interesting with them, such as creating a new case or dialogue within the CRM system.