Address Book - Комментарии


Web-службы рассматриваются в InfoCenter в разделе IBM WebSphere Web services.

В примере AddressBook демонстрируется доступ к Web-службам различными способами. Он содержит два клиента и четыре версии bean-объекта AddressBook. Каждой из платформ Java 2 Standard Edition (J2SE) и Java 2 Enterprise Edition (J2EE) соответствует один клиент. Каждый из них использует четыре варианта bean-объекта AddressBook.

Расположение исходного кода

Исходный код AddressBook находится в подкаталогах каталог-профайла/samples/src/WebServicesSamples. Код каждого из четырех bean-объектов EJB находится в отдельном подкаталоге, см. таблицу ниже. Код простого клиента J2SE находится в каталоге Clients/simpleClients/samples/address. Код приложения-клиента J2EE - в каталогеClients/applicationClients/AddressBookClient.

Пользователи z/OS: Исходный код примеров недоступен для платформы z/OS, т.к. компоновка демонстрационных приложений на этой платформе не предусмотрена.

В каждом из четырех вариантов bean-объектов демонстрируется различный подход к разработке приложений, работающих с Web-службами. Среди них есть два объекта EJB. При разработке первого объекта был сначала создан файл WSDL (Web Service Definition Language - Язык определения Web-служб), а затем транслирован в код Java с помощью утилиты WSDL2Java.

В названиях артефактов, принадлежащих данному объекту EJB, содержится текст "W2JE". При разработке второго объекта EJB сначала был реализован сам объект EJB, а затем с помощью утилиты Java2WSDL был сгенерирован файл WSDL. С помощью файла WSDL сгенерированы файлы описания. В названиях артефактов этого объекта EJB присутствует текст "J2WE".

Аналогично, в названиях артефактов двух объектов JavaBean содержится "J2WB" или "W2JB", в зависимости от способа их создания.

В следующей таблице указаны сведения о bean-объектах AddressBook.

 
Порт Каталог Класс реализации Демонстрирует
AddressBookW2JE addrEJBTopDown AddressBookSoapBindingImpl.java Разработку объектов EJB, работающих с Web-службами, посредством создания файла WSDL и генерирования кода Java с помощью WSDL2Java.
AddressBookJ2WE addrEJBBottomUp AddressBookBeanImpl.java Разработку объектов EJB, работающих с Web-службами, посредством создания самого bean-объекта и генерации файла WSDL с помощью Java2WSDL, на основе которого создаются файлы описания.
AddressBookJ2WB addrBeanBottomUp AddressBookBean.java Разработку объектов JavaBean, работающих с Web-службами, посредством создания самого bean-объекта и генерации файла WSDL с помощью Java2WSDL, на основе которого создаются файлы описания.
AddressBookW2JB addrBeanTopDown AddressBookBean.java Разработку объектов JavaBean, работающих с Web-службами, посредством создания файла WSDL и генерирования кода Java с помощью WSDL2Java.

Каталоги, указанные в таблице, находятся в каталог-профайла/samples/src/WebServicesSamples.

Все реализации службы AddressBook поддерживают операцию getAddressFromName. Она возвращает клиенту статический ответ. Базы данных для хранения адресов не предусмотрено, т.к. цель данного примера - показать взаимосвязь между bean-объектом и Web-службой.

Все варианты службы AddressBook хранятся в файле WebServicesSamples.ear. Т.к. они имеют уникальные корневые контексты и имена файлов jar, возможна их одновременная развертка. Кроме того, классы реализации объектов EJB имеют уникальные имена и отличны от классов объектов JavaBean. Это гарантирует то, что программа загрузки классов найдет нужный класс реализации.

Отношения bean-объекта AddressBook

В примере содержатся клиенты для J2SE и J2EE. Каждый из них использует четыре варианта объекта AddressBook.

Отношения между четырьмя bean-объектами, установленными на сервере, можно увидеть в файле WSDL клиента, т.к. последний может работать со всеми bean-объектами. В файле WSDL определяется одна служба, AddressBookService, с четырьмя портами. Файл AddressBook.wsdl клиента находится в каталоге примеров, src/WebServicesSamples/Clients/applicationClients/META-INF.