Drools Tutorial: Drools Rule Engine Architecture & esimerkit

Mikä Drools on?

drools on avoimen lähdekoodin Business Rules Management Software (BRMS), joka on kirjoitettu sisään Java joka tarjoaa käyttäjille erilaisia ​​ominaisuuksia, kuten Business Rule Enginen, Webin luomisen, sääntöjen hallintasovelluksen ja ajonaikaisen tuen päätösmalli- ja merkintämalleille. Se käyttää kehittynyttä toteutusjärjestelmää rete kuvion sovitusalgoritmi.

Drools julkaistiin Apache License 2.0:lla ja se on yhteensopiva minkä tahansa JVM:n kanssa ja saatavilla myös Maven Central Repositorysta.

Drools-työkalu auttaa sinua erottamaan ja perustelemaan liiketoimintaprosesseista löytyvää logiikkaa ja dataa. Se tukee eteenpäin ja taaksepäin ketjutusta päätelmiin perustuvaa drools-sääntömoottoria.

Kuolat on jaettu kahteen osaan:

  • Tekijä – Se sisältää sääntötiedostojen kehittämisen.
  • Runtime – Se sisältää työmuistin luomisen ja aktivoinnin käsittelyn.

Mikä on sääntö?

Säännöt ovat tiedon osia, jotka usein ilmaistaan ​​seuraavasti: "Kun tietyt olosuhteet ilmenevät, suorita tehtäviä."

Säännön tärkein osa on se kun osa. Kerran kun osa on tyytyväinen, sitten osa laukeaa.

Syntaksi:

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

Kuvioiden sovitusmenetelmä

Kuvioiden täsmäytysmenetelmä auttaa vertailemaan uusia tai vanhoja faktoja tuotantosääntöihin. Sen täydentää Inference Engine.

Algorithms Kuvioiden yhteensovittamiseen käytetään seuraavia:

  • Rete Algorithm
  • Leaps-algoritmi
  • Lineaarinen algoritmi
  • Käsittelyalgoritmi

Droolsin enimmäkseen käyttämä algoritmi on kuitenkin Rete-algoritmi.

Rete Algorithm

Rete-algoritmi on hyödyllinen mallinsovitusalgoritmi, jonka avulla voit toteuttaa tuotantosääntöjärjestelmiä. Se auttaa sinua uhraamaan muistia nopeuden lisäämiseksi. Se myös vähentää tai poistaa tietyntyyppistä redundanssia solmujen jakamisen avulla. Se tallentaa osittaiset osumat suorittaessaan liitoksia eri faktatyyppien välillä.

Drools Rule Engine

Drools Rule Engine on sääntöihin perustuva lähestymistapa Expert-järjestelmän toteuttamiseen Drools-ohjelmistossa. Sääntömoottori tarjoaa Expert-järjestelmiä, jotka ovat tietoon perustuvia järjestelmiä, jotka auttavat sinua tekemään päätöksiä, kuten mitä tehdä ja miten se tehdään. Se kokoaa tietoa tietopohjaksi, jota voidaan käyttää päättelyyn.

Drools Tools Suite

Nyt tässä Drools Rule Engine -opetusohjelmassa opimme Drools Tool Suitesta. Tässä on viisi työkalutyyppiä, jotka kuuluvat Drools-sarjaan:

  • Kuolaa Guvnor: Se on Drools KnowledgeBase -tietokannan keskitetty arkisto.
  • Drools Flow: Se tarjoaa työnkulkua ja liiketoimintaprosesseja.
  • Drools Fusion: Työkalu, jota käytetään monimutkaiseen tapahtumien käsittelyyn
  • Drools Expert tai Rules Engine: Hyödyllinen työkalu päättelyn suorittamiseen.
  • Drools Planner: To tarjoaa automatisoidun suunnittelun, joka sisältää NP-vaikeita suunnitteluongelmia.

Tärkeitä komponentteja Droolsissa

Nyt tässä Drools-opetusohjelmassa opitaan Droolsin tärkeistä osista.

Tässä ovat tärkeimmät Droolsissa käytetyt termit:

  • Faktat – Faktat edustavat tietoja, jotka toimivat sääntöjen syötteenä
  • Työmuisti – Säilytys faktoilla, jossa niitä käytetään kuvioiden yhteensovittamiseen. Sitä voidaan muokata, lisätä ja poistaa.
  • Tietosessio – Tämä komponentti sisältää kaikki laukaisusäännön edellyttämät resurssit. Täällä kaikki tosiasiat lisätään yhteen istuntoon, ja sitten vastaavat säännöt otetaan käyttöön.
  • Knowledge Base – Se edustaa Droolsin ekosysteemin tietoa. Se tallentaa resurssien muodostuksen, jossa säännöt löytyvät.
  • Moduulit – Tämä on moduuli, joka tallentaa useita tietokantoja, jotka voivat sisältää erilaisia ​​istuntoja

ArchiDroolsin tecture

Drools Rule Engine Archirakenne
Drools Rule Engine Archirakenne

Tässä on Drools-arkkitehtuurin toimiva järjestelmä:

Vaihe 1) Säännöt ladataan sääntökantaan, joka on aina saatavilla.

Vaihe 2) Faktat vahvistetaan työmuistiin, jossa niitä voidaan sitten muokata tai peruuttaa.

Vaihe 3) Prosessia, jossa uudet tai olemassa olevat faktat verrataan tuotantosääntöihin, kutsutaan mallin sovittamiseksi, jonka suorittaa sääntömoottori.

Vaihe 4) Agendan avulla voit hallita ristiriitaisten sääntöjen toteutusjärjestystä konfliktinratkaisustrategian avulla.

Droolin ominaisuudet

Tässä ovat Droolin tärkeät ominaisuudet:

  • Auttaa erottamaan sovelluksen dynaamisesta logiikasta
  • Ilmoittava ohjelmointi
  • Tiedon keskittäminen
  • Nopeus ja skaalautuvuus
  • Erillinen logiikka sovelluksesta
  • Ymmärrettävät säännöt

Kuinka lisätä Drools-laajennuksia Eclipse

Tässä Drools-opetusohjelmassa opitaan lisäämään Drools-laajennus Eclipse.

Vaihe 1) Napsauta "Distribution ZIP" jBPM-integraatiota varten
Mene https://www.drools.org/download/download.html ja napsauta "Distribution ZIP" jBPM-integraatiota varten. Kun olet ladannut, pura se kiintolevyllesi.

Lisää Drools-laajennukset Eclipse

Vaihe 2) Asenna uusi ohjelmisto
In Eclipse, valitse Asenna uusi ohjelmisto.

Lisää Drools-laajennukset Eclipse

Vaihe 3) Napsauta Lisää-painiketta
Napsauta Lisää-painiketta lisätäksesi ohjelmiston.

Lisää Drools-laajennukset Eclipse

Vaihe 4) Selaa kansiota
Napsauta seuraavassa näytössä Paikallinen ja valitse kansio "org.drools.updatesite/" ja napsauta sitten OK.

Lisää Drools-laajennukset Eclipse

Vaihe 5) Napsauta Seuraava-painiketta
Napsauta asennuksen korjaussivulla Seuraava-painiketta.

Lisää Drools-laajennukset Eclipse

Vaihe 6) Hyväksy lisenssisopimus
Hyväksy lisenssisopimus ja napsauta Seuraava.

Lisää Drools-laajennukset Eclipse

Vaihe 7) Reboot Eclipse
Ohjelmisto latautuu, ja sinua pyydetään käynnistämään eclipse uudelleen.

Vaihe 8) Asennus on valmis
In Windows > Asetukset-valikko, näet Drools-vaihtoehdon, joka osoittaa, että se on asennettu.

Lisää Drools-laajennukset Eclipse

Drools-ohjelma Hello World Esimerkki

Alla on Drools-esimerkki Hello World -ohjelmasta:

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

Mikä on taaksepäin vs. eteenpäin ketjuttaminen?

Eteenpäin ketjuttuva moottori tarkistaa tosiasiat ja tekee konkreettisen johtopäätöksen.

Tarkastellaan skenaariota lääketieteellisestä diagnoosijärjestelmästä. Jos potilaan oireet laitetaan tosiasioina työmuistiin, on hänelle helppo diagnosoida sairaus.

Taaksepäin vs. eteenpäin ketjuttaminen

Eteenpäin ketjutettu moottori

Taaksepäin ketjutusmoottorilla on asetettu tavoite, ja moottori yrittää täyttää sen.

Harkitse samaa lääketieteellisen diagnoosin skenaariota. Oletetaan, että tietyn taudin epidemia. Tämä tekoäly voi olettaa, että tietyllä henkilöllä oli sairaus, ja yrittää määrittää, onko sen diagnoosi oikea saatavilla olevien tietojen perusteella.

Taaksepäin vs. eteenpäin ketjuttaminen

Taaksepäin ketjutettu moottori

Miksi käyttää Drools Rule Engineä?

Tässä ovat tärkeimmät syyt Drools-sääntömoottorin käyttämiseen:

  • Säännöt ovat helposti ymmärrettäviä kehittäjille ja analyytikot.
  • Säännöt ovat helposti ylläpidettävissä.
  • Rule Engine käyttää Rete-algoritmia, joka sanoo, että moottorin suorituskyky ei koskaan riipu sääntöjen määrästä.
  • Sääntöjä voidaan muokata ja ottaa käyttöön ilman, että sovellusta tulee alas.
  • Ulkoistaa liiketoimintalogiikan suhteellisen staattisesta koodikannasta.
  • Säännöt on kehitetty vähemmän monimutkaisissa muodoissa, jotta yritysanalyytikko voi helposti lukea ja tarkistaa joukon sääntöjä.
  • Sääntöjen avulla voit luoda tietovaraston, joka on muodoltaan suoritettavissa.
  • Työkalut kuten Eclipse auttaa sinua hallitsemaan sääntöjä, saamaan välittömän vastauksen, todentamisen ja sisällöntuen.

Rules Enginen haitat

Tässä on sääntömoottorin käytön haittoja/haittoja:

  • Tämän ohjelmointimenetelmän tunteminen vaatii kehittäjiltä paljon oppimisponnistuksia
  • Sääntömoottori ei ole turvallinen tapa ongelmien vianmääritykseen.
  • On ymmärrettävä sääntömoottorin toiminta kuluttaakseen enemmän muistia
  • Monimutkaiselle haarautumiselle on olemassa laaja joukko sääntöjä.

Säännöt voivat muuttua ajan myötä ja tulevat voimaan koodimuutoksilla

Yhteenveto

  • JBoss Drools on Business Logic -integraatioalusta (BLiP)
  • Drool-työkalutyypit ovat: 1) Drools Guvnor 2) Drools Flow 3) Drools Fusion 4) Drools Expert 5) Drools, Planner.
  • Drool auttaa erottamaan sovelluksen dynaamisesta logiikasta.
  • Fakta on edustanut dataa, joka toimii sääntöjen syötteenä.
  • Työmuisti on Facts-muisti, jossa niitä käytetään kuvioiden sovittamiseen. Sitä voidaan muokata, lisätä ja poistaa.
  • Tietokanta on komponentti, joka sisältää kaikki laukaisusäännön edellyttämät resurssit.
  • Tietosessio edustaa Droolsin ekosysteemin tietoa.
  • Tietokanta edustaa Droolsin ekosysteemin tietoa.
  • Moduuli tallentaa useita tietokantoja, joissa voi olla erilaisia ​​istuntoja.
  • Säännöt ovat tiedon osia, jotka usein ilmaistaan ​​seuraavasti: "Kun tietyt olosuhteet ilmenevät, suorita tehtäviä."
  • Drools on sääntömoottori, joka käyttää sääntöpohjaista lähestymistapaa Expert-järjestelmän toteuttamiseen.
  • Eteenpäin ketjuttuva moottori tarkistaa tosiasiat ja tekee konkreettisen johtopäätöksen.
  • Taaksepäin ketjutusmoottorilla on asetettu tavoite, ja moottori yrittää täyttää sen.
  • Rete-algoritmi on hyödyllinen mallinsovitusalgoritmi, jonka avulla voit toteuttaa tuotantosääntöjärjestelmiä.
  • Säännöt ovat helposti ymmärrettäviä kehittäjille ja yritysanalyytikoille.
  • Droolin kaltaisen sääntömoottorin käytön suurin haittapuoli on, että tämän ohjelmointimenetelmän tunteminen vaatii paljon oppimisponnistuksia, joita kehittäjät vaativat.