Доступ к данным, обмен которыми настроен в Semantic MDM возможен через несколько каналов взаимодействия (транспорт – формат передачи данных):
Apache Kafka – Json
Rabbit MQ – Json
REST – Json
сервис SOAP Document – Literal
сервис SOAP RPC – Literal
Способ обмена данными указывается в параметрах системы выбором одного из двух вариантов – Message Queue (MQ) или REST/SOAP. При выборе варианта Message Queue (MQ) доступен только один из двух возможных брокеров сообщений для передачи данных - Kafka или Rabbit MQ. Возможно использование только одного из брокеров, параллельное не поддерживается. Селектор брокера находится в параметрах Системы и выбирается при её развертывании.
В настройках для способа Message Queue (MQ) доступны следующие опции:
Для варианта использования Rabbit MQ:
Точка обмена – сюда передается сформированное сообщение, для дальнейшей маршрутизации по ключу; ;
Ключ маршрутизации– создаётся автоматически из сообщений от Semantic MDM (одно сообщение – одна позиция) в соответствии с указанным приоритетом;
Очередь для ответов– в данной очереди внешняя ИС уведомляет о результате обработки сообщений (одно сообщение – одна позиция);
ОчередьRPC – используется внешней ИС для сообщения Semantic MDM, что система с идентификатором <systemId> функционирует и готова к приёму сообщений. Функция вызывается один раз в минуту. А также для приёма файлов большого размера (получения тела файла с известным хэшем)
Наименование любой очереди формируется автоматически после регистрации ИС и выбора адреса сервиса, по следующему алгоритму: для очереди сообщений <SemanticMDM>.<Наименование ИС>; для очереди ответов <SemanticMDM>.<TransitionalKeys>; для очереди RPC <SemanticMDM>.<RPC>.
Документация – интернет-адрес, где расположена документация по работе с соответствующим сервисом импорта и репликации;
Настройки способа репликации данных MessageOueue(MQ): а)Rabbit MQ; б)Kafka
2. Для варианта использования Kafka:
Топик для отправки – предназначен для сообщений об изменённых в Системе объектах с учетом приоритета;
Топик для ответов – здесь внешняя ИС уведомляет о результате обработки сообщений (одно сообщение – одна позиция);
Топик RPC – используется внешней ИС для сообщения Semantic MDM, что система с идентификатором <systemId> функционирует и готова к приёму сообщений. Функция вызывается один раз в минуту. А также для приёма файлов большого размера (получения тела файла с известным хэшем);
Документация – интернет-адрес, где расположена документация по работе с соответствующим сервисом импорта и репликации;
Для варианта REST/SOAP настраиваются:
Адрес прокси-адаптера (old version) – интернет-адрес, где размещён прокси-адаптер, обеспечивающий работу с репликационными таблицами предыдущей версии Semantic MDM;
REST сервис для экспорта – интернет-адрес, где размещён соответствующий сервис;
REST сервис для импорта – интернет-адрес, где размещён соответствующий сервис;
SOAP сервис для экспорта – интернет-адрес, где размещён соответствующий сервис;
SOAP сервис для импорта – интернет-адрес, где размещён соответствующий сервис;
ОписаниеAPI импортаSemanticMDM – интернет-адрес, где расположена документация по работе с сервисом импорта;
ОписаниеAPI репликацииSemanticMDM – интернет-адрес, где расположена документация по работе с сервисом репликации;
Legacy веб-сервис М1 – интернет-адрес, где размещён SOAP веб-сервис, обеспечивающий работу Модуля импорта и репликации предыдущей версии Semantic MDM.
Обмен данными через Rabbit MQ или Apache Kafka предпочтителен, поскольку выполняется в реальном времени, сразу после того, как изменённые данные были опубликованы и подготовлены для экспорта. При использовании варианта выполнения репликации Rabbit MQ следует учитывать, что система – подписчик обязан создать очередь с нужными параметрами и правильным наименованием очереди, которое указано для внешней системы. Задачей Semantic MDM является отправка сообщения с правильным ключом маршрутизации, по которому сообщение попадет в нужную очередь сообщений. Если очередь на момент отправки сообщения не будет найдена, то сообщение будет отправлено в системную очередь, из которой оно будет удалено в течении 15 минут.
Если пользователь сам будет решать, когда инициировать передачу данных, то следует использовать веб-сервис REST / SOAP.