Підручник Drools: Drools Rule Engine Archiтектура та приклади
Що таке Drools?
Течуть слини це програмне забезпечення для керування бізнес-правилами (BRMS) із відкритим кодом, написане на Java який надає користувачам різноманітні функції, такі як механізм бізнес-правил, створення веб-сторінок, додаток для керування правилами та підтримка виконання моделей рішень і нотацій. Він використовує вдосконалену систему реалізації алгоритму зіставлення шаблонів rete.
Drools був випущений під ліцензією Apache 2.0 і сумісний з будь-якою JVM, а також доступний у центральному сховищі Maven.
Інструмент Drools допомагає вам розділяти та міркувати над логікою та даними, які містяться в бізнес-процесах. Він підтримує механізм правил прямого та зворотного ланцюжків на основі висновків.
Слини поділяються на дві частини:
- Авторство – Це передбачає розробку файлів правил.
- Час виконання – Це передбачає створення робочої пам’яті та обробку активації.
Що таке правило?
Правила — це частини знань, які часто виражаються так: «Якщо виникають певні умови, тоді виконуйте певні завдання».
Найважливішою частиною правила є його коли частина. Один раз коли частина задоволена, потім частина спрацьовує.
Синтаксис:
When <Condition is true> Then <Take desired Action>
Метод зіставлення шаблону
Метод зіставлення шаблонів допомагає вам порівнювати нові чи старі факти з правилами виробництва. Його завершує механізм логічного висновку.
Algorithms для зіставлення шаблонів використовуються:
- Алгоритм Рете
- Алгоритм стрибків
- Лінійний алгоритм
- Алгоритм лікування
Однак Drools найчастіше використовує алгоритм Rete.
Алгоритм Рете
Алгоритм Rete — це корисний алгоритм зіставлення шаблонів, який дозволяє впроваджувати системи правил виробництва. Це допоможе вам пожертвувати пам'яттю заради збільшення швидкості. Це також зменшує або усуває певні типи резервування за допомогою спільного використання вузлів. Він зберігає часткові збіги під час виконання об’єднань між різними типами фактів.
Двигун Правил Слин
Двигун Правил Слин це підхід на основі правил для впровадження експертної системи в програмне забезпечення Drools. Механізм правил надає експертні системи, які є системами на основі знань, які допомагають вам приймати рішення, наприклад, що робити і як це робити. Він збирає знання в базу знань, яку можна використовувати для міркувань.
Набір інструментів Drools
Тепер у цьому підручнику Drools Rule Engine ми дізнаємось про Drools Tool Suite. Ось п’ять типів інструментів, які є частиною набору Drools:
- Тече слина у Гувнора: це централізоване сховище для бази знань Drools.
- Слини течуть: пропонує робочий процес і бізнес-процеси.
- Тече слюня Фьюжн: Інструмент, що використовується для складної обробки подій
- Drools Expert або Rules Engine: корисний інструмент для міркування.
- Планувальник слюнок: To пропонує автоматизоване планування, яке включає NP-складні задачі планування.
Важливі компоненти в Drools
У цьому посібнику з Drools давайте дізнаємося про важливі компоненти Drools.
Ось основні терміни, які використовуються в Drools:
- факти – Факт представляє дані, які служать вхідними для правил
- Робоча пам'ять – Зберігання з фактами, де вони використовуються для зіставлення шаблонів. Його можна змінювати, вставляти та видаляти.
- Сесія знань – Цей компонент містить усі ресурси, необхідні для правила запуску. Тут усі факти вставляються в один сеанс, а потім запускаються відповідні правила.
- База знань – Він представляє знання в екосистемі Drools. Він зберігає формування ресурсів, де знаходяться правила.
- Модулі – Це модуль, який зберігає кілька баз знань, які можуть містити різні сеанси
Archiтектура Слин

Ось робоча система архітектури Drools:
Крок 1) Правила завантажуються в базу правил, яка доступна постійно.
Крок 2) Факти стверджуються в робочій пам’яті, де їх потім можна змінити або відкликати.
Крок 3) Процес зіставлення нових або існуючих фактів із правилами виробництва називається зіставленням шаблонів, яке виконується механізмом правил.
Крок 4) Порядок денний дозволяє керувати порядком виконання суперечливих правил за допомогою стратегії вирішення конфлікту.
Особливості Drool
Ось важливі функції Drool:
- Допомагає відокремити програму від динамічної логіки
- Декларативне програмування
- Централізація знань
- Швидкість і масштабованість
- Відокремте логіку від програми
- Зрозумілі правила
Як додати плагіни Drools Eclipse
У цьому посібнику з Drools давайте дізнаємося, як додати плагін Drools Eclipse.
Крок 1) Натисніть «Поширення ZIP» для інтеграції jBPM
Перейдіть до https://www.drools.org/download/download.html і натисніть «Distribution ZIP» для інтеграції jBPM. Після завантаження розпакуйте його на жорсткий диск.
Крок 2) Встановіть нове програмне забезпечення
In Eclipseвиберіть «Установити нове програмне забезпечення».
Крок 3) Натисніть кнопку Додати
Натисніть кнопку «Додати», щоб додати програмне забезпечення.
Крок 4) Огляд папки
На наступному екрані натисніть «Локальний» і виберіть папку «org.drools.updatesite/», а потім натисніть «ОК».
Крок 5) Натисніть кнопку Далі
На сторінці виправлення встановлення натисніть кнопку Далі.
Крок 6) Прийміть ліцензійну угоду
Прийміть ліцензійну угоду та натисніть «Далі».
Крок 7) Перезавантажувати Eclipse
Програмне забезпечення завантажиться, і вам буде запропоновано перезавантажити eclipse.
Крок 8) Процес встановлення завершено
In Windows > Меню налаштувань, ви побачите опцію Drools, що вказує на її встановлення.
Приклад програми Drools Hello World
Нижче наведено приклад Drools для програми Hello World:
package com.sample import com.sample.DroolsTest.Message; rule "Hello World" when m : Message( status ** Message.Hello, myMessage : message ) then System.out.println( myMessage ); m.setMessage( "Goodbye cruel world" ); m.setStatus( Message.GOODBYE ); update( m ); end rule "GoodBye" when Message( status ** Message.GOODBYE, myMessage : message ) then System.out.println( myMessage ); end
Що таке зворотне чи пряме з’єднання?
Механізм прямого ланцюга перевіряє факти та робить конкретний висновок.
Розглянемо сценарій системи медичної діагностики. Якщо симптоми пацієнта закладені як факти в оперативну пам'ять, то легко діагностувати у нього захворювання.
Двигун з переднім ланцюгом
Двигун зворотного ланцюжка має поставлену мету, і двигун намагається її задовольнити.
Розглянемо такий же сценарій медичного діагнозу. Припустимо, що виникла епідемія якогось захворювання. Цей штучний інтелект може припустити, що дана особа хвора на хворобу, і спробувати визначити, чи правильний її діагноз на основі наявної інформації.
Двигун із зворотним ланцюгом
Навіщо використовувати Drools Rule Engine?
Ось основні причини використання механізму правил Drools:
- Правила прості для розуміння розробниками та бізнес-аналітики.
- Правила легко підтримувати.
- Rule Engine використовує алгоритм Rete, який стверджує, що продуктивність механізму ніколи не залежить від кількості правил.
- Правила можна змінювати та застосовувати без припинення роботи програми.
- Виводить бізнес-логіку з порівняно статичної кодової бази.
- Правила розроблено в менш складних форматах, щоб бізнес-аналітик міг легко прочитати та перевірити групу правил.
- Правила дозволяють створити сховище знань, яке є виконуваним у формі.
- Такі інструменти, як Eclipse допоможе вам керувати правилами, отримати миттєву відповідь, автентифікацію та підтримку вмісту.
Недоліки Rules Engine
Ось недоліки/мінуси використання механізму правил:
- Знання цього методу програмування вимагає від розробників великих зусиль у навчанні
- Механізм правил не є безпечним методом вирішення проблем.
- Потрібно розуміти роботу механізму правил, щоб споживати більше пам’яті
- Існує широкий набір правил для складного розгалуження.
Правила можуть змінюватися з часом і набудуть чинності після зміни коду
Підсумки
- JBoss Drools — це платформа інтеграції бізнес-логіки (BLiP)
- Типи інструменту Drool: 1) Drools Guvnor 2) Drools Flow 3) Drools Fusion 4) Drools Expert 5) Drools, Planner.
- Drool допомагає вам відокремити програму від динамічної логіки.
- Факт представляє дані, які служать вхідними для правил.
- Робоча пам'ять - це сховище з фактами, де вони використовуються для зіставлення шаблонів. Його можна змінювати, вставляти та видаляти.
- База знань – це компонент, який містить усі ресурси, необхідні для запуску правила.
- Сесія знань представляє знання в екосистемі Drools.
- База знань представляє знання в екосистемі Drools.
- Модуль зберігає кілька баз знань, які можуть проводити різні сесії.
- Правила — це частини знань, які часто виражаються так: «Якщо виникають певні умови, тоді виконуйте певні завдання».
- Drools — це система правил, яка використовує підхід на основі правил для реалізації експертної системи.
- Механізм прямого ланцюга перевіряє факти та робить конкретний висновок.
- Двигун зворотного ланцюжка має поставлену мету, і двигун намагається її задовольнити.
- Алгоритм Rete — це корисний алгоритм зіставлення шаблонів, який дозволяє впроваджувати системи правил виробництва.
- Правила прості для розуміння розробниками та бізнес-аналітиками.
- Основним недоліком використання механізму правил, такого як Drool, є те, що розробникам потрібно багато зусиль у навчанні, щоб знати цей метод програмування.