слюны Workbench управляемое правило для включения нескольких правил в один файл

Я работаю над проектом Drools, который включает в себя множество правил. Мы используем правила Drools для проверки. Есть много полей и различных комбинаций ошибок. В рабочей среде Drools 6.4.0 мы используем мастер управляемых правил (с DSL), чтобы предоставить удобный для бизнеса интерфейс для создания правил. Проблема в том, что каждое новое действие управляемого правила позволит вам создать только одно правило, и оно сохраняется как один файл правила, файл .rdslr.

Если я вручную создаю правила слюни, я могу просто сгруппировать их вместе, например, 10 или 20 правил, в один файл правил. Есть ли способ добавить новое правило в существующий файл управляемых правил с помощью пользовательского интерфейса веб-правил? В противном случае мне придется создать файл правил для каждого правила, что приведет к огромному количеству файлов правил, которые очень сложно перемещать в веб-интерфейсе.

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


person Ligong Xu    schedule 17.10.2016    source источник


Ответы (1)


Если я вручную создаю правила слюни, я могу просто сгруппировать их вместе, например, 10 или 20 правил, в один файл правил. Есть ли способ добавить новое правило в существующий файл управляемых правил с помощью пользовательского интерфейса веб-правил? В противном случае мне придется создать файл правил для каждого правила, что приведет к огромному количеству файлов правил, которые очень сложно перемещать в веб-интерфейсе.

Если условия почти одинаковы, я предлагаю использовать Таблицу ориентированных решений. Один ряд - одно правило.

Если мне нужно хранить каждое правило в отдельном файле правил, есть ли ограничение на количество файлов правил?

Практический предел, не совсем - тысячи легко возможны с надлежащим компьютерным оборудованием (ЦП, ОЗУ).

Есть ли проблемы с производительностью?

С несколькими файлами правил нет. При запуске Drools обрабатывает правила во внутренне кэшированных таблицах, поэтому конечный результат будет одинаковым независимо от исходного формата правила (например, один большой файл правил, все в отдельных файлах правил).

Что касается производительности при организации правил, это больше зависит от количества правил. Производительность во время выполнения по-прежнему очень хороша при большом количестве правил. Как и ожидалось, я заметил более длительное время сборки с большим количеством правил в системе, но не медленное выполнение.

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

person Jeff    schedule 18.10.2016
comment
К сожалению, таблица решений не поддерживает DSL, и большинство наших правил проверки не могут быть выражены набором операторов по умолчанию. Я не вижу поддержки простого примера, такого как поле максимальной длины. Я хочу, чтобы пользователь мог ввести число в строке, тогда мы можем создать правило вроде myfield.length () ›maxLength, а затем добавить код ошибки. - person Ligong Xu; 24.10.2016
comment
Таблица управляемых решений имеет множество недостатков / недостатков. Две вещи относительно этого: 1. Используйте условие или действие BRL или DRL, поскольку оно позволяет кодировать необходимый фрагмент; 2. Используйте электронную таблицу для полной мощности таблиц решений и загрузите ее. Я обнаружил, что опытные конечные пользователи хорошо адаптируются к таблице решений, и им она нравится. Нет необходимости в DSL. Наконец, ваше последнее утверждение означает, что вам следует рассмотреть шаблоны Drools. Они делают это прекрасно - определяют электронную таблицу только для данных (1 строка - это данные 1 правила) и создают правило шаблона (параметризованное правило), которое генерирует одно правило для каждой строки электронной таблицы. - person Jeff; 24.10.2016
comment
можем ли мы добиться этого, расширив другие правила в управляемом редакторе правил? - person Neetika; 11.01.2017
comment
Как мы можем использовать шаблон правил в kie workbench? - person pacman; 21.01.2021