Логин:   Пароль:






Новости
Рассылки
Форум
Поиск


Java
- Апплеты
- Вопрос-ответ
- Классы
- Примеры
- Руководства
- Статьи
- IDE
- Словарь терминов
- Скачать

Мобильная Java
- Игры
- Примеры
- Статьи
- WAP, WML и пр.

JavaScript
- Вопрос-ответ
- Примеры
- Статьи

Веб-мастеринг
- HTML
- CSS
- SSI

Разминка для ума
Проекты
Книги
Ссылки
Программы
Юмор :)




Rambler's Top100
Rambler's Top100

Java: ПримерыПример использования XPFE/J2EE и SOAP для построения распределенных приложений

Пример использования XPFE/J2EE и SOAP для построения распределенных приложений

Для построения распределенных и переносимых приложений очень часто бывает удобно использовать технологию 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:

Платформа J2EE:


Автор: Прокопьев Евгений
Август 2005 г.

Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 11

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/books/show2b.php on line 19

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/books/show2b.php on line 30
Узнай о чем ты на самом деле сейчас думаешь тут.


[an error occurred while processing this directive]



Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 91

Warning: mysql_db_query() [function.mysql-db-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_db_query() [function.mysql-db-query]: A link to the server could not be established in /pub/home/javaport/javaportal/news/worldnews.php on line 93

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /pub/home/javaport/javaportal/news/worldnews.php on line 95