| ||||||||||||||||
| ||||||||||||||||
| ||||||||||||||||
Контейнер это контейнер. Он предоставляет среду, в которой могут
функционировать Ваши компоненты EJB. Получается, у Вас есть контейнер, в который
вы можете запихивать свои компоненты.
Рис.5 Для того, что бы понять, что же на самом деле такое эти компоненты EJB, необходимо усвоить некоторые идеи компонентной модели. Следует уяснить, если Вы используете компонентную модель, значит, строительными блоками модели являются компоненты, имеющий стандартный внешний вид, с помощью которого можно эти компоненты состыковывать. Другими словами, если вы будете использовать такую модель Вам необходимо строго придерживаться стандартов описывающих внешний вид ваших компонентов. Внутренности Ваших компонентов, это Ваша проблема, Вы вольны реализовывать функционал, как Вам угодно, правда есть некоторые рекомендации, которые Вам принесут больше пользы, чем вреда. Компоненты EJB имеют, вольно выражаясь, два внешних описания (интерфейса).
Через них, собственно, клиент и взаимодействует с Вашим компонентом.
Рис.6 Home-интерфейс, является точкой входа в Ваш компонент или фабрикой компонента. Другими словами любое начало взаимодействия с Вашими компонентами происходит через Home-интерфейсы. Клиент обращается к интерфейсу и создает через него экземпляры (объекты), которые обслуживают данный компонент. А в конце своей работы он их уничтожает. Remote-интерфейс позволяет взаимодействовать с экземплярами (объектами), которые были созданы через фабрику (Home-интерфейс). Через Remote-интерфейс пользователь вызывает бизнес-методы компонента, которые естественно Вам придется реализовывать, запихивая туда логику Вашего приложения. Разберем стандартный сценарий взаимодействия клиента с компонентами EJB. Взаимодействие изображено на рис. 7
Рис.7 1: Клиент ищет Home-интерфейс нужного ему компонента по его имени через
сервис имен JNDI (клиенту возвращается в результате поиска Home-интерфейс этого
найденного компонента). На стороне клиента Remote-интерфейс и Home-интерфейс оформлены в виде классов, которые скрывают сетевые взаимодействия на основе RMI с сервером приложений. Клиент работает с объектами, думая, что они работают в том же адресном пространстве, что и само приложение, а на самом деле происходят сетевые вызовы и функционал объектов работает совсем на другой вычислительной машине. [Назад][Содержание][Вперед] |
|
| ||||||||||||||||
|