Aivolution is an early adopter of a document-centric, message bus driven approach to integrate software islands into Enterprise Applications.
In contrast with many existing systems that enforce detailed and strict interfaces between subsystems, we design our systems to be message centric, with a uniform, messaging oriented interface between components.
Subsystems connected to the message bus have a tightly focused set of responsibilities, but are otherwise very independent. By adopting XML for the message format, a great degree of flexibility can be afforded. Any service connected to the message bus that understands at least some aspect of the message format that travels on the message bus, and has knowledge of the topics of conversation, can participate.
Furthermore, by adopting a predominantly asynchronous, send-and-forget messaging protocol, the systems we develop naturally lend themselves to load balancing and are generally more tolerant to network and component failures. It is easy to add additional servers to handle increased network load, and it is easy to accommodate new external interfaces to the system by translating the external native protocol to the internal XML message format.