Library  |  News  |  Hosting  |  Rating  |  Catalogue  |  Forum  |  About 
 
Конкурсы
Java, первое знакомство
За и Против
J2ME
J2EE
J2SE
Справочники
Главная страница
Последняя статья
Архив статей
Авторы статей
Глоссарий



Базовые профили J2ME (06.10.2006)
Первый в истории JetBrains конкурс плагинов к IntelliJ IDEA. Призовой фонд - $25000 (05.09.2006)
IBM WebSphere Community Edition Contest 2006! (10.08.2006)
Управление подсветкой экрана из мидлета (17.05.2006)
Введение в Java Server Faces (01.02.2006)
Работаем с JAR-архивами. (29.12.2005)
Указатели и виртуальные функции в Java (27.10.2005)
Пример использования XPFE/J2EE и SOAP для построения распределенных приложений (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



Присоединенные файлы

Jetty.zip
Минимальный дистрибутив Jetty
Wsapp.zip
Исходный код тестового приложения

E-mail получателей:



Ваш E-mail:






| Версия для печати | Отправить эту статью другу |


Результаты
Другие опросы



Copyright © JUGA.RU


Rambler's Top100
Java User Group Alliance (Russia)