Создание веб-сервиса

Цель работы

Лабораторная работа дает навыки создания и развертывания веб-сервиса с использованием среды Eclipse, сервера приложений Apache Tomcat и контейнера Apache Axis, а также развертывания и удаленной отладки BPEL-процесса в среде ActiveBPEL Designer.

Задачи

  1. Реализовать веб-сервис по имеющемуся WSDL-описанию.
  2. Выполнить развертывание веб-сервиса на сервере приложений и испытать его работоспособность.
  3. Выполнить развертывание имеющегося BPEL-процесса.
  4. Проверить работоспособность BPEL-процесса и осуществить пошаговое выполнение процесса на сервере.

Предварительные требования

Для выполнения работы на компьютере должно быть установлено следующее ПО:

·         JDK версии 1.5 или выше.

·         Eclipse IDE версии 3.2.1 или выше с установленными расширениями J2EE Standard Tools 1.5.2 или выше и Web Standard Tools 1.5.2 или выше.

·         ActiveBPEL Designer версии 2.0.

В ходе выполнения работы потребуется следующая информация об установленном ПО:

·         Папка установки сервера приложений, входящего в комплект ActiveBPEL Designer.

Переменная окружения JAVA_HOME должна указывать на папку, в которую установлен JDK (это требуется при запуске сервера приложений).

Для успешного запуска сервера приложений требуются файлы xalan.jar и serializer.jar из дистрибутива Xalan-Java. Их следует поместить в папку common\lib сервера приложений.

Для проверки работоспособности BPEL-процесса, вызывающего удаленный веб-сервис потребуется доступ в Интернет.

При реализации бизнес-процесса потребуются знания технологии веб-сервисов и в частности WSDL, а также знание языка Java.

Ход работы

Реализация веб-сервиса

Взяв за основу WSDL-описание, созданное в предыдущей лабораторной работе, сгенерируйте необходимые заглушки и напишите класс реализации веб-сервиса. Для этого воспользуйтесь мастером создания веб-сервисов среды Eclipse.

  1. Запустите среду Eclipse и откройте проект, созданный в предыдущей лабораторной работе.
  2. Создайте новый веб-сервис (File → New → Other → Web Services → Web Service). В поле Web Service Type выберите Top down Java bean Web Service. Укажите расположение WSDL-файла. Установите ползунок на уровень Deploy Service. Будут сгенерированы все исходные файлы веб-сервиса и дескриптор развертывания.
  3. Откройте WSDL-файл в папке WebContent\WSDL и исправьте ссылку на веб-сервис, которая могла быть изменена мастером создания веб-сервисов.
  4. Откройте файл реализации веб-сервиса <имя>Impl.java и напишите свою реализацию операции вместо шаблонной.

Развертывание веб-сервиса

Веб-сервис будет работать на том же сервере, в котором установлен BPEL-контейнер. Это сервер приложений Apache Tomcat 5.0, входящий в поставку ActiveBPEL Designer.

  1. В контекстном меню проекта в среде Eclipse выберите пункт Export. Экспортируйте проект в WAR-файл.
  2. Запустите сервер приложений через скрипт bin\startup.bat, находящийся в папке сервера. Появится окно консоли сервера. Об успешном запуске свидетельствует сообщение INFO: Server startup in 7375 ms и отсутствие Java-исключений.
  3. Поместите WAR-файл в папку webapps на сервере приложений и по сообщениям в консоли сервера и отсутствию сообщений об ошибках убедитесь, что веб-приложение было установлено успешно.
  4. Затем необходимо развернуть веб-сервис. В Axis это делается с помощью специального системного веб-сервиса AdminService, на вход которому подается дескриптор развертывания deploy.wsdd. Для вызова этого сервиса существует готовый клиент. Используйте для развертывания веб-сервиса bat-файл следующего содержания, предварительно изменив его под свою систему:

set TOMCAT_HOME=G:\Program Files\Active Endpoints\ActiveBPEL Designer\Server\ActiveBPEL_Tomcat (путь установки сервера приложений)

set LIBS=%TOMCAT_HOME%\shared\lib

set SERVLET_URL=http://localhost:8080/<имя-проекта>/services/AdminService

 

java -cp "%LIBS%\axis.jar";"%LIBS%\commons-discovery.jar";"%LIBS%\commons-logging.jar";"%LIBS%\jaxrpc.jar";"%LIBS%\saaj.jar";"%LIBS%\wsdl4j.jar" org.apache.axis.client.AdminClient -l%SERVLET_URL% deploy.wsdd

  1. При успешном развертывании сервиса будет выведено сообщение

<Admin>Done processing</Admin>

  1. Проверьте, что сервис был успешно развернут, введя в адресной строке браузера ссылку, указанную в WSDL-файле. Должна появиться страница, сообщающая, что по этому адресу установлен AXIS сервис. Добавьте в конце адреса ?WSDL и будет выведено WSDL-описание сервиса.
  2. Попробуйте выполнить операцию веб-сервиса через Web Services Explorer в среде Eclipse (Run → Launch the Web Services Explorer). Проверьте правильность работы веб-сервиса при различных входных данных.

Рисунок 1 – Испытание веб-сервиса в Web Services Explorer

Развертывание BPEL-процесса

  1. Загрузите ActiveBPEL Designer и откройте проект, созданный в предыдущей лабораторной работе.
  2. Создайте новый дескриптор развертывания для BPEL-процесса (File → New → Deployment Descriptor). Укажите файл BPEL-процесса. В окне Partner Links для Partner Link-ов, напротив которых стоят красные крестики, укажите значение Endpoint Type равное static, как на рисунке:

  1. Для Partner Link, соответствующего BPEL-процессу установите поле Binding в значение RPC Encoded. Остальные поля оставьте со значениями по-умолчанию. Будет создан дескриптор в файле с расширением pdd.
  2. Создайте в проекте папку deploy, куда потом будут помещаться файлы, связанные с развертыванием (File → New → Other → Simple → Folder).
  3. Создайте BPR-файл – архив BPEL-процесса, который будет развернут в BPEL-контейнер. Для этого в контекстном меню проекта выберите пункт Export, Business Process Archive File. Пометьте дескриптор развертывания, созданный на предыдущем этапе. В поле Select the export destination укажите имя BPR-файла в папке deploy. Выберите Deployment TypeFile и в поле Deployment Location укажите папку bpr сервера приложений. Нажмите Finish и BPEL-процесс установится в контейнер, при этом в консоли сервера появятся соответствующие сообщения.
  4. Убедиться, что процесс успешно установлен в контейнер можно также через панель администрирования BPEL Engine – она находится по адресу http://localhost:8080/BpelAdmin/. В случае неудачного развертывания, посмотрите содержимое Deployment Log в панели.
  5. После развертывания BPEL-процесс доступен для использования как веб-сервис. Вы можете его найти по адресу вида http://localhost:8080/active-bpel/services/<тип-partner-link-процесса>Service.

Проверка BPEL-процесса

Проверьте работоспособность созданного BPEL-процесса с помощью Web Services Explorer. Используйте различные значения переменных, чтобы проверить все пути выполнения.

Рисунок 2 – Результаты выполнения процесса – стоимость доставки контейнера из Нью-Йорка в Вашингтон

Осуществите пошаговое выполнение BPEL-процесса. Для этого:

  1. Откройте BPEL-процесс в ActiveBPEL Designer. Выберите блок Receive и установите на нем точку останова (контекстное меню → Add Breakpoint).
  2. Создайте конфигурацию для выполнения удаленной сессии отладки. Для этого выберите пункт меню Run → Debug. Создайте новую конфигурацию, нажав на кнопку New. Нажмите кнопку Debug, чтобы начать отладку.

Рисунок 3 – Конфигурация для удаленной отладки

  1. Запустите сервис BPEL-процесса через Web Services Explorer и вернитесь в ActiveBPEL Designer и выполните пошагово процесс, так же как при моделировании в предыдущей лабораторной работе.

Рисунок 4 – Сессия удаленной отладки BPEL-процесса

Результаты

В результате выполнения данной работы был реализован, установлен и развернут веб-сервис, а также развернут и отлажен BPEL-процесс, соответствующий бизнес-процессу из выбранной предметной области.

Вопросы для самоконтроля

  1. Почему используется контейнер Apache Axis для реализации веб-сервисов?
  2. Чем «Top down» реализация веб-сервиса отличается от «Bottom up»?
  3. Как определить, что сервер приложений был успешно запущен?
  4. Как развернуть веб-сервис в контейнере Apache Axis?
  5. Перечислите все способы убедиться в том, что веб-сервис был успешно развернут в контейнере.
  6. Какая информация помещается в дескриптор развертывания BPEL-процесса?
  7. Какие возможности предоставляет панель администрирования BPEL Engine?
  8. Перечислите все признаки, по которым можно судить об успешном развертывании BPEL-процесса.
  9. Как запустить пошаговую удаленную отладку BPEL-процесса?

Обновлено Tue Apr 15 21:27:20 2014 +0400