IPA Адаптер#
IPA Адаптер представляет собой Java адаптер для SOWA, обеспечивающий протокольные преобразования.
Поддерживаются следующие протоколы:
IBM MQ;
Apache Kafka.
Принцип действия#
Принцип действия IPA Адаптера состоит в том, что рядом с SOWA поднимается отдельное Java приложение, которое общается с SOWA по unix-сокету. Настраивается IPA через конфигуратор SOWA, с помощью сущности service_sowa_ipa(подробное описание приведено в разделе "Тип сервиса ServiceSowaIpa" документа Руководство прикладного разработчика).
Функциональность#
IBM MQ (Опционально):
Многопоточное чтение и запись в очереди или подписка на топики;
Трансляция HTTP заголовков в MQRFH2 в блок
и обратно; Синхронное чтение ответа по Correllation ID.
Apache Kafka:
Многопоточная подписка и запись в топики;
Синхронное чтение ответа по 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" в Руководстве прикладного разработчика и соответствующих дочерних страницах.
Нaстройка и установка адаптера без дистрибутива 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.
Параметры запуска приведены в таблице:
Параметр запуска |
Значение по умолчанию |
Пример |
Обязательность |
Описание |
|---|---|---|---|---|
-DappProperties |
- |
C:\WORK\git\sowa-ipa\ipa\src\main\resources\app.properties |
да |
Путь к файлу со свойствами. Необходимое имя файла: app.properties. |
-Dcom.ibm.mq.cfg.useIBMCipherMappings |
- |
false |
да |
This might allow IBM MQ to use Oracle complied cipher suite names. |
-Dcom.ibm.msg.client.commonservices.trace.status |
- |
ON |
нет |
Включает trace log IBM MQ библиотек |
-Dlogback.configurationFile |
- |
/path/to/config.xml |
нет |
Для изменения параметров логирования, возможно подключение 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