Напомним, что Enterprise JavaBean имеет минимум три класса, remote-интерфейс, home-интерфейс и реализация объекта (bean implementation).
Remote-интерфейс - это класс который экспонирует методы объекта во внешний мир. В нашем примере, remote-интерфейсом является класс org.jboss.docs.interest.Interest. Home-интерфейс определяет как создать объект, который реализует remote-интерфейс. В этом примере, home-интерфейс определен в org.jboss.docs.InterestHome. Реализация объекта предоставляет реализацию методов, определенных в remote- и home-интерфейсе. В нашем примере, классом объекта является org.jboss.docs.interest.InterestBean.
Конечно, объект может включать в себя другие классы, или даже другие пакеты, но классы перечисленные выше - необходимый минимум. Классы должны быть собраны в один JAR-архив, со структурой директорий, которая отражает иерархию пакетов. В нашем примере классы определены в пакете org.jboss.docs.interest, так что они должны быть в директории org/jboss/docs/interest/ - именно такую структуру вы найдете в директориях с примерами исходного кода.
Перед тем как jar-архив со всеми этими классами будет создан, должна быть определена директория META-INF в которой будет храниться дескриптор развёртывания (deployment descriptor), который всегда называется ejb-jar.xml. Кроме этого в этой директории могут быть размещены другие xml-файлы которые сообщат серверу приложений необходимую информацию о приложении. В JBoss, такой файл должен быть назван jboss.xml.
После этого, созданный вами jar-файл необходимо развернут(deployed) на сервере JBoss. На клиентской стороне вам нужен файл jndi.properties, который сообщит вашему клиенту где найти сервис имен JNDI. С помощью этого сервиса клиент найдет объект Interest и получит его home-интерфейс. С помощью home-интерфейса получаем remote-интерфейс объекта. Клиент теперь может использовать remote-интерфейс для доступа к функциям, предоставляемым этим EJB-объектом.
Наши друзья |