Реализация различных моделей взаимодействия приложений с использованием MQ
Использование MQ позволяет реализовать различные типы коммуникаций. Некоторые из них описаны ниже.
Асинхронное взаимодействие приложений. Такой способ коммуникации приложений является стандартным при использовании MQ. Приложение осуществляет отправку информации и, не дожидаясь получения подтверждения, продолжает выполнять те или иные действия. Основным преимуществом асинхронного взаимодействия является независимость приложений друг от друга. Типичными примерами асинхронного взаимодействия являются выдача заявок на обработку информации, внесение не требующей подтверждения информации в базу данных и пр.
Синхронное взаимодействие приложений. Несмотря на то, что MQ является представителем технологии MOM, которая реализует асинхронное взаимодействие, возможно и применение синхронных механизмов взаимодействия. Для этого после отправки сообщения приложению-адресату приложение-источник переходит в режим ожидания сообщения специального типа - <сообщения в ответ>, которое формируется в том случае, если передача исходного сообщения была успешно выполнена. Получив <сообщение в ответ>, приложение-источник продолжает свою работу. Сам процесс отслеживания факта появления сообщений в очереди приложения реализуется с помощью механизмов триггеров, срабатывающих при появлении сообщения в очереди.
Взаимодействие с запуском программ. При реализации данного типа взаимодействия факт получения сообщения для приложения-приемника является признаком начала периода активности. По окончании обработки полученного сообщения приложение снова переходит в режим off-line. Необходимо отметить, что данная функциональность доступна не на всех программно-аппаратных платформах.
Параллельная обработка информации. Данный тип взаимодействия подразумевает распределение процесса обработки информации между различными приложениями приложением-инициатором. Процесс начинается с рассылки сообщений приложениям-обработчикам; выполнив свои задачи, они пересылают результаты обработки в адрес приложения-инициатора. Применение механизмов очередей сообщений позволяет оптимальным образом использовать ресурсы приложений- обработчиков.
Кроме описанных выше, возможна реализация и других способов взаимодействия приложения с использованием MQ. Выбор способа взаимодействия осуществляется проектировщиком системы.