ESB

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

Для создания внешней системы:

  1. В ЦН перейдите в раздел Интеграция -> Внешние системы.

2. Нажмите на кнопку +. В рабочей области страницы отобразится интерфейс создания / редактирования новой внешней системы, содержащий три вкладки: Основная, Коннекторы и Обработчики:

../../_images/image74.png
  1. На вкладке Основная заполните следующие поля:

  • Имя: уникальное имя системы, обязательно для заполнения.

  • Название: произвольное название системы, обязательно для заполнения.

  • Комментарий: описание системы, необязательно для заполнения.

  • Правило обработки очередей: идентификатор правила обработки очередей, заполняется в соответствии с требованиями системы.

  • Серверы: названия серверов, заполняется в соответствии с требованиями системы.

  1. Убедитесь, что флажок Включен установлен.

Примечание

По умолчанию флажок установлен. Если не предполагается вводить все необходимые данные для этой системы, флажок следует убрать и установить только по окончании ввода данных.

  1. Перейдите на вкладку Коннектор.

  2. На вкладке Коннектор выберите тип Datareon ESB:

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

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

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

  • Порт

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

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

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

Дополнительная настройка работы системы производится в режиме редактора конфигурации.

Внимание

Перед переходом в режим редактора конфигурации сохраните внесенные данные!

  1. В верхней правой части рабочего пространства расположены кнопки Перейти в режим редактора конфигурации и Сохранить. Нажмите на кнопку Сохранить. Введенные данные будут сохранены, и между кнопками появится кнопка Обновить, которую можно будет использовать для обновления данных:

    ../../_images/config_upd_save1.png
  2. Перейдите в режим редактора конфигурации, нажав на соответствующую кнопку:

../../_images/image801.png
  1. Откроется окно редактора конфигурации, содержащее начальную конфигурацию:

../../_images/image100.png
  1. Создайте новый тип данных:

../../_images/image101.png

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

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

../../_images/image103.png

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

Настройка в Datareon ESB

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

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

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

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

../../_images/image106.png
  1. Создайте трансформацию JavaScript

  • Для версии Datareon ESB 2.4.10 и выше для передачи данных используется метод message.getMessageStringToPlatform().

  • Для версии 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 соответственно. Для это класса необходимо настроить соотвествующих маршрут.