Архитектура, основанная на шине сообщений
Основанная на шине сообщений архитектура описывает принцип использования программной
системы, которая может принимать и отправлять сообщения по одному или более каналам
связи, обеспечивая, таким образом, приложениям возможность взаимодействия без
необходимости знания конкретных деталей друг о друге. Это стиль проектирования, в котором
взаимодействия между приложениями осуществляются путем передачи (обычно
асинхронной) сообщений через общую шину. В типовых реализациях архитектуры, основанной
на шине сообщений, используется либо маршрутизатор сообщений, либо шаблон
Publish/Subscribe (Публикация/Подписка) и система обмена сообщениями, такая как Message
Queuing (Очередь сообщений). Многие реализации состоят из отдельных приложений, обмен
данными между которыми осуществляется путем отправки и приема сообщений по общим
схемам и инфраструктуре. Шина сообщений обеспечивает возможность обрабатывать:
Основанное на сообщениях взаимодействие. Все взаимодействие между
приложениями основывается на сообщениях, использующих известные схемы.
Сложную логику обработки. Сложные операции могут выполняться как часть
многошагового процесса путем сочетания ряда меньших операций, каждая из которых
поддерживает определенные задачи.
Изменения логики обработки. Взаимодействие с шиной реализуется по общим схемам
и с применением обычных команд, что обеспечивает возможность вставки или
удаления приложений на шине для изменения используемой для обработки
сообщений логики.
Интеграцию с разными инфраструктурами. Использование модели связи посредством
сообщений, основанной на общих стандартах, позволяет взаимодействовать с
приложениями, разработанными для разных инфраструктур, таких как Microsoft .NET и
Java.
Шины сообщений используются для обеспечения сложных правил обработки уже в течение
многих лет. Такой дизайн обеспечивает подключаемую архитектуру, которая позволяет
вводить приложения в процесс или улучшать масштабируемость, подключая к шине несколько
экземпляров одного и того же приложения. К разновидностям шины сообщений относятся:
Сервисная шина предприятия (Enterprise Service Bus, ESB). ESB основывается на шине
сообщений и использует сервисы для обмена данными между шиной и компонентами,
подключенными к шине. Обычно ESB обеспечивает сервисы для преобразования
одного формата в другой, обеспечивая возможность связи между клиентами,
использующими несовместимые форматы сообщений.
Шина Интернет-сервисов (Internet Service Bus, ISB). Подобна сервисной шине
предприятия, но приложения размещаются не в сети предприятия, а в облаке.
Основная идея ISB – использование Унифицированных идентификаторов ресурсов
(Uniform Resource Identifiers, URIs) и политик, управляющих логикой маршрутизации
через приложения и сервисы в облаке.
К основным преимуществам архитектуры, основанной на шине сообщений, относятся: