Введение
Бизнес-правила — это абстракции, отражающие политики и практики бизнес-организации. В разработке компьютерного программного обеспечения подход, основанный на бизнес-правилах, представляет собой методологию разработки, при которой правила представлены в форме, используемой системами управления бизнес-процессами, но необязательно встроенной в них. Этот подход формализует критически важные бизнес-правила предприятия на языке, понятном как менеджерам, так и специалистам в области технологий. Бизнес-правила формируют недвусмысленное описание действий, которые бизнес выполняет с информацией для принятия решения. Формальная спецификация становится входными данными для механизмов обработки процессов и правил.
Автоматизация бизнес-процессов
Бизнес-правила – это закономерный этап в применении компьютерных технологий, призванный повысить производительность труда. Автоматизированные бизнес-процессы, содержащие встроенную бизнес-логику, часто требуют значительных затрат времени на изменение, и такие изменения могут быть подвержены ошибкам. А в условиях, когда жизненный цикл бизнес-моделей значительно сократился, способность оперативно адаптироваться к изменениям внешней среды становится все более критичной. Именно эти потребности удовлетворяет подход, основанный на бизнес-правилах.
Гибкость бизнеса
Бизнес-правила повышают гибкость бизнеса. А управляемость бизнес-процессов также возрастает по мере повышения доступности правил.
Технические детали
Программы, разработанные специально для выполнения бизнес-правил, называются движками правил. Более полные системы, поддерживающие создание, развертывание и управление бизнес-правилами, называются системами управления бизнес-правилами (BRMS). Многие коммерческие движки правил предоставляют алгоритм Rete – запатентованный алгоритм, воплощающий многие принципы Rete. Однако существуют и другие алгоритмы выполнения, такие как последовательный алгоритм (в терминологии ILOG и Blaze Advisor), алгоритмы оценки таблиц/деревьев решений и алгоритмы, оптимизированные для иерархического XML. Алгоритм Rete – это алгоритм сопоставления с состоянием, предназначенный для минимизации повторной оценки одних и тех же проверок для множества объектов/атрибутов и правил. Различные области применения лучше подходят для алгоритмов выполнения на основе Rete и не на основе Rete. Для простых приложений без сохранения состояния с минимальным общим использованием условий между правилами предпочтительнее может быть алгоритм выполнения, не основанный на Rete (например, последовательный алгоритм). Для оценки таблиц и деревьев решений алгоритм, использующий иерархические связи между условиями правил, может работать эффективнее, чем простой алгоритм Rete или последовательный алгоритм, настроенный на дискретные правила. Бизнес-правила могут быть выражены на традиционных языках программирования или естественных языках. В некоторых коммерческих BRMS правила также могут быть представлены в удобных для пользователя формах, таких как таблицы решений и деревья решений. При наличии подходящего интерфейса для проектирования или редактирования таблиц или деревьев решений бизнес-пользователи могут проверять или изменять правила напрямую, с минимальным участием ИТ-специалистов. Когда правила выражены на естественном языке, необходимо сначала определить словарь, содержащий слова и выражения, соответствующие бизнес-объектам и условиям, а также операции, связанные с ними. Чтобы правила могли быть выполнены движком правил, необходимо также реализовать эти операции и условия на языке программирования. С определенным и реализованным словарем относительно легко писать правила в BRMS. Изменения также можно вносить быстро, если они могут быть выражены с использованием существующего словаря. В противном случае словарь необходимо расширить. Разделение словаря и логики позволяет моделировать бизнес-правила, где бизнес-пользователь определяет свою бизнес-логику, а ИТ-специалисты интегрируют данные и сгенерированный код в целевое приложение. Бизнес-правила также являются ключевым элементом подхода управления корпоративными решениями к автоматизации принятия решений. Все чаще бизнес-правила рассматриваются как критически важный компонент решений для управления бизнес-процессами из-за необходимости обеспечения гибкости.
Отношение к управлению базами данных
Как утверждает Кристофер Дж. Дата, бизнес-правила преобразуются в ограничения целостности данных, если рассматривать их в контексте реляционной модели управления базами данных. Таким образом, настоящую РСУБД можно рассматривать как декларативный механизм бизнес-правил с расширенными возможностями управления данными. Однако бизнес-правила не обязательно должны рассматриваться исключительно как ограничения. Их также можно использовать для определения конструктивных бизнес-политик, например, "предпочтительным клиентам предоставляется скидка в размере 10%". В этом случае бизнес-правила больше похожи на SQL-запросы, чем на ограничения целостности данных.
Отношение к управлению бизнес-процессами
Некоторые аналитики считают, что сочетание технологий бизнес-правил с управлением бизнес-процессами обеспечивает гибкий подход к организации рабочих процессов и интеграции предприятия. Программное обеспечение BPM и BR поддерживает бизнес-цели, управляя и выполняя бизнес-процессы и бизнес-правила раздельно, но взаимодополняющим образом. Бизнес-процесс часто представляет собой сложную схему управления потоками. Он может включать множество подпроцессов, точек принятия решений и циклов. Везде, где встречаются решения или циклы, бизнес-правила могут оценивать данные, предоставляемые процессом, и определять основания для изменения потока. Зачастую существуют отдельные причины для обновления процессов или правил. Новые нормативные требования или бизнес-стратегии могут повлиять на правила, не затрагивая основные бизнес-процессы. Новые приложения или процедуры могут изменить бизнес-процесс. В любом случае, комплексный подход к правилам и процессам может быть очень эффективным. Поскольку все больше поставщиков BPM либо интегрируют движки бизнес-правил в свои системы BPM, либо используют системы управления бизнес-правилами от других производителей, бизнес-правила, похоже, становятся частью функциональности BPM.