logo
[КОМП СИСТЕМЫ] / KS1

Jms. Архитектура jms

JMS (Java Message Service) – Java-технология создания распределенных приложений, основанная на обмене сообщений. JMS – “старая’ технология (1998 г.). В настоящее время пакет javax.jms входит в состав последних версий jdk.

Всякая реализация этой технологии называется поставщиком JMS (provider JMS). В настоящее время программные реализации созданы рядом независимых производителей. Наиболее популярными JMS от Sun, MQService от IBM, JMS WebLogic от Bea. B общем виде архитектура JMS выглядит так:

Прикладные программы использующие JMS называются клиентами JMS (JMS-Client). Система обработки сообщений управляющая маршрутизацией и доставкой сообщений называется JMS-provider (JMS-провайдер). Средства администрирования (Administrative tool) средства управления ресурсами используемые клиентами. JNDI (Java Naming and Directory Interface) это система Java именования и поиска объекта на основе класса NameContext, в JNDI NameSpace – пространство имен.

JMS – поддерживает две модели сообщений – “издание-подписка” и “точка-точка” (“Publish-Subseribe”, “Point-to-Point”). В зависимости от реализации системы, любая из этих моделей может обеспечивать синхронный или асинхронный обмен сообщениями.

Модель “точка-точка” предполагает отправку сообщений все получателям по одиночке.

Сообщения отправляется в очередь. В очереди они обрабатываются: “первый зашел – первый вышел” (FIFO), т.е. адреса получает сообщения в том порядке в котором они были отправлены.

В тоже время в модели “издание-подписка”сообщения могут быть отправлены нескольким получателям.

Сообщения публикуются в определенной теме. В каждой теме могут публиковаться несколько сообщений. Клиентское приложение, желающее получить сообщения должно сначала подписаться на него. Подписаться на определенную тему сообщения могут несколько клиентов. Все они получают копии всех сообщений данной темы. Обычно в момент публикации сообщений в системе должен быть хотя бы один получатель. Если получатель не подключен к сети, сообщения уничтожаются. Такая подписка называется недолговечной. Имеется долговременная подписка, когда получатель может использовать все накопившееся за его отсутствие по данной теме. Долговременная подписка требует большого количества ресурса.

25