Практические опыты с Red Hat JBoss Middleware RED HAT JBOSS FUSE. Часть №2

14.02.21

Интеграция - WEB-интеграция

Пробуем активировать маршрутизацию, разбираемся с пакетами (бандлами), терминалом karaf, графической средой управления с web-интерфейсом hawtio.
  • Запустим fuse (команды терминала в домашней папке cd fuse, cd bin, sh fuse)
  • Сначала стартует контейнер osgi karaf, затем оболочка red hat fuse.

OSGI это название стандарта. JBoss Fuse декларирует  Apache Felix в качестве реализации OSGi. Apache Karaf является подпроектом Apache Felix, он определяется как "легкий контейнер OSGi", модульная среда выполнения OSGi с открытым исходным кодом, то есть в качестве osgi в fuse используется karaf.

Существует два способа управления приложением в JBoss Fuse, зто blueprint (современный) и spring (устаревший, поэтому его я рассматривать не буду).

Настроим конфигурацию blueprint для управления приложением Apache Camel.

Выполним команду:

karaf@root()> features:install camel-blueprint

получим в файле  /home/sergey/fuse/data/log/fuse.log записи об активации нового функционала, 4 строки:

 
 лог в файле fuse.log

Из лога следует, что бандл camel-blueprint уже установлен. Теперь доступно управление функционалом маршрутизации и посредничества приложения Apache Camel с помощью конфигурационных файлов blueprint. Функции времени выполнения, предоставляемые JBoss Fuse, включают функции горячего развертывания, управления и администрирования (терпение, эта тема будет объяснена немного позже). Пока разберемся с горячим развертыванием маршрутизации и посредничества.

Условие возможности горячего развертывания маршрутизации и посредничества - обязательно должен быть включен контейнер Karaf (сервер JBoss Fuse должен находиться в рабочем состоянии). Нельзя манипулировать файлами blueprint в папке deploy если сервер JBoss Fuse выключен, чтобы всё не поломалось. Нельзя там ничего добавлять, изменять и удалять. При выключенном контейнере Karaf горячее развертывание маршрутизации и посредничества недоступно, требуемые функции не будут сами включаться и выключаться, прийдется манипулировать настройками, модулями и пакетами вручную, чего мы пока не умеем делать. Если лог перестал реагировать на Ваши действия в каталоге deploy, корректно (описано в данной статье) перезапустите сервер red hat fuse. Сделайте в терминале shutdown и сразу же запустите sh fuse.

Реализуем пример горячего развертывания маршрутизации и посредничества.

Развернем файл конфигурации напрямую, скопировав его в следующий каталог горячего развертывания

InstallDir/deploy

в данном случае фактически это

/home/sergey/fuse/deploy

Следующий конфигурационный файл ExampleRouter.xml будучи положен в каталог deploy сразу активирует генерацию тестового сообщения каждые две секунды.

 
 конфигурационный файл ExampleRouter.xml

Просто положите его на несколько секунд в каталог горячего развертывания, а затем уберите оттуда (то есть отмените горячее развертывание).

Снова откроем файл  /home/sergey/fuse/data/log/fuse.log  и прочитаем записи о срабатывании генерации сообщений по таймеру.

 
 Лог-файл о срабатывании генерации тестовых сообщений

Первый пример сработал. Этот лог можно видеть в графической консоли hawtio которая дает преимущество к управлению удаленно по http

Теперь я сделал отбор по событию в логе и увидел конкретно свой протестированный функционал.

Теперь под спойлером немного теории для понимания принципов работы данного механизма.

 
 Архитектура JBoss Fuse

Выполнив в терминале в запущенном karaf команду list -u мы получим список приложений (пакетов) с которыми мы можем взаимодействовать.

karaf@root()> list -u

В выводе команды list есть псевдографика, которую не может показать Инфостарт, но табличка все равно понятная. В этом списке есть и пакет  camel-blueprint (последняя строка в приложенной вырезке) который мы недавно пытались установить.

 
 Результат выполнения команды list -u

Список пакетов так же доступен в hawtio

В этом списке колонка №1 (ID) Айди является гиперссылкой, жмакнув на которую можно видеть подробную информацию о пакете и управлять им.

Управлять бандлами можно в терминале karaf. Пакет активируется (с помощью команды, osgi:start) или деактивируется (с помощью команды osgi:stop).

Где находятся файлы конфигурации установленных пакетов fuse чтобы ознакомиться с ними мы тоже можем видеть в графической консоли  hawtio

В следующем выпуске мы будем манипулировать бандлами репозитория Maven, попытаемся в файле конфигурации манипулировать свойствами приложения (переменными), передавать их в приложение.

В демонстрационных видео специалисты Ред Хат рекомендуют к прочтению книгу "Шаблоны интеграции корпоративных приложений" (автоты ) которая есть на русском языке.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    22077    65    52    

41

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    23415    34    24    

26

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

Расширение освободит вас от необходимости вручную обновлять товары в группах ВКонтакте. Достаточно задать правила один раз, и система автоматически синхронизирует ваш каталог. Вы сможете легко выбирать, какие товары публиковать, создавая гибкие критерии отбора. Например, можно добавить важные для покупателей параметры: цвет, размер или другие характеристики.

12200 руб.

29.08.2025    1801    4    0    

5

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    41639    75    45    

31

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17568 руб.

20.12.2024    5452    23    4    

25
Для отправки сообщения требуется регистрация/авторизация