Статьи

Начало работы с SwitchYard 2.0.0.Alpha1 на WildFly 8.1.0.Final

В последнее время я зацикливался на горячих технологиях RedHat и среди множества интересных деталей, которые я нашел SwitchYard . Не будучи неуважительным по отношению к каждому, кто в прошлом думал о SOA и сервис-ориентированных архитектурах, для меня, как разработчика Java EE, это всегда было немного странно.

switchyard_icon_256px В прошлом я создавал компонентно-ориентированные приложения с тем, что у меня было под рукой. В основном благодаря функциям, доступным в стандарте Java EE, быть «переносимым» и простым в использовании. Оглядываясь назад, это было идеально подходит для многих клиентов и приложений. С ростом спроса на высокоинтегрированные приложения, которые используют уже доступные сервисы и процессы повсеместно (ведомственные, центральные или даже облачные сервисы), этот подход становится все более и более устаревшим. И это чувство исходит не с технологической точки зрения, а со всех требований, предъявляемых к нему. Имея это в виду, этот пост является отправной точкой в ​​серии руководств и кратких учебных пособий, целью которых является демонстрация более разнообразных способов создания приложений (Java EE), которые лучше соответствуют современным требованиям и ландшафтам.

Что такое SwitchYard?

Это основанная на компонентах среда разработки для интеграционных приложений, использующая принципы проектирования и лучшие практики Service Oriented Architecture. Если вы ожидаете какой-то полномасштабный модный набор BPMN / SOA модных словечек, вы немного поторопитесь. Это для разработчиков и должно сделать его сравнительно простым в использовании. Он существует уже некоторое время и, начиная с последней версии 2.0.0. Alpha1, он совместим с WildFly 8. Причин, достаточных для меня, чтобы вы взволновались.

Установка SwitchYard в последнюю версию WildFly 8.1.0.Final

Загрузите оба пакета switchyard-2.0.0.Alpha1-wildfly и WildFly 8.1.0.Final с веб-сайтов проекта. Установите WildFly 8, разархивировав его в папку по вашему выбору (например, D: \ wildfly-8.1.0.Final \). Теперь распакуйте пакет SwitchYard в папку WildFly. В зависимости от используемой утилиты zip вам может быть предложено заменить существующие файлы. Ответьте да / все для всех файлов, которые будут распакованы.

Это альфа, так что вам нужно немного подправить конфигурацию из-за SWITCHYARD-2158 . Откройте «JBOSS_HOME / standalone / configuration / standalone.xml» и найдите «org.switchyard.component.camel». atom .deploy.CamelRSSComponent »и измените пакет с« atom »на« rss ». Теперь идите вперед и запустите сервер с «JBOSS_HOME / bin / standalone.sh / .bat».

Если все работает правильно, вы должны увидеть следующее сообщение:

1
09:18:25,857 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.1.0.Final "Kenny" started in 3712ms - Started 210 of 259 services (81 services are lazy, passive or on-demand)

Построение и развертывание службы быстрого запуска Bean Service

Если вы хотите испачкать руки, вы можете легко начать с упакованных приложений в каталоге «JBOSS_HOME / quickstarts /» дистрибутива. Простой пример — бобовый сервис. Он использует один из основных компонентов SwitchYard, компонент Bean . Это позволяет Java-классам (или бинам) предоставлять и использовать сервисы. И поэтому вы можете реализовать сервис, просто аннотируя Java-класс или потребляя его, вставляя ссылку непосредственно в ваш Java-класс.

А поскольку компонент Bean является стандартным расширением CDI, нет необходимости изучать новую модель программирования для его использования. Это просто стандартный компонент CDI с несколькими аннотациями.

Для существующих приложений Java EE это означает, что вы можете представить существующие компоненты на основе CDI в своем приложении в качестве сервисов для внешнего мира или использовать сервисы внутри вашего компонента, просто добавив еще несколько аннотаций.

Обо всем по порядку. Нам нужно немного поработать в проекте pom.xml, чтобы это работало. Перейдите в раздел сборки и замените «jboss-as-maven-plugin» последней версией:

1
2
3
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-maven-plugin</artifactId>
<version>1.0.2.Final</version>

Теперь запустите «mvn package», чтобы загрузить все зависимости и выполнить тесты. Он должен просто нормально работать и заявить:

1
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0

Давайте развернем его в нашем экземпляре WildFly, выполнив команду «mvn -Pdeploy install». Наконец, консоль WildFly позволяет вам узнать об успешном выполнении:

1
10:19:44,636 INFO  [org.jboss.as.server] (management-handler-thread - 1) JBAS018559: Deployed "switchyard-bean-service.jar" (runtime-name : "switchyard-bean-service.jar")

Быстрый тест для приложения

Очень быстрый тест — выполнить mvn exec: java, который выполнит класс BeanClient и сгенерирует запрос SOAP к развернутой службе. Выход должен быть:

1
2
3
4
SOAP Reply:
<soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"><env:header xmlns:env="http://www.w3.org/2003/05/soap-envelope"></env:header><soap:body><ord ers:submitorderresponse="" xmlns:orders="urn:switchyard-quickstart:bean-service:1.0
"><orderack><orderid>PO-19838-XYZ</orderid><accepted>true</accepted><status>Orde
r Accepted [intercepted]</status></orderack></ord></soap:body></soap:envelope>

Вот и все на сегодня. В следующих частях будет рассмотрен пример приложения более детально, инсталлирован инструментарий и представлены другие компоненты. Если вы не можете ждать, проверьте: