Drools Tutorial: Pravidlo ArchiTektura a diagram

⚡ Chytré shrnutí

Drools je open-source systém pro správu obchodních pravidel napsaný v Java který odděluje obchodní logiku od aplikačního kódu. Tento zdroj vysvětluje pravidla, algoritmus Rete, architekturu a komponenty Drools, Eclipse nastavení pluginu a příklad pravidla Hello World.

  • ⚙️ Základní definice: Drools je JavaSystém BRMS založený na platformě .NET, který spouští obchodní pravidla pomocí algoritmu porovnávání vzorů Rete.
  • 📜 Struktura pravidel: Pravidlo se řídí formátem kdy-pak a spustí akce pouze tehdy, když jeho podmínky odpovídají faktům v pracovní paměti.
  • 🏗️ Archistruktura: Pravidla se načtou do databáze pravidel, fakta se dostanou do pracovní paměti a engine je porovná a spustí pomocí agendy.
  • 🔌 Eclipse Setup: Plugin Drools se nainstaluje do Eclipse prostřednictvím ZIP distribučního balíčku jBPM a dialogového okna Instalace nového softwaru.
  • 🔄 Režimy řetězení: Drools podporuje dopředné řetězení od faktů k závěrům a zpětné řetězení od cíle zpět k faktům.

Drools Tutorial

Co je Drools?

Slintá je open-source software pro správu obchodních pravidel (BRMS) napsaný v Java který uživatelům poskytuje řadu funkcí, jako je Business Rule Engine, tvorba webu, aplikace pro správu pravidel a běhová podpora pro modely rozhodovacího modelu a notace. Využívá pokročilý implementační systém algoritmu porovnávání vzorů sítě.

Drools byl vydán pod licencí Apache 2.0 a je kompatibilní s jakýmkoli JVM a je k dispozici také v centrálním úložišti Maven.

Nástroj Drools vám pomůže oddělit a zdůvodnit logiku a data nalezená v obchodních procesech. Podporuje dopředné a zpětné řetězení založené na principu slintání.

Sliny jsou rozděleny na dvě části:

  • Authoring – Zahrnuje vývoj souborů pravidel.
  • Runtime – Zahrnuje vytvoření pracovní paměti a manipulaci s aktivací.

Co je pravidlo?

Pravidla jsou součástí znalostí, které se často vyjadřují jako: „Když nastanou specifické podmínky, proveďte nějaké úkoly“.

Nejdůležitější částí pravidla je to kdy část. Jednou kdy část je spokojená, pak součást je spuštěna.

Syntaxe:

When
<Condition is true>
Then
<Take desired Action>

Metoda porovnávání vzorů

Metoda porovnávání vzorů vám pomůže porovnat nová nebo stará fakta s produkčními pravidly. Doplňuje jej Inference Engine.

Algorithms pro porovnávání vzorů se používají:

  • Algoritmus Rete
  • Algoritmus skoků
  • Lineární algoritmus
  • Algoritmus ošetření

Algoritmus, který Drools většinou používá, je však Rete Algorithm.

Algoritmus Rete

Algoritmus Rete je užitečný algoritmus porovnávání vzorů, který vám umožňuje implementovat systémy produkčních pravidel. Pomáhá vám obětovat paměť pro zvýšení rychlosti. S pomocí sdílení uzlů také snižuje nebo odstraňuje specifické typy redundance. Ukládá částečné shody při provádění spojení mezi různými typy faktů.

Motor pravidla slintání

Motor pravidla slintání je přístup založený na pravidlech k implementaci systému Expert v softwaru Drools. Modul pravidel poskytuje expertní systémy, což jsou systémy založené na znalostech, které vám pomáhají rozhodovat se, co dělat a jak to dělat. Shromažďuje znalosti do znalostní báze, kterou lze použít pro uvažování.

Sada nástrojů Drools

Nyní v tomto tutoriálu Drools Rule Engine se dozvíme o Drools Tool Suite. Zde je pět typů nástrojů, které jsou součástí sady Drools:

  • Slintá Guvnor: Je to centralizované úložiště pro Drools KnowledgeBase.
  • Tok slin: Nabízí workflow a obchodní procesy.
  • Slintání Fusion: Nástroj používaný pro komplexní zpracování událostí
  • Drools Expert nebo Rules Engine: Užitečný nástroj pro provádění uvažování.
  • Plánovač slin: Nabízí automatizované plánování, které zahrnuje NP-tvrdé plánovací problémy.

Důležité komponenty v Drools

Nyní se v tomto tutoriálu Drools seznámíme s důležitými součástmi Drools.

Zde jsou základní pojmy používané v Drools:

  • Fakta – Fakt představují data, která slouží jako vstup pro pravidla
  • Pracovní paměť – Storage with Facts, kde se používají pro porovnávání vzorů. Lze jej upravovat, vkládat a odebírat.
  • Sezení znalostí – Tato komponenta obsahuje všechny prostředky potřebné pro pravidlo střelby. Zde jsou všechna fakta vložena do jediné relace a poté jsou spuštěna odpovídající pravidla.
  • Znalostní báze – Představuje znalosti v ekosystému Drools. Ukládá tvorbu zdrojů, kde se nacházejí pravidla.
  • Modul – Toto je modul, který ukládá více bází znalostí, které mohou mít různé relace

Architecture of Drools

Motor pravidla slintání Architecture
Motor pravidla slintání Architecture

Zde je pracovní systém architektury Drools:

Krok 1) Pravidla se načítají do databáze pravidel, která jsou neustále k dispozici.

Krok 2) Fakta se ukládají do pracovní paměti, kde je pak lze upravit nebo přepracovat.tracted.

Krok 3) Proces porovnávání nových nebo existujících skutečností s produkčními pravidly se nazývá porovnávání vzorů, které provádí modul pravidel.

Krok 4) Agenda umožňuje řídit exekuční příkaz kolidujících pravidel pomocí strategie řešení konfliktů.

Vlastnosti Drool

Zde jsou důležité funkce Drool:

  • Pomáhá oddělit aplikaci od dynamické logiky
  • Deklarativní programování
  • Centralizace znalostí
  • Rychlost a škálovatelnost
  • Oddělte logiku od aplikace
  • Srozumitelná pravidla

Jak přidat pluginy Drools Eclipse

Nyní v tomto tutoriálu Drools se naučíme, jak přidat plugin Drools Eclipse.

Krok 1) Klikněte na „Distribution ZIP“ pro integraci jBPM
Přejít https://www.drools.org/download/download.html a klikněte na „Distribuční ZIP“ pro integraci jBPM. Po stažení, např.tracnapište si to na pevný disk.

Přidejte pluginy Drools Eclipse

Krok 2) Nainstalujte nový software
In Eclipse, vyberte Instalovat nový software.

Přidejte pluginy Drools Eclipse

Krok 3) Klikněte na tlačítko Přidat
Kliknutím na tlačítko Přidat přidáte software.

Přidejte pluginy Drools Eclipse

Krok 4) Procházet složku
Na další obrazovce klikněte na Místní a vyberte složku „org.drools.updatesite/“ a poté klikněte na OK.

Přidejte pluginy Drools Eclipse

Krok 5) Klikněte na tlačítko Další
Na stránce opravy instalace klikněte na tlačítko Další.

Přidejte pluginy Drools Eclipse

Krok 6) Přijměte licenční smlouvu
Přijměte licenční smlouvu a klepněte na tlačítko Další.

Přidejte pluginy Drools Eclipse

Krok 7) Restart Eclipse
Software se stáhne a budete požádáni o restartování eclipse.

Krok 8) Proces instalace dokončen
In Windows > v nabídce Preferences (Předvolby), uvidíte možnost Drools označující, že je nainstalována.

Přidejte pluginy Drools Eclipse

Příklad programu slintání Hello World

Níže je uveden příklad Drools pro program 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

Co je zpětné vs. dopředné řetězení?

Dopředný řetězový motor kontroluje fakta a vyvozuje konkrétní závěr.

Podívejme se na scénář systému lékařské diagnostiky. Pokud se pacientovy symptomy uloží jako fakta do pracovní paměti, pak je snadné diagnostikovat jeho onemocnění.

Zpětné vs. dopředné řetězení

Motor s předním řetězem

Zpětný řetězový motor má stanovený cíl a motor se mu snaží vyhovět.

Zvažte stejný scénář lékařské diagnózy. Předpokládejme, že jde o epidemii určité nemoci. Tato umělá inteligence by mohla předpokládat, že daný jedinec měl onemocnění, a pokusit se na základě dostupných informací určit, zda je jeho diagnóza správná.

Zpětné vs. dopředné řetězení

Zpětně řetězový motor

Proč používat Drools Rule Engine?

Zde jsou hlavní důvody pro použití modulu pravidel Drools:

  • Pravidla jsou snadno srozumitelná pro vývojáře a obchodní analytici.
  • Pravidla jsou snadno udržovatelná.
  • Rule Engine používá algoritmus Rete, který říká, že výkon motoru nikdy nezávisí na počtu pravidel.
  • Pravidla lze upravovat a nasazovat, aniž by bylo nutné aplikaci vypnout.
  • Externalizuje obchodní logiku z poměrně statické kódové základny.
  • Pravidla jsou vyvíjena v méně komplikovaných formátech, takže obchodní analytik může snadno přečíst a ověřit skupinu pravidel.
  • Pravidla umožňují vytvořit sklad znalostí, který je spustitelný ve formě.
  • Nástroje jako Eclipse vám pomohou spravovat pravidla, získat okamžitou odpověď, ověřování a podporu obsahu.

Nevýhody modulu Rules Engine

Zde jsou nevýhody/nevýhody používání modulu pravidel:

  • Znalost této metody programování vyžaduje od vývojářů velké úsilí při učení
  • Modul pravidel není bezpečnou metodou k řešení problémů.
  • Potřebuje pochopit fungování nástroje pro pravidla, aby spotřebovával více paměti.
  • Existuje široká sada pravidel pro složité větvení.

Pravidla se mohou časem měnit a vstoupí v platnost se změnami kódu

Nejčastější dotazy

Ano. Drools je vydán pod licencí Apache 2.0 a je zcela zdarma a s otevřeným zdrojovým kódem. Běží na jakémkoli JVM a je k dispozici prostřednictvím Maven Central Repository pro snadnou integraci do projektů.

Pravidla Drools jsou psána v DRL (Drools Rule Language), což je deklarativní syntax založený na struktuře „když-pak“. Pravidla lze také vytvářet pomocí rozhodovacích tabulek, modelů DMN nebo doménově specifických jazyků pro firemní uživatele.

Pravidlový engine externalizuje logiku do udržovatelných pravidel, která se mění bez nutnosti opětovného nasazení aplikace. Pevně ​​zakódovaná logika if-else je rozptýlená v kódové základně, hůře se aktualizuje a neškáluje se dobře s rostoucím počtem podmínek.

Drools implementuje expertní systémy, klasickou větev umělé inteligence, kódováním lidských znalostí do pravidel. Engine uvažuje o faktech, aby dospěl k závěrům, a podporuje řetězení dopředu a zpět podobně jako symbolické rozhodovací systémy umělé inteligence.

Ano. Asistenti s umělou inteligencí dokáží navrhovat pravidla pro denní spotřebu (DRL) z požadavků v otevřeném jazyce, detekovat konfliktní nebo redundantní pravidla a navrhovat optimalizace. Týmy i nadále ověřují vygenerovaná pravidla, aby zajistily správnou obchodní logiku a spolehlivé provedení.

Shrňte tento příspěvek takto: