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