Datareon ESB
Создание внешней системы Datareon ESB
Коннектор Datareon ESB позволяет подключить к системе связующее программное обеспечение Datareon ESB.
Чтобы приступить к настройке коннектора, на вкладке Коннектор выберите тип Datareon ESB. После выбора типа коннектора станут доступны поля для ввода характеристик коннектора:
Основные настройки
Укажите порт исходящей точки ESB «REST-клиент» для передачи данных на сервер Платформы.
Укажите данные входящей точки ESB «REST-клиент» для приема данных от сервера Платформы в следующих полях:
Адрес сервера адаптера ESB
Порт
Имя адаптера
При необходимости использовать протокол HTTPS для поддержки шифрования установите флажок использовать https.
Установите значение Таймаут вызова (по умолчанию 60 сек.)
Дополнительные действия
Создайте новый тип данных:
Создайте обработчик с созданным ранее типом данных:
Создайте бизнес-процесс без обработчика, который отправляет данные в ранее созданную систему:
В шине создайте адаптер с наименованием, указанным при настройке Коннектора в Платформе - RESTserver. На входящей точке добавьте стандартный REST-сервер. Укажите формат сообщения: Json. На исходящей точке добавьте REST-клиент.
Настройка подсистемы в Datareon ESB
Внимание
Подсистема для ESB версии ниже 1.4.6.0009 не поддерживает работу по протоколу TCP с версией совместимости 8.3.21 и выше.
Для настройки подсистемы в Datareon ESB:
Создайте REST-сервер на входящей точке с именем RESTserver. Укажите формат сообщения: Json.
Создайте REST-клиент на исходящей точке, где указываем путь к Платформе - имя системы, порт:
В методе укажите content-type в примере json:
Создайте трансформацию JavaScript
Для версии Datareon ESB 2.4.10 и выше для передачи данных используется метод message.getMessageStringToPlatform(). Пример использования:
{ var body = message.getMessageStringToPlatform(); message.setBodyFromString(body); }
Для версии Datareon ESB 2.4.9 для передачи данных используется следующий текст трансформации:
{ var body = message.getBodyAsBase64String(); var receivers = message.getReceivers(); var recs = "\"" + "receivers\": ["; receivers.forEach(function(item, i, receivers) 96 { recs +="\"" + item + "\"" if (i != receivers.length - 1) recs += ","; }); recs += "],"; var properties = "\"Properties\": ["; var props = message.getProperties(); var i = props.size; for (var key of props.keys()) { properties += "{"; properties += "\"Name\":\"" + key +"\","; properties += "\"Value\": { \"StringValues\": [\"" + message.getProperty(key) + "\"], \"Type\": 0 }" properties += "}"; i--; if (i >0) properties += ","; } properties += "]"; var newBody = "{" + "\"id\":" + "\"" + message.getId() + "\"," +"\"body\":" + "\"" + body + "\"," //+ "\"creationTime\":" + "\"" +message.getCreationTime() + "\"," + "\"type\":" + "\"" + message.getType() + "\"," + "\"classId\":" + "\"" + message.getClassId() + "\"," + "\"source\":" + "\"" + message.getSource() + "\"," + "\"replyTo\":" + "\"" + message.getReplyTo() + "\"," + recs + properties +"}"; message.setBodyFromString(newBody); }
Примечание
Для версий шины ниже 2.4.9 нет перегрузки по свойствам сообщения в JS трансформации, поэтому из кода выше нужно закомментировать строки, связанные со свойствами. При этом передать в Платформу свойства невозможно. После отправки в Платформу / из Платформы тип данных сообщений будет определяться по его коду в Платформе и по id класса в Datareon ESB соответственно. Для этого класса необходимо настроить соответствующих маршрут.