IPA Адаптер#
IPA Адаптер представляет собой Java адаптер для SOWA, обеспечивающий протокольные преобразования.
Поддерживаются следующие протоколы:
IBM MQ;
Apache Kafka.
Принцип действия#
Принцип действия IPA Адаптера состоит в том, что рядом с SOWA поднимается отдельное Java приложение, которое общается с SOWA по unix-сокету. Настраивается IPA через конфигуратор SOWA, с помощью сущности service_sowa_ipa(подробное описание приведено в разделе «Тип сервиса ServiceSowaIpa» документа Руководство прикладного разработчика).
Функциональность#
IBM MQ (Опционально):
Многопоточное чтение и запись в очереди или подписка на topic(s).
Трансляция HTTP заголовков в MQRFH2 в блок
<Usr>и обратно.Синхронное чтение ответа по Correllation ID.
Apache Kafka:
Многопоточная подписка и запись в topic(s).
Синхронное чтение ответа по Correllation ID.
Бaзовые конфигурации профилей#
На данной странице представлены базовые конфигурации профилей SOWA для различных типов взаимодействий MQ и Kafka:
(1)
mq-socket-async- для асинхронного взаимодействия mq - HTTP;(2)
mq-socket-sync- для синхронного взаимодействия mq - HTTP;(3)
socket-mq-async- для асинхронного взаимодействия HTTP - mq;(4)
socket-mq-sync- для синхронного взаимодействия HTTP - Kafka.(5)
kafka-socket-async- для асинхронного взаимодействия Kafka - HTTP;(6)
kafka-socket-sync- для синхронного взаимодействия Kafka - HTTP;(7)
socket-kafka-async- для асинхронного взаимодействия HTTP - Kafka;(8)
socket-kafka-sync- для синхронного взаимодействия HTTP - Kafka.
Настройка адаптера SOWA-MQ#
Настройка адаптера осуществляется через блок service конфигурационного файла .yml для SOWA. Глобально, конфигурация представляет из себя набор правил, каждое из которых описывает один путь, по которому SOWA должна помещать данные в очередь и/или считывать данные из очереди. За первое направление (SOWA -> MQ) отвечает блок usock_mq, за обратное - mq_usock. Кроме того, каждое такое правило содержит небольшой блок служебной информации для корректной работы адаптера в экосистеме SOWA.
Описание параметров структуры сервиса приведено в раздел «Тип сервиса service_sowa_ipa» в Руководстве прикладного разработчика и соответствующих дочерних страницах.
Настройка и установка адаптера без дистрибутива SOWA#
Настройка IPA адаптера#
Пример именования параметров выглядит следующим образом:
usock-mq/to/testMQRoute/rq/qm_queue=CAMEL.TO.1
usock-mq - название маршрута. На данный момент это либо usock-mq, либо mq-usock. В конце имени маршрута ставится „/“;где
to- маркер начальной или конечной точки маршрута. «to» - конечная точка, куда маршрут будет писать сообщения. «from» - начальная точка маршрута, откуда маршрут забирает сообщения;testMqRoute- имя сервиса. Если требуется по признаку URN писать сообщения в несколько разных точек, то маршрутизация зависит от этого параметра. Если нет необходимости выделять имя сервиса, используется „*“. Пример обращения с именем сервиса - http://localhost:8080/testMqService;rq- маркер синхронности/асинхронности маршрута. Если в настройках отсутствует блок сrs, значит маршрут не будет ждать ответного сообщения;qm_queue- имя параметра.
Запуск IPA адаптера#
Для запуска IPA адаптера требуется установленная Java 8.
Параметры запуска приведены в таблице:
Параметр запуска |
Значение по умолчанию |
Пример |
Обязательность |
Описание |
|---|---|---|---|---|
|
- |
|
да |
Путь к файлу со свойствами. Необходимое имя файла: app.properties. |
|
- |
false |
да |
|
|
- |
ON |
нет |
Включает trace log IBM MQ библиотек |
|
- |
|
нет |
Для изменения параметров логирования, возможно подключение logback.xml файла |
Пример запуска сервиса приведен ниже:
java -DappProperties=C:\WORK\git\sowa-ipa\ipa\src\main\resources\app.properties -Dcom.ibm.mq.cfg.useIBMCipherMappings=false -jar ipa-1.0.jar