Как происходит передача сообщений между приложениями
Передача информации между различными очередями сообщений происходит с использованием специальных каналов передачи сообщений. Каналы являются односторонними, для полноценного обмена информацией должны быть определены два канала передачи информации.
Сообщения передаются по каналам с использованием специализированного протокола передачи МСP (Message Channel Protocol). Непосредственно взаимодействие с каналом осуществляется с помощью программного продукта MCA (Message Channel Agent), реализующего все низкоуровневые функции взаимодействия. В процессе передачи менеджер очереди сообщений помещает сообщение в канал исходящих сообщений, осуществляется процесс передачи, после чего сообщение записывается во входящую очередь приложения-адресата. В ходе передачи сообщения менеджер очереди по информации, находящейся в служебной части сообщения, определяет направление передачи, и, используя специальные протоколы и таблицы маршрутизации, пересылает сообщение в соответствующую очередь. Схематически процесс передачи сообщений показан на рис. 6.19.
Рис. 6.19. Передача информации между приложениями
Так как MOM предоставляет сервис асинхронного взаимодействия, приложение-приемник не обладает информацией о факте появления сообщения, адресованного ему. Для этих целей предназначены специальные триггеры (triggers), которые контролируют появление сообщений в очереди и инициируют процесс получения сообщения приложением-приемником. При этом условием срабатывания триггера может быть не просто появление сообщения в очереди, но и соответствие сообщения заданному приоритету, поступление нескольких сообщений и пр.