1312755596|%e %B %Y, %H:%M
Tags messaging
This is the 3rd in the series of messaging - related articles.
Build a Logical Message Bus
The messaging infrastructure supports the creation of a messaging topology and provides messaging – level services (guaranteed delivery, messaging resilience, WAN bridging etc). However, there is still a significant functional gap between that and the application domain-level code that developers and the business wish to spend most attention on.
A shared common layer can be built that abstracts the messaging infrastructure from Service Component application code, and provides further services:
- Topology configuration (e.g. converting message topology configuration into behaviour and state).
- Topic building (e.g. using a Builder Pattern implementation)
- Component resiliency (warm standby, round - robin)
- Inter-component heartbeating
- Test injection / mocking for unit testing
- Message performance monitoring
- Presents a messaging API to application code that abstracts the implementation of the messaging layer, allowing possibility of heterogeneous messaging architectures to be utilized to extract maximum performance.
- Implements the messaging-level protocol(s) used for message creation and bundling (the actual wire byte protocol would be determined by the messaging infrastructure itself).
- Provides a common point of control for messaging functionality across all components.
The combination of these services effectively creates a logical message bus (although the underlying messaging topology may be one or more of many different types and implementations, and not formally recognized as a “bus” at all).
This shared code becomes a critical part of meeting the System’s performance objectives, and, as such, requires the oversight of senior technical development personnel in its design and development.