Большие приложения содержат множество объектов, которые так или иначе связаны друг с другом. Существуют прямые соединения, когда один объект каким-то образом получает дескриптор к другому объекту (например, используя singleton) и вызывает его методы. Существуют функции уровня или делегирования уровня интерфейса. Существует агрегация, в которой некоторые объекты являются дочерними по отношению к родительскому объекту, который вызывает дочерние методы и т. Д. И т. Д.
Одной из расширенных декомпозиций в архитектуре программного обеспечения является шина сообщений, в которой объекты регистрируются каким-либо одноэлементным провайдером «шины сообщений» и отправляют сообщения, используя его. Любой объект может отправить любое сообщение через шину сообщений, и объекты, которые подписаны на это сообщение, получат его.
Какой правильный термин для такой архитектуры? У меня есть несколько кандидатов, но они кажутся не очень хорошими:
Шина сообщений : Я говорю об одном и том же, но для связи между различными приложениями, а не между частями одного приложения.
OSGI : используется для связи между частями приложения, но основное внимание уделяется динамической загрузке, запуску и остановке таких частей, управлению версиями и т. Д.
Промежуточное программное обеспечение : Подобно «шине сообщений», этот термин описывает архитектурное решение для связи между приложениями с упором на связь между различными физическими
компьютеры через сеть.
Кто-нибудь знает хороший термин, который определяет архитектуру, которую я описал выше? Поэтому, если я введу его в Google, я получу релевантные результаты, а не что-то вроде «купите наше промежуточное ПО для интеграции ваших бизнес-приложений!» :.)