Datareon ESB

Создание внешней системы Datareon ESB

Коннектор Datareon ESB позволяет подключить к системе связующее программное обеспечение Datareon ESB.

Чтобы приступить к настройке коннектора, на вкладке Коннектор выберите тип Datareon ESB. После выбора типа коннектора станут доступны поля для ввода характеристик коннектора:

../../_images/image99.png

Основные настройки

Укажите порт исходящей точки ESB «REST-клиент» для передачи данных на сервер Платформы.

Укажите данные входящей точки ESB «REST-клиент» для приема данных от сервера Платформы в следующих полях:

  • Адрес сервера адаптера ESB

  • Порт

  • Имя адаптера

При необходимости использовать протокол HTTPS для поддержки шифрования установите флажок использовать https.

Установите значение Таймаут вызова (по умолчанию 60 сек.)

Дополнительные действия

Создайте новый тип данных:

../../_images/image101.png

Создайте обработчик с созданным ранее типом данных:

../../_images/image102.png

Создайте бизнес-процесс без обработчика, который отправляет данные в ранее созданную систему:

../../_images/image103.png

В шине создайте адаптер с наименованием, указанным при настройке Коннектора в Платформе - RESTserver. На входящей точке добавьте стандартный REST-сервер. Укажите формат сообщения: Json. На исходящей точке добавьте REST-клиент.

Настройка подсистемы в Datareon ESB

Внимание

Подсистема для ESB версии ниже 1.4.6.0009 не поддерживает работу по протоколу TCP с версией совместимости 8.3.21 и выше.

Для настройки подсистемы в Datareon ESB:

  1. Создайте REST-сервер на входящей точке с именем RESTserver. Укажите формат сообщения: Json.

    ../../_images/image104.png
  2. Создайте REST-клиент на исходящей точке, где указываем путь к Платформе - имя системы, порт:

    ../../_images/image105.png
  3. В методе укажите content-type в примере json:

    ../../_images/image106.png
  4. Создайте трансформацию 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 соответственно. Для этого класса необходимо настроить соответствующих маршрут.