Drools handledning: Regelmotor ArchiStruktur och diagram
⚡ Smart sammanfattning
Drools är ett system för hantering av affärsregler med öppen källkod skrivet i Java som skiljer affärslogik från applikationskod. Denna resurs förklarar regler, Rete-algoritmen, Drools arkitektur och komponenter, Eclipse plugin-installation och ett exempel på en Hello World-regel.

Vad är Drools?
dreglar är en öppen källkod för Business Rules Management Software (BRMS) skriven i Java som ger användarna en mängd olika funktioner som Business Rule Engine, webbredigering, Rules Management Application och runtime-stöd för beslutsmodeller och notationsmodeller. Den använder ett avancerat implementeringssystem för rete mönstermatchningsalgoritm.
Drools släpptes under Apache License 2.0 och den är kompatibel med alla JVM och även tillgänglig i Maven Central Repository.
Drools-verktyget hjälper dig att separera och resonera över logik och data som finns i affärsprocesser. Den stöder framåt och bakåt kedjade slutledningsbaserade dreglande reglermotor.
Dreglar är uppdelade i två delar:
- Författarskap – Det handlar om utveckling av regelfiler.
- Runtime – Det handlar om att skapa arbetsminne och hantera aktiveringen.
Vad är regel?
Regler är delar av kunskap som ofta uttrycks som "När specifika förhållanden uppstår, gör då några uppgifter."
Den mest avgörande delen av en regel är den när del. En gång när del är nöjd, sedan delen utlöses.
Syntax:
When <Condition is true> Then <Take desired Action>
Mönstermatchningsmetod
Mönstermatchningsmetoden hjälper dig att jämföra nya eller gamla fakta med produktionsreglerna. Den kompletteras av Inference Engine.
Algorithms som används för mönstermatchning är:
- Rete Algorithm
- Leaps Algoritm
- Linjär algoritm
- Behandlingsalgoritm
Den algoritm som oftast används av Drools är Rete Algorithm.
Rete Algorithm
Rete-algoritmen är en användbar mönstermatchningsalgoritm som låter dig implementera produktionsregelsystem. Det hjälper dig att offra minne för ökad hastighet. Det minskar eller eliminerar också specifika typer av redundans med hjälp av noddelning. Den lagrar partiella matchningar samtidigt som den utför kopplingar mellan olika faktatyper.
Dreglar härskarmotor
Dreglar härskarmotor är ett regelbaserat tillvägagångssätt för att implementera ett expertsystem i programvaran Drools. Regelmotorn tillhandahåller expertsystem som är kunskapsbaserade system som hjälper dig att fatta beslut som vad du ska göra och hur du ska göra det. Den samlar kunskap till en kunskapsbas som kan användas för resonemang.
Drools Tools Suite
Nu i denna Drools Rule Engine-handledning kommer vi att lära oss om Drools Tool Suite. Här är fem typer av verktyg som kommer som en del av Drools-sviten:
- Dreglar Guvnor: Det är ett centraliserat arkiv för Drools KnowledgeBase.
- Dreglar Flöde: Det erbjuder arbetsflöde och affärsprocesser.
- Dreglar Fusion: Verktyg som används för komplex händelsebearbetning
- Dreglar Expert eller Rules Engine: Ett användbart verktyg för att utföra resonemang.
- Dreglar Planner: Till erbjuder automatiserad planering, som inkluderar NP-hårda planeringsproblem.
Viktiga komponenter i Drools
Låt oss nu i denna Drools-handledning lära oss om viktiga komponenter i Drools.
Här är viktiga termer som används i Drools:
- Fakta – Fakta representerar de uppgifter som fungerar som indata för regler
- Arbetsminnet – Förvaring med fakta, där de används för mönstermatchning. Den kan modifieras, infogas och ta bort.
- Kunskapssession – Den här komponenten innehåller alla resurser som krävs för avfyrningsregel. Här infogas all fakta i den enstaka sessionen och sedan avfyras matchningsregler.
- Kunskapsbas – Det representerar kunskapen i Drools ekosystem. Den lagrar bildandet av resurserna där reglerna finns.
- Modulerna – Det här är en modul som lagrar flera kunskapsbaser som kan hålla olika sessioner
Architecture of Drools

Här är arbetssystemet för Drools arkitektur:
Steg 1) Reglerna laddas in i Rule Base, som är tillgängliga hela tiden.
Steg 2) Fakta registreras i arbetsminnet där de sedan kan modifieras eller omformas.tracted.
Steg 3) Processen att matcha nya eller befintliga fakta mot produktionsregler kallas mönstermatchning, som utförs av regelmotorn.
Steg 4) Dagordningen låter dig hantera exekveringsordningen för de motstridiga reglerna med hjälp av en konfliktlösningsstrategi.
Funktioner hos Dregla
Här är viktiga egenskaper hos Drool:
- Hjälper dig att skilja applikation från dynamisk logik
- Deklarativ programmering
- Centralisering av kunskap
- Hastighet och skalbarhet
- Separera logik från applikation
- Förståliga regler
Hur man lägger till Drools plugins i Eclipse
Nu i denna Drools-handledning, låt oss lära oss hur man lägger till Drools-plugin Eclipse.
Steg 1) Klicka på "Distribution ZIP" för jBPM-integration
Gå till https://www.drools.org/download/download.html och klicka på “Distribution ZIP” för jBPM-integration. När nedladdningen är klar, t.ex.tracöver den till din hårddisk.
Steg 2) Installera ny programvara
In Eclipse, välj Installera ny programvara.
Steg 3) Klicka på knappen Lägg till
Klicka på knappen Lägg till för att lägga till en programvara.
Steg 4) Bläddra i mapp
På nästa skärm, klicka på Lokal och välj mappen "org.drools.updatesite/" och klicka sedan på Ok.
Steg 5) Klicka på knappen Nästa
Klicka på knappen Nästa på installationssidan.
Steg 6) Acceptera licensavtalet
Acceptera licensavtalet och klicka på Nästa.
Steg 7) omstart Eclipse
Programvaran kommer att laddas ner och du blir ombedd att starta om Eclipse.
Steg 8) Installationsprocessen är klar
In Windows > Inställningar-menyn kommer du att se alternativet Drools som indikerar att det är installerat.
Dreglar Program Hello World Exempel
Nedan är ett Drols-exempel för Hello World-programmet:
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
Vad är Backward vs Forward Chaining?
En framåtkedjemotor kontrollerar fakta och drar en specifik slutsats.
Låt oss överväga ett scenario av det medicinska diagnossystemet. Om patientens symtom sätts in som fakta i arbetsminnet, då är det lätt att diagnostisera honom med en åkomma.
Framkedjemotor
En bakåtkedjemotor har det satta målet, och motorn försöker tillfredsställa det.
Tänk på samma scenario för medicinsk diagnos. Antag att en epidemi av en viss sjukdom. Denna AI skulle kunna anta att en given individ hade sjukdomen och försöka avgöra om dess diagnos är korrekt baserat på tillgänglig information.
Bakåtkedjande motor
Varför använda Drools Rule Engine?
Här är de främsta anledningarna till att använda Drools regelmotor:
- Reglerna är lätta att förstå för utvecklare och affärsanalytiker.
- Reglerna är lätta att underhålla.
- Rule Engine använder en Rete-algoritm som säger att motorns prestanda aldrig beror på antalet regler.
- Regler kan ändras och distribueras utan att ta bort applikationen.
- Externaliserar affärslogiken från den jämförelsevis statiska kodbasen.
- Regler är utvecklade i mindre komplicerade format så att affärsanalytikern enkelt kan läsa och verifiera en grupp regler.
- Regler låter dig skapa ett kunskapslager som är körbart i form.
- Verktyg som Eclipse hjälpa dig att hantera regler, få ett omedelbart svar, autentisering och innehållsstöd.
Nackdelar med Rules Engine
Här är nackdelarna/nackdelarna med att använda regelmotor:
- En hel del inlärningsinsatser kräver av utvecklare för att kunna denna programmeringsmetod
- Regelmotor är inte en säker metod för att felsöka problem.
- Behöver förstå hur regelmotorn fungerar för att förbruka mer minne
- Det finns en bred uppsättning regler för en komplex förgrening.
Reglerna kan ändras med tiden och kommer att träda i kraft med kodändringar












