DB2. Решения по интеграции


Базовые компоненты JE - часть 4


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

Клиент использует домашний интерфейс для обнаружения, создания и удаленного запуска копий EJB (см. рис. 2.3). Каждая копия EJB содержит домашний интерфейс, который вместе со службой имен позволяет клиентскому приложению обнаружить отдельный экземпляр EJB. Когда новый EJB развернут, контейнер EJB регистрирует его подпись в службе имен. Используя интерфейс службы имен и каталогов Java (Java Naming and Directory Interface -JNDI), клиентская программа определяет местонахождение этого домашнего интерфейса. J2EE – это распределенная среда программирования, это означает, что домашний интерфейс может находиться в любом месте домена J2EE. После обнаружения домашнего интерфейса клиент активизирует метод поиска в EJB для обнаружения экземпляра EJB. Если экземпляр существует, то возвращается ссылка на него. Если он еще не существует, то сначала он создается, затем возвращается объектная ссылка. Контейнер отвечает за создание объекта – это часть поискового процесса домашнего интерфейса.

Интерфейс поиска может иметь многочисленные сигнатуры для размещения объекта. Например, вы можете найти учетную запись объекта клиента как ACCOUNTID или как комбинацию полей клиента NAME и HOME_TELEPHONE_NUMBER (если он забудет номер учетной записи).




- Начало -  - Назад -  - Вперед -



Книжный магазин