Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java JMS.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.02 Mб
Скачать

ЛабораторнаЯ рАбота 4

ЛабораторнаЯ рАбота 5 Создание корпоративной информационной системы на основе Java jms

Цель работы - получение практических навыков создания корпоративной информа­ци­онной системы (КИС) на основе Java JMS, а именно:

  • изучение вариантов взаимодействия удаленных объектов Java с исполь­зованием JMS;

  • изучение компонентов JMS, необходимых для функционирования распределенных при­ложений Java;

  • разработка распределенного Java-приложения с использованием JMS для функцио­нирова­ния в сетевом режиме;

  • анализ достоинств и недостатков JMS по сравнению с другими технологиями расп­реде­ленного взаимодействия приложений.

1 Теоретическое введение

1.1 Архитектура jms-базированной кис

Java Messaging System (JMS) представляет собой универсальный интерфейс обобщенного Java API для корпоративных приложений (КИС), ори­енти­рованных на работу с помощью сообщений (message-oriented application programming) с целью обеспечения их независимости от конкретных реализаций служб обработки сообщений. В настоящее время спецификация JMS - это промышленный стандарт для обработки сообщений в масштабе предприятия.

Корпоративная информационная система типа MOM (Мessage Oriented Middleware) (рисунок 1), обеспечивает так называемое «слабое связывание» приложений-поставщиков (Producers) с приложениями-потребителями (Consumers) посредством передачи сообщений (Messages) c помощью фабрик соединений (Connection Factories – CF).

Рисунок 1 – КИС типа МОМ

Архитектура JMS-базированной КИС выглядит следующим образом (рисунок 2):

Рисунок 1

  • JMS-клиент (JMS client) - прикладная программа Java, использующая JMS для от­правки и приёма сообщений;

  • JMS-поставщи­к (message producer) - JMS-клиент, посылающий сооб­щение;

  • JMS-потребитель (message consu­mer) - JMS-клиент, принимающий сообще­ние1;

  • не JMS-клиент - программа, не имеющая отношения к JMS, однако являющиеся не­отъемлемой частью JMS-проекта КИС;

  • JMS-провайдер (JMS provider) - система обработки сообщений, управляющая маршрутизацией и доставкой сообщений;

  • JMS-приложение (JMS application) - прикладная программная система, состоящая из нескольких JMS-клиентов, и, как правило, одного JMS-провайдера;

  • JMS-сообщение (JMS message) - объект, передаваемый и принимаемый JMS-клиен­тами;

  • управляемые объекты JMS (administered objects) - буферы для хранения JMS-сообщений;

  • средства администрирования JMS (administrative tools) - средства управления ресурсами, которые ис­пользующимися JMS клиентами.

  • JMS-сессия (JMS Session) - однопоточный контекст для отсылки и получения JMS-­сообщений. JMS сессия может быть нетранзакционной, с поддержкой локальных транзакций, или участвовать в распределенных транзакциях;

  • Расположение (destination) – объект, который используется клиентом либо для определе­ния адреса доставки сообщения, либо для получения сообщений, доставленных по определенному адресу.

  • Соединение (Connection) - соединение с JMS-провайдером;

  • Фабрика соединения (Connection Factory - CF) - администрируемый объект, используемый для создания соединения.

  • Java Naming and Directory Interface (JNDI) - Java API, организованный в виде службы каталогов и позволяющий Java-клиентам открывать и просматривать данные и объекты по их именам (рисунок 2).

Рисунок 2

JMS определяет инфраструктуру компонентов, позволяющую разработчикам создавать автоматизированные, интеллектуальные решения, - для сетевого управления в быстро меня­ю­щихся ситуациях. JMS определяет трехуровневую архитектуру: уровень сетевых ресурсов, уровень агентов и уровень управления (рисунок 3).

Рисунок 3

Уровень сетевых устройств делает объект управляемым. Уровень агентов предостав­ляет управляющие сервисы, делающие ресурсы доступными для управления. Наконец, уровень управления дает возможность управляющему приложению осуществлять доступ к уп­равляемым ресурсам и взаимодействовать с ними через JMS-агентов. Кроме того, JMS обес­печивает поддержку существующих протоколов сетевого управления, например, SNMP, так что JMS позволяет осуществлять интеграцию КИС с существующими системами сетевого управ­ления.

Модель обмена сообщениями JMS удобно использовать в том случае, если распределен­ное приложение КИС обладает следующими характеристиками:

  • взаимодействие между компонентами КИС является асинхронным;

  • информация (сообщение) должна передаваться нескольким или даже всем компонен­там КИС (семантика передачи «от одного ко многим»);

  • передаваемая информация используется внешними системами, часть из кото­рых неизвестна на момент проектирования КИС или интерфейсы которых подвер­жены частым изменениям2;

  • обменивающиеся информацией (сообщениями) компоненты КИС выполняются в разное время, что требует наличия посредника для промежуточного хранения переданной ин­фор­мации.

Стандартные интерфейсы JMS доступны в пакете javax.jms, который входит в ком­плект jdk. Реализация JMS от корпорации Oracle находится в пакете oracle.jms. Посколь­ку JMS является лишь интерфейсной оболочкой, описывающей доступные для приложения методы, то для разработки и тестирования КИС нужна конкретная реализация ин­тер­фейсов JMS, называемая JMS-провайдером. Провайдеры JMS создаются независимы­ми производи­те­ля­ми, и в настоящее время существует несколько таких реализаций (далее рассматривается ре­а­лизация, включенная в состав Java2 Enterprise Edition и Oracle GlassFish Server).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]