Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
сит.docx
Скачиваний:
10
Добавлен:
26.09.2019
Размер:
353.03 Кб
Скачать
  1. Компоненты ejb, управляемые сообщениями. Обмен сообщениями с помощью java Message Service (jms) .

JMS - это стандарт обмена сообщениями, который позволяет компонентам приложения J2EE создавать, посылать, получать и читать сообщения. Он допускает распределенные коммуникации со свободным соединением, надежные и асинхронные.

Бин, управляемый сообщениями, - корпоративный бин, который позволяет приложениям J2EE асинхронно обрабатывать сообщения. Он действует, как слушатель сообщений JMS, который подобен слушателю событий, за исключением того, что вместо событий, он принимает сообщения. Сообщения могут отправляться любым компонентом J2EE - клиентским приложением, другим корпоративным бином или Web-компонентом - или при помощи приложения JMS или системы, которая не использует технологию J2EE.

В Messaging System приложения общаются не напрямую, а посредством MOM (промежуточного программного обеспечения). Если один компонент системы хочет послать сообщение другому компоненту, он посылает данное сообщение MOM, а уж MOM затем пересылает его адресату. MOM реализует асинхронность обмена сообщениями.

Самым очевидным различием между бинами, управляемыми сообщениями, и бинами сеанса и бинами сущности является то, что клиенты не обращаются к бинам, управляемым сообщениями, через интерфейсы. В отличие от бинов сеанса и бинов сущностей, бины, управляемые сообщениями, имеют только класс бина.

Экземпляры бинов, управляемых сообщениями, не сохраняют данных или диалоговых состояний конкретного клиента.

Все экземпляры бина, управляемого сообщениями, эквивалентны, что позволяет контейнеру EJB назначать сообщение любому экземпляру бина, управляемого сообщениями. Контейнер может объединять эти экземпляры, что позволяет обрабатывать потоки сообщений параллельно.

Один бин, управляемый сообщениями, может обрабатывать сообщения от многих клиентов.

Когда поступает сообщение, контейнер вызывает метод onMessage для обработки сообщения. Метод onMessage обычно выявляет, к какому из пяти типов JMS-сообщений относится данное, и обрабатывает его в соответствии с бизнес-логикой приложения. Метод onMessage может вызвать вспомогательные методы или может вызвать бин сеанса или бин сущности, чтобы обработать информацию в сообщении или сохранить ее в базе данных.

Использование асинхронных сообщений делает возможным разработку слабо связанных систем (или приложений). Эти системы более эластичны в случае сбоев и легко расширяемы по мере появления новых приложений. В добавок к этому, сервис сообщений является эффективным средством обмена запросами между приложениями.

Java Message Service (JMS) предоставляет службы асинхронных сообщений для разработчиков приложений на Java.

Интеграция JMS и EJB позволяет корпоративным компонентам (enterprise beans) эффективно участвовать в работе слабо связанных систем. Посредством такой интеграции корпоративные компоненты, управляемые сообщениями, могут получать JMS-инструкции и действовать согласно им, без привлечения (или даже существования) клиента пользовательского интерфейса. Эта новая возможность делает EJB превосходным средством для разработки распределенных бизнес-служб. Кроме того, любой из EJB-компонентов может отправлять асинхронные сообщения через JMS API (прикладной программный интерфейс JMS).

  1. Message-Oriented Middleware , преимущества и модель использования таких средств, JMS .

Messaging System– это распределенная система, основанная на асинхронном обмене сообщениями(messages) между компонентами системы. В Messaging System приложения общаются не напрямую, а посредством MOM(промежуточного программного обеспечения). Если один компонент системы хочет послать сообщение другому компоненту, он посылает данное сообщение MOM, а уж MOM затем пересылает его адресату.

MOM реализует асинхронность обена сообщениями, что позволяет избавиться от недостатков предыдущих систем, в частности синхронных. Перечислим указанные преимущества МОМ:

  • Приложение, пославшее сообщение, не должно ждать ответа, и может продолжать свою текущую деятельность (только для асинхронного).

  • Ни приложение, посылающее сообщение, ни адресат данного сообщения не обязаны быть активными в одно и то же время (только для асинхронного). Если адресат сообщения не активен, то MOM гарантирует, что сообщение будет доставлено, как только адресат станет активным (только для асинхронного).

  • Компоненты системы не связаны напрямую друг с другом (decoupled), а потому возможно перенесение компонентов с одного хоста на другой в runtime без ущерба для работоспособности системы (только для асинхронного).

Существует две "основных" модели обмена сообщениями:

  • point-to-point

  • publish-subscribe (pub-sub)

Point-to-point модель применяется, когда одному или нескольким компонентам (так называемые senders) необходимо послать сообщение одному компоненту-адресату (receiver).

Publish-subscribe (Pub-sub) модель применима, когда одному или нескольким компонентам (publishers) необходимо послать сообщение одному или нескольким компонентам-адресатам (subscribers). Данная модель основана на понятии message topic.

Java Message Service (JMS) – это Java API (то есть набор интерфейсов и классов) для работы с Message-Oriented Middleware (МОМ). Данный набор определен в пакете javax.jms в дереве пакетов J2EE.

JMS - это стандарт обмена сообщениями, который позволяет компонентам приложения J2EE создавать, посылать, получать и читать сообщения. Он допускает распределенные коммуникации со свободным соединением, надежные и асинхронные

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