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.

Параметры запуска приведены в таблице:

Параметр запуска

Значение по умолчанию

Пример

Обязательность

Описание

-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