четверг, 28 августа 2014 г.

Тук-тук ESB API

Для отладки последовательностей медиаторов нужен инструмент, который бы позволял "дёргать" WSO2 ESB в ручном режиме. Создадим простой API в сервисной шине предприятия, чтобы можно было отправлять запросы из адресной строки браузера.

Сначала создаём последовательность для поступающих в шину запросов. Последовательность - это своего рода контейнер для медиаторов.


Назовём создаваемую последовательность tuktukInSequence и сохраним её кнопкой Save.


Теперь поместим последовательность в реестр, чтобы впоследствии подключить нашу последовательность к ресурсу в API. Мы сможем работать с последовательностью отдельно, в отличие от встроенных (inline) в ресурс последовательностей. После настройки у нас будет возможность переподключить tuktukInSequence к какому-нибудь прокси-сервису или другому API.


Теперь наша последовательность tuktukInSequence присутствует и в реестре и в списке последовательностей. Причём в списке последовательностей она повторяется дважды. Важно понимать, что это два независимых экземпляра. Та, что нам нужна, начинается с conf:/




Входная последовательность создана. Переходим к созданию API.


Называем наш API tuktuk. Задаём контекст /tuktuk. Все ссылки на этот путь URI будут отправляться в API tuktuk. Оттуда в ресурс add, а из ресурса в последовательность tuktukInSequence. Но мы забежали уже вперёд. Создадим прежде ресурс add.


Прокручиваем страницу вниз и видим форму настройки нового ресурса. Наш ресурс будет обрабатывать только GET-запросы. Адрес ресурса будет содержать два параметра, поэтому выбираем тип URL "URI-Template". Шаблон выглядит так:
/add/{xval}/{yval}/
Как я уже писал однобуквенное название параметра x приводило к нарушению работы пользовательского интерфейса, поэтому пишите больше букв. В медиаторах значение параметра извлекается выражением (expression):
get-property('uri.var.xval')


Теперь назначим последовательность для обработки входящих запросов. Возьмём tuktukInSequence из реестра.



Важно сначала нажать на кнопку Update для сохранения ресурса.



А только потом на кнопку Save для сохранения последовательности.


Ну вот всё готово! Можно пользоваться.




Для проверки работоспособности добавим в последовательность tuktukInSequence логирующий медиатор. В списке последовательностей находим tuktukInSequence и жмём на Edit:


Добавляем в последовательность медиатор Log.


Прокручиваем страницу вниз. Добавляем свойство xval.
 

Для простого теста работоспособности можно ограничится такими значениями полей: lalala, Value, uhuhuhu. Нажимаем на кнопку Update.



Затем сохраняем изменения последовательности кнопкой Save&Close.


Обращаемся к API из браузера:
http://192.168.4.67:8280/tuktuk/add/881/2888/


Видим сообщение в логе.


Значит, медиатор Log запускается.






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

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