Взаимодействие между автоматизацией форм ввода и API Drools - PullRequest
0 голосов
/ 27 января 2020

Хотелось бы узнать, нужно ли нам оборачивать собственный механизм для подключения внешнего приложения (с form.io) к внутреннему приложению, используя REST (Spring) и Drools API.

Чтобы быть более точным c, приложение внешнего интерфейса ожидает, что структурный формат JSON будет генерировать форму с входными данными и проверками. Специалист по бизнесу определит правила настройки интерфейса пакетов (инструмент Business Central) или таблицы решений в файлах Excel.

Затем инструмент интерфейса или скрипт bat сгенерирует файлы DRL, которые будут использоваться с бэкэнд-приложением.

На данный момент, я думаю, нам нужно преобразовать правила результатов из файлов DRL в структурный формат JSON, отправляемый во внешнее приложение, которое поймет, как создавать формы.

Вот Краткий пример, чтобы объяснить, что мы хотим:

  • Возраст
  • Водительские права

Простое правило следующее:

If age >= 18 Then 
  Driver’s licence field is visible
Else 
  Driver’s licence field is not visible

Формат JSON будет выглядеть следующим образом:

{
    "title": "Person",
    "display": "form",
    "type": "form",
    "name": "person",
    "path": "person",
    "components": [{
            "type": "textfield",
            "input": true,
            "inputType": "text",
            "label": "Age",
            "key": "age"
        },
        {
            "type": "textfield",
            "label": "Driver's licence",
            "inputType": "number",
            "input": true,
            "conditional": {
                "show": "true"
            }
        },
        {
            "input": true,
            "label": "Submit",
            "key": "submit",
            "action": "submit",
            "type": "button"
        }
    ]
}

Значение show будет зависеть от того, что служба REST возвратит на основе результата правила.

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

Спасибо за ваши ответы: -)

...