Службы очереди сообщений
Службы очереди сообщений (Microsoft Message Queuing Services, MSMQ) — сервис, входящий в стандартную поставку Windows Server 2003.
С помощью MSMQ приложения, работающие в разное время, могут связываться через разнородные сети и системы, способные временно работать автономно. Приложения посылают сообщения MSMQ и используют очереди MSMQ — это позволяет быть уверенным, что сообщение рано или поздно достигнет адресата. MSMQ обеспечивает гарантированную доставку сообщений, интеллектуальную маршрутизацию, защиту и передачу сообщений, основанную на приоритетах.
При помощи MSMQ конечные пользователи могут связываться через автономные сети и системы, вне зависимости от текущего состояния поддерживающих связь приложений и систем. При помощи MSMQ разработчики могут сосредоточиться на программировании бизнес-логики, а не решать проблемы работы с сетями, поскольку MSMQ обеспечивает гарантированную доставку. Администраторы систем при помощи MSMQ могут эффективно управлять большими, сложными сетями очередей сообщений.
Программные продукты с такими возможностями часто называют программным обеспечением поддержки очередей сообщений, программным обеспечением с промежуточным накоплением или средствами среднего уровня, ориентированными на сообщения (MOM, Message-Oriented Middleware).
Особенности и возможности службы MSMQ перечислены ниже.
Интеграция со службами Windows Server 2003. Поддерживается служба Active Directory, в которой хранятся отдельные объекты MSMQ. Клиенты MSMQ могут напрямую обращаться к каталогу для получения необходимой информации (используя протокол LDAP).
Доставка сообщений по HTTP. В рамках MSMQ 3.0 реализован новый протокол (основанный на XML-сообщениях), позволяющий осуществлять доставку сообщений при помощи протокола HTTP.
Триггеры. Триггеры представляют собой механизм, посредством которого факт прибытия сообщения в некоторую очередь может быть ассоциирован с некоторой ответной реакцией. Эта реакция может зависеть от содержимого сообщения.
Отправка сообщения множеству получателей. Одно сообщение может быть адресовано нескольким получателям. Перечень получателей сообщения может быть определен в рамках объекта каталога, ассоциированного со списком рассылки (distribution list). Доставка сообщений нескольким получателям реализуется при этом на низком уровне. В частности могут быть задействованы механизмы группового вещания.
Поддержка рабочих групп. Механизм MSMQ может быть развернут в рамках рабочей группы (т. е. без образования домена).
Гарантированная доставка. Сообщения помещаются в хранящуюся на диске очередь, что обеспечивает гарантированную доставку сообщений.
Поддержка приоритетов трафика. Приоритеты сообщений позволяют срочному или важному трафику вытеснять менее важный, что гарантирует адекватное время ответа критическим приложениям за счет менее важных приложений.
Транзакции. Имеется возможность использования транзакций MSMQ, т. е. можно объединить несколько действий MSMQ в транзакцию и обеспечить гарантированную доставку сообщений, а также то, что они будут доставлены не более одного раза или что доставленные сообщения будут успешно извлечены из очереди адресатом.
Динамические очереди. Администраторы могут изменять свойства очередей без воздействия на приложения передачи сообщений.
Маршрутизация. MSMQ поддерживает интеллектуальную маршрутизацию, которая основана на физической топологии сети, группировке сеансов и на обеспечении транспортной связности. Группировка сеансов облегчает эффективное использование медленных линий.
Широкая интеграция систем. Приложения MSMQ могут выполняться на целом ряде аппаратных платформ, выпускаемых сторонними производителями.
Безопасность. MSMQ поддерживает механизмы безопасности: управление доступом, аудит, шифрование и аутентификацию. Управление доступом реализовано с применением системы безопасности Windows Server 2003 и цифровых подписей. Аудит реализован при помощи службы регистрации событий Windows Server 2003. Шифрование и аутентификация (использование цифровых подписей) обеспечиваются при помощи механизмов открытых и закрытых ключей.
Прикладной интерфейс MSMQ позволяет разрабатывать приложения MSMQ на языке С или C++. MSMQ также включает элементы управления СОМ, которые можно применять для создания приложений MSMQ в Microsoft Visual Java (VJ), Visual Basic (VB) или любых других приложений-контейнеров СОМ (например, Microsoft Access или Borland/Inprise Delphi). При помощи Microsoft ASP и Microsoft IIS можно интегрировать MSMQ-приложение с веб-страницами и формами, содержащими элементы управления СОМ. При помощи MAPI Transport Provider и Exchange Connector можно интегрировать приложение MSY1Q с формами Exchange и клиентами MAPI. Транспорт MSMQ RPC можно применять для создания надежных приложений, использующих вызовы RPC.
Содержание раздела