В последнее время я зацикливался на горячих технологиях RedHat и среди множества интересных деталей, которые я нашел SwitchYard . Не будучи неуважительным по отношению к каждому, кто в прошлом думал о SOA и сервис-ориентированных архитектурах, для меня, как разработчика 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>Order Accepted [intercepted]</status></orderack></ord></soap:body></soap:envelope> |
Вот и все на сегодня. В следующих частях будет рассмотрен пример приложения более детально, инсталлирован инструментарий и представлены другие компоненты. Если вы не можете ждать, проверьте:
- Документация SwitchYard, которая содержит целую кучу полезных вещей.
- некоторые потрясающие видео и узнать все о SwitchYard в нашей новой серии SwitchYard Video .
- другие приложения быстрого запуска.
| Ссылка: | Начало работы с SwitchYard 2.0.0.Alpha1 на WildFly 8.1.0. Наконец, от нашего партнера по JCG Маркуса Эйзела ( Markus Eisele) из блога « Разработка программного обеспечения для предприятий с использованием Java» . |