An enterprise contains several existing systems that must be able to share data and operate in a unified manner in response to a set of common business requests.
What is an architecture that enables separate applications to work together, but in a decoupled fashion such that applications can be easily added or removed without affecting the others?
Structure the connecting middleware between these applications as a Message Bus that enables them to work together using messaging.
A Message Bus is a combination of a common data model, a common command set, and a messaging infrastructure to allow different systems to communicate through a shared set of interfaces. This is analogous to a communications bus in a computer system, which serves as the focal point for communication between the CPU, main memory, and peripherals. Just as in the hardware analogy, there are a number of pieces that come together to form the message bus:
... Read the entire pattern in the book Enterprise Integration Patterns
Related patterns: Canonical Data Model, Channel Adapter, Command Message, Datatype Channel, Message Router, Service Activator, Publish-Subscribe Channel
You can reuse the following elements under the Creative Commons Attribution license: pattern icon, pattern name, problem and solution statements (in bold), and the sketch. Other portions are protected by copyright.
Enterprise Integration Patterns
The classic, as relevant as ever. Over 90,000 copies sold.
The Software Architect Elevator
Learn how architects can play a critical role in IT transformation by applying their technical, communication, and organizational skills.
Fill the large gap between high-level goals and product details by understanding decision trade-offs.