mybpm!
Скачать в формате: PDF pdf DOCX word

IN Migration Kafka примеры

Пример мигрирование поле


Термин: Бизнес-объект - БО

В дальнейшем уроке буду использовать данный термин для обозначения Бизнес-объекта


Давайте создадим бизнес-объект Клиент с полями ИИН, ИМЯ, ФАМИЛИЯ. ИИН - уникальное поле.

Для начало надо нажать на карандашик которая находиться в правом верхнем углу (серый карандаш).

businessModeAdmin

После нажатия карандаш становиться синим, это означает что вы находитесь в режиме редактирования, данном режиме можно создать бизнес объект

pencilBlue

Убедившись что карандаш стал синим, нажимаем на зелёный крест, который добавляет новый бизнес объекты и прочее

adminModeAddPlusSign

Появиться окошка и нажимаем на Бизнес-объект

adminModeAddBO

Появиться пустой БО

emptyBo

Давайте переименуем название БО на Клиент-а, для этого надо нажать на Наименование

emptyClientBo

Осталось добавить поля как мы обговаривали ИИН, ИМЯ, ФАМИЛИЯ давайте добавим. В Элементах-страницы находиться поля Число, двойным нажатием на данное поле оно зарегистрирует в БО.

numberField

Результат:

numberFieldInBo

Надо переименовать название добавленного поле на ИИН и сохранить.

iinField

Теперь добавим 2 тестовых поле для Имени и Фамилий.

twoTextField

Надо переименовать название добавленных полей на ИМЯ, ФАМИЛИЯ и сохранить.

nameAndSurnameField

Сохраняем изменения нажатием на кнопку СОХРАНИТЬ.

boWithInnNameSurname

После надо изменить код БО, и полей.

С начало изменим код самого БО, для этого надо нажать на шестиугольник которая находиться в правом верхнем углу.

shestiugolnik

Проставляем код который мы хотим, допустим будет "Client".

shestiugolnikSave

Загорелась зеленая кнопка СОХРАНИТЬ и нажимаем на него.

На этом моменте мы изменили код у БО на "Client".

Осталось изменить коды полей данного БО, у каждого поле есть свой настройки находиться правее у поля.

Нажимаем на шестерёнку.

iinFieldSettings

После нажатия должна появиться окошка настроек.

fieldSettings

Далее надо кликнуть изменить код.

fieldSettingsChangeCode

Код данного поле "IIN" такой код поля нас вполне устраивает.

Точно также надо проделать с остальными полями.

Давайте поменяем код у поля ИМЯ, для этого также нажимаем на шестерёнку у плоя ИМЯ затем кликаем на "Изменить код".

fieldSettingsChangeCode2

Код данного поле "IMYa" такой код поля нас не устраивает, меняем на "NAME"".

fieldSettingChangeCodeChanged1

Изменили теперь сохраняем.

Осталось только поле ФАМИЛИЯ давайте приступим.

Для этого точно так же как и у остальных полей нажимаем на шестерёнку у поля ФАМИЛИЯ, далее кликаем изменить код.

fieldCodeSettingsChangeCode3

Код данного поле "FAMILIYA" такой код поля нас не устраивает, меняем на "LASTNAME".

fieldSettingChangeCodeChanged2

После того как изменили код на "LASTNAME" нажимаем сохранить.

Поздравляю мы полностью подготовили БО Клиент для миграций через кафку


Давайте сформируем JSON для БО Клиент.

Как мы уже знаем,

У БО Клиент код равен "Client",

Код поля ИИН равен "IIN",

Код поля ИМЯ равен "NAME",

Код поля ФАМИЛИЯ равен "LASTNAME".

  в recordId     передаем рандомное значение.
  в externalId   передаем иднетификатор из вашей системы, если таковы имеются.
  в boCode       передаем код нашего БО которое мы определили "Client".

  в fields       имеет 2 значения "code", "apiValue".
                 в code      передаем код поле ИМЯ, как мы уже определили код поле равен "NAME"
                 в apiValue  передаем имя "Сергей".
                 Так как fields это массив передаем код и значения для полей ФАМИЛИЯ и ИИН,
                 как описано выше.
  в state        можем прописать такие значения как "ACTUAL","REMOVED", "ARCHIVED", "TEST".

Формируем JSON.

     {"recordId": "random-value",
     "externalId": "bfsseVCjGC225bM@",
     "boCode": "Clinet",
     "fields": [
        {
         "code": "NAME",
         "apiValue": "Сергей"
        },
        {
           "code" : "LASTNAME",
           "apiValue" : "Иванов"
        },
        {
           "code" : "IIN",
           "apiValue" : "17"
        }
     ],
      "state": "ACTUAL"}

Надо создать топик для кафки

Отправляем сформированный JSON в топик которую вы создали

Осталось сохранить ваш топик в настройках MyBPM.

Как сохранить топики в настройках MyBPM?

1) В меню кликнуть на Настройки.

kafka_topic_list

2) Далее появиться окошка настроек.

kafka_topic_list

3) Кликнуть на IN Миграция.

kafka_topic_list

4) Заполнить поле Список топиков топиками которые вы уже за ранее создали.

kafka_topic_list

5) После заполнение нажмите сохранить.

Система уже подписалась на ваши топики и готов мигрировать


Результат, появиться новая запись Клиента с ИИН 17, ИМЯ Сергей, ФАМИЛИЯ Иванов.

kafka_topic_list


Как мигрировать вложенный бизнес объект?

Допустим у нас есть БО Школа и Ученики. Школа может иметь много учеников, получается ONE TO MANY connection.

Структура Школы (Номер, Название, Ученик)

Структура Ученика (Имя, Фамилия, Ид)

Ид уникальное поле с помощью данного поле будем мигрировать учеников в БО Школу

С начало надо смигрировать ученика.

Описанном выше пример с клиентом, мы уже знаем как мигрировать простые Бо здесь точно так же.

Надо получить коды полей и Бо.

Код Бо ученика я поставил - "student"

Код поле Имя - "name"

Код поле Фамилия - "surname"

Код поле Ид - "student_id"

Осталось сформировать JSON и отправить в топик миграций.


var jsonStudent1 = {
    "recordId": "random-value",
    "externalId": "7fq@eZ1kpg0iwHVV",
    "boCode": "student",
    "fields": [
        {
            "code": "name",
            "apiValue": "Армэн"
        },
        {
            "code" : "surname",
            "apiValue" : "Турсынбек"
        },
        {
            "code" : "student_id",
            "apiValue" : "1"
        }
    ],
    "state": "ACTUAL"
}

var jsonStudent2 = {
    "recordId": "random-value",
    "externalId": "Iqn5iMZcg~M1I5o0",
    "boCode": "student",
    "fields": [
        {
            "code": "name",
            "apiValue": "Азамат"
        },
        {
            "code" : "surname",
            "apiValue" : "Утелхан"
        },
        {
            "code" : "student_id",
            "apiValue" : "2"
        }
    ],
    "state": "ACTUAL"
}

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


Далее надо смигрировать школу, формируем JSON.

Код Бо Школа - "school"

Код поле Номер - "number"

Код поле Название - "name"

Код поле Ученик - "student"


var schoolJson = {
    "recordId": "jklhdfsksdfjkg",
    "externalId": "MVLFsYhLv5eVbkXE",
    "boCode": "school",
    "fields": [
        {
            "code": "number",
            "apiValue": "133"
        },
        {
            "code": "name",
            "apiValue": "среднеобразовательная школа"
        }
    ],
    "boFields": [
        {
            "fieldCode": "student",
            "toBoCode": "student",
            "toFieldCode": "student_id",
            "apiValue": "1"
        },
        {
            "fieldCode": "student",
            "toBoCode": "student",
            "toFieldCode": "student_id",
            "apiValue": "2"
        }
    ],
    "state": "ACTUAL"
}

Результат создалось запись школы с двумя учениками.