Dreglar

Dreglar
Utvecklare röd hatt
Stabil frisättning
8.31.1.Final / 8 december 2022 ; 2 månader sedan ( 2022-12-08 )
Förvar
Skrivet i Java
Operativ system Cross-plattform
Typ Regler motor
Licens ASL 2
Hemsida www .drools .org  Edit this on Wikidata

Drools är ett affärsregelhanteringssystem (BRMS) med en framåt- och bakåtkedjningsbaserad inferensbaserad regelmotor , mer korrekt känt som ett produktionsregelsystem , som använder en förbättrad implementering av Rete-algoritmen .

Drools stöder Java Rules Engine API (Java Specification Request 94)-standarden för dess affärsregelmotor och företagsramverk för konstruktion, underhåll och upprätthållande av affärspolicyer i en organisation, applikation eller tjänst.

Red Hat Decision Manager

Red Hat Decision Manager (tidigare Red Hat JBoss BRMS ) är ett affärsregelhanteringssystem och resonemangsmotor för affärspolicy och regelutveckling, åtkomst och förändringshantering. JBoss Enterprise BRMS är en produktiserad version av Drools med support på företagsnivå tillgängligt. JBoss Rules är också en produktiserad version av Drools, men JBoss Enterprise BRMS är flaggskeppsprodukten.

Komponenter i företagsversionen:

  • JBoss Enterprise Web Platform – mjukvaruinfrastrukturen, stöds endast för att köra BRMS-komponenterna
  • JBoss Enterprise Application Platform eller JBoss Enterprise SOA Platform – mjukvaruinfrastrukturen, stöds endast för att köra BRMS-komponenterna
  • Business Rules Engine – Dreglar expert med hjälp av Rete-algoritmen och DRL (Drools Rule Language)
  • Business Rules Manager – Drools Guvnor – Guvnor är ett centraliserat arkiv för Drools Knowledge Bases, med rika webbaserade GUI:er, redigerare och verktyg för att underlätta hanteringen av ett stort antal regler.
  • Affärsreglerförråd – Dreglar Guvnor

Drools och Guvnor är JBoss Community-projekt med öppen källkod. När de är mogna tas de in i den företagsförberedda produkten JBoss Enterprise BRMS.

Komponenter i JBoss Community-versionen:

  • Drools Guvnor (Business Rules Manager) – ett centraliserat arkiv för Drools kunskapsbaser
  • Dreglar Expert (regelmotor) – använder reglerna för att resonera
  • Drools Flow (process/arbetsflöde), eller jBPM 5 – tillhandahåller arbetsflöde och affärsprocesser
  • Drools Fusion (händelsebearbetning/temporala resonemang) – ger komplex händelsebearbetning
  • Drools Planner/ OptaPlanner (automatiserad planering) – optimerar automatiserad planering, inklusive NP-hårda planeringsproblem

Exempel

Detta exempel illustrerar en enkel regel för att skriva ut information om en semester i juli. Den kontrollerar ett villkor på en instans av Holiday och kör Java-kod om det villkoret är sant.

  

    
     regeln  "validera semester"  när  $h1  :  helgdag  (  månad  ==  "juli"  )  sedan  System  .  ut  .  println  (  $h1  .  namn  +  ":"  +  $h1  .  månad  );  slutet 

Syftet med dialekten " mvel " är att peka på getter och sättare för variablerna i dina klasser Plain Old Java Object (POJO). Tänk på ovanstående exempel, där en semesterklass används och inom de cirkulära parenteserna (parenteser) används " månad ". Så med hjälpdialekten " mvel " kan getter och ställare för variabeln " månad " nås.

Dialekt " java " används för att hjälpa oss att skriva vår Java-kod i våra regler. Det finns en begränsning eller egenskap för detta. Vi kan inte använda Java-kod i "när"-delen av regeln men vi kan använda Java-kod i "då"-delen.

Vi kan också deklarera en referensvariabel $h1 utan symbolen $ . Det finns ingen begränsning på detta. Huvudsyftet med att sätta $ -symbolen före variabeln är att markera skillnaden mellan variabler för POJO-klasser och regler.

Se även

externa länkar