среда, 13 августа 2014 г.

Простой веб-сервис WSO2 BPS

Создадим простенький веб-сервис на основе WSO2 Business Process Server (BPS). Сервис будет получать два числа x и y, складывать их и возвращать сумму.

Скачиваем бинарный дистрибутив BPS:

http://wso2.com/products/business-process-server/

Распаковываем скачанный zip-архив в любую директорию на локальном компьютере. В дальнейшем будем называть её BPS_HOME.

Убеждаемся, что у нас установлена правильная версия JAVA:

https://docs.wso2.com/display/BPS320/Installation+Prerequisites

Запускаем BPS_HOME/bin/wso2server.bat или wso2server.sh в Линуксе:

https://docs.wso2.com/display/BPS320/Running+the+Product



Когда BPS-сервер запустится, в командной строке обращаем внимание на адрес:


Открываем этот адрес в браузере:


Вводим имя пользователя admin и пароль admin. Затем входим, нажав на кнопкуSign-in.

Попадаем в панель администрирования BPS. Она нам пригодиться чуть позже, чтобы запустить наш веб-сервис:


Переходим к созданию сервиса.

Предварительно следует скачать WSO2 Developer Studio:

http://wso2.com/products/developer-studio/

Скачанный архив нужно распаковать на один из дисков и запустить IDE Eclipse:


 Открываем меню WSO2: Developer Studio -> Open Dashboard



Находим кнопку BPEL Workflow:


Будем создавать новый процесс:


На следующем шаге вводим в поля следующие значения:

Project Name: AdderProcess
Process Name : AdderProcess
Namespace : http://NumberAdder.com
Template : Synchronous BPEL Process

Нажимаем на кнопку Finish, чтобы создать процесс.

Соглашаемся на предложение перенастроить панельки под BPEL:


Определяем входные параметры x и y. Раскрываем вложенную структуру на панели Project Explorer и открываем AdderProcessArtifacts.wsdl:


 Нажимаем мышкой на верхнюю стрелку напротив Input:


Попадаем в новую вкладку Inline Schema Of AdderProcessArtifacts.wsdl. В ней щёлкаем по первому элементу, чтобы выделить его:


Внизу на панели свойств (Properties) меняем название параметра на x и его тип на int:


Переходим к определению входного параметра y. Щёлкаем правой кнопкой мыши по заголовку окна и выбираем в контекстном меню Add Element:


Аналогичным способом меняем параметры созданного элемента и сохраняем все изменения:


Закрываем две последне вкладки и возвращаемся к редактированию AdderProcess.bpel.

Удаляем имеющийся блок бизнес-логики при помощи правой кнопки мыши и опции Delete:


Нажимая на стрелочки панели Actions, которая расположена справа, находим Assign (присвоение значения).


Перетаскиваем Assign на место удалённого блока бизнес-логики:


Выбираем вертикальную вкладку Details и кликаем на блок Assign в нашем процессе, чтобы отразились детали именно по нему. Затем жмём на кнопку New:


Определяем тип поля From как Expression:


Вносим в поле From следующее значение: $input.payload/tns:x + $input.payload/tns:y


Тип поля To оставим Variable. Развернём вложенный список и выделим вариант result: string. Ниже само появится значение поля Query - tns:result.


При потере фокуса на поле To появится всплывающее окно с предложением создать инициализацию выходного параметра. Нажимаем на кнопку Yes, чтобы согласиться:


Сохраняем изменения File->Save All.

Настраиваем параметры развёртывания, для чего открываем в редакторе deploy.xml:


Указываем порт и сохраняем изменения:


Наконец, можно экспортировать настройки сервиса. Щелкаем правой кнопкой мыши по проекту и выбираем Export Project As Deployable Archive:


Укажем место на диске для сохранения архива:


Нажимаем на Finish и возвращаемся в браузер. Обновляем содержимое страницы и входим повторно, если необходимо под пользователем admin.

В разделе Processes нажимаем на кнопку Add:


Загружаем экспортированный архив на сервер BPS:


Нажимаем на кнопку Upload.


Нажимаем OK и переходим к списку процессов:


Переходим на страницу с информацией о процессе:


Здесь можно взять ссылку на WSDL или потестировать процесс из браузера:


Переходим по ссылке Try it! Вписываем значение x - 10 и значение y - 20. Нажимаем кнопку отправки запроса Send.


Ответ сервиса отобразится справа:


Данное пошаговое руководство на русском языке создано на основе следующих материалов:
https://docs.wso2.com/display/BPS320/Quick+Start+Guide
https://docs.wso2.com/display/DVS370/Creating+a+BPEL+Workflow

Комментариев нет:

Отправить комментарий