This lists the impact on NFRs of the Message Bus solution pattern:
NFRs |
Description |
Availability |
On the whole, the availability of the core application is improved due to the Message Bus architecture. If the peripheral application fails, the core application can continue to function. |
Performance |
Overall system performance is potentially improved. The performance of the applications will also be improved if they are hosted on their own dedicated hardware rather than sharing with the core application. |
Scalability |
The scalability of the overall system is largely unaltered, but the separation of extraordinary functionality allows it to be scaled independently from the core system elements. |
Security |
As it introduces more and different elements into the system, can make security more of a challenge. However, by separating these elements security can be individually tailored. |
Manageability |
Manageability of the functionality is improved because each specialist application can be managed appropriately. However, manageability of the system as a whole is negatively impacted because different management procedures and techniques have to be introduced for each application. |
Maintainability |
The use of a Message Bus improves the maintainability of the system as any problem with the specialist functionality is isolated in its own application. |
Flexibility |
Message Bus frequently delivers additional, non-core, functionality in a flexible manner and hence additional applications can be plugged into the architecture |
Portability |
Portability is largely not affected when we consider the Message Bus and the bespoke applications. Unless we choose to implement them in different technologies, porting the core Message Bus and business application is likely to be as easy or as difficult as porting one application with both core and specialist functionality. |
Cost |
Choosing the specialist behavior like this will increase our costs: we will increase the number of hardware servers, and we have increased our maintainability problem (a primary source of ongoing cost). |