Введение
Бизнес-мотор правил — это программная система, которая выполняет одно или несколько бизнес-правил в рабочей среде во время выполнения. Правила могут быть основаны на требованиях законодательства («Сотрудника можно уволить по любой причине или без причины, но не по незаконной»), политике компании («Всем клиентам, потратившим более 100 долларов за один раз, предоставляется скидка 10%») или других источниках. Система бизнес-правил позволяет определять, тестировать, выполнять и поддерживать эти корпоративные политики и другие операционные решения отдельно от кода приложения. Моторы правил обычно поддерживают правила, факты, приоритет (вес), взаимное исключение, предусловия и другие функции. Программное обеспечение для работы с правилами часто предоставляется как компонент системы управления бизнес-правилами, которая, помимо прочего, обеспечивает возможность: регистрировать, определять, классифицировать и управлять всеми правилами, проверять согласованность определений правил («Клиенты "золотого" уровня имеют право на бесплатную доставку при количестве заказанных товаров более 10» и «Максимальное количество заказанных товаров для клиентов "серебряного" уровня равно 15»), определять взаимосвязи между различными правилами и связывать некоторые из этих правил с ИТ-приложениями, на которые они влияют или которым необходимо обеспечивать соблюдение одного или нескольких правил.
Случай использования ИТ
В любом ИТ-приложении бизнес-правила могут меняться чаще, чем другие части кода. Двигатели правил или машины логического вывода выступают в качестве подключаемых программных компонентов, которые выполняют бизнес-правила, выделенные или отделенные от кода приложения с помощью подхода, основанного на бизнес-правилах. Такое выделение или разделение позволяет бизнес-пользователям изменять правила без участия ИТ-специалистов. Система в целом становится более гибкой благодаря таким внешним бизнес-правилам, однако это не отменяет необходимости стандартных процедур контроля качества и других видов тестирования.
История
В статье в Computerworld история систем управления правилами восходит к началу 1990-х годов и продуктам таких компаний, как Pegasystems, Fair Isaac Corp, ILOG и eMerge от Sapiens.
Системы управления правилами для контроля доступа / авторизации
Одним из распространенных вариантов использования движков правил является стандартизированный контроль доступа к приложениям. OASIS определяет архитектуру движка правил и стандарт, предназначенный для контроля доступа, называемый XACML (eXtensible Access Control Markup Language). Одно из ключевых различий между движком правил XACML и движком бизнес-правил заключается в том, что движок правил XACML не имеет состояния и не может изменять состояние каких-либо данных. Движок правил XACML, называемый точкой принятия решений по политике (PDP), ожидает вопрос, требующий ответа "да" или "нет", например: "Может ли Алиса просмотреть документ D?" и возвращает решение, например, "разрешено" / "запрещено".