| Службы очереди сообщений
Службы очереди сообщений (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. |