|
(06.10.2006)
|
 |
|
(05.09.2006)
|
 |
|
(10.08.2006)
|
 |
|
(17.05.2006)
|
 |
|
(01.02.2006)
|
 |
|
(29.12.2005)
|
 |
|
(27.10.2005)
|
 |
|
(19.08.2005)
|
 |

|
|
 |
Главная
J2EE
Пример использования XPFE/J2EE и SOAP для построения распределенных приложений
|
|
J2EE
Для построения распределенных и переносимых приложений очень часто бывает удобно использовать технологию web-сервисов и протокол SOAP. Рассмотрим пример такого приложения, серверная часть которого построена на платформе J2EE, а клиентская часть - на платформе XPFE.
|
Для того, чтобы скомпилировать и запустить тестовое распределенное приложение, выполните следующую последовательность действий:
-
Установите J2SE Development Kit (JDK) (приложение будет работать как с JDK 1.4, так и с JDK 1.5) и создайте переменную окружения JAVA_HOME, указывающую на каталог, в который был установлен JDK
-
Установите сервлет-контейнер (например, Tomcat или Jetty). Минимальный дистрибутив Jetty, достаточный для запуска тестового приложения, можно
взять здесь, его достаточно распаковать в любой каталог и создать переменную окружения JETTY_HOME, указывающую на этот каталог
-
Распакуйте в любой каталог содержимое архива с
исходным кодом тестового приложения
-
Перейдите в созданный каталог и выполните ./build.sh deploy (для UNIX) или build.bat deploy (для Windows)
-
Перейдите в каталог Jetty и запустите его, выполнив ./start.sh (для UNIX) или start.bat (для Windows)
-
Установите и запустите Firefox (версии не ниже, чем 1.0)
-
Наберите в адресной строке http://localhost:8080/wsapp
-
Следуя появившимся инструкциям, установите приложение, затем в адресной строке наберите about:config и создайте строковое свойство wsclient.services_url со значением http://localhost:8080/wsapp/services/
-
После перезапуска Firefox в меню Tools (Инструменты) выберите Test Web Service Application
Теперь немного о самом приложении.
Серверная часть является стандартным J2EE web-приложением, упакованным в war-архив. Она использует Axis для экспортирования web-сервиса PeopleService и Spring для реализации внутренней логики. Для интеграции Spring и Axis используется Apache Axis dependency injection. В качестве СУБД используется встраиваемая HSQLDB. Для подключения к БД указывается относительный путь db/mydatabase, поэтому каталог db должен находиться в текущем каталоге JVM, внутри которой исполняется сервлет-контейнер и web-приложение. Для сборки используется Ant. Нет никаких препятствий к тому, чтобы вместо Jetty использовать Tomcat, для этого нужно только переписать цель deploy или выполнить ее вручную.
Клиентская часть является расширением Firefox в формате XPI: пользовательский интерфейс описан на языке XUL, для обработки событий и общения с серверной частью используется JavaScript. Для приложений, использующих платформу XPFE, доступен класс WebServiceProxyFactory, позволяющий автоматически создать прокси для web-сервиса по его wsdl-описанию (такое описание Axis создает автоматически - http://localhost:8080/wsapp/services/PeopleService?wsdl). Однако этот класс заставляет писать код, который по громоздкости немногим уступает прямому использованию Mozilla SOAP API. Поэтому клиентская часть использует собственную реализацию прокси, позволяющую сосредоточиться на предметной области и писать более компактный код.
И серверная, и клиентская часть являются настолько простыми, насколько это возможно, но при этом они используют основные стандарные средства платформ J2EE и XPFE и могут служить основой для построения значительно более сложных приложений.
Ссылки:
Платформа XPFE:
http://xulplanet.com/
http://xul.ru/
http://xpoint.ru/forums/programming/XUL/forum.xhtml
Платформа J2EE:
http://ws.apache.org/axis/
http://springframework.org/
http://opensource.atlassian.com/projects/spring/browse/SPR-371
|
Присоединенные файлы
|
 |
|