Tutorial di Drools: Motore di regole ArchiStruttura e diagramma
โก Riepilogo intelligente
Drools รจ un sistema di gestione delle regole aziendali open-source scritto in Java che separa la logica aziendale dal codice dell'applicazione. Questa risorsa spiega le regole, l'algoritmo Rete, l'architettura e i componenti di Drools, Eclipse Configurazione del plugin ed esempio di regola "Hello World".

Cos'รจ Drools?
Sbava รจ un software BRMS (Business Rules Management Software) open source scritto in Java che fornisce agli utenti una varietร di funzionalitร come Business Rule Engine, creazione Web, applicazione di gestione delle regole e supporto runtime per modelli decisionali e di notazione. Utilizza un sistema di implementazione avanzato dell'algoritmo di corrispondenza dei modelli di rete.
Drools รจ stato rilasciato con licenza Apache 2.0 ed รจ compatibile con qualsiasi JVM ed รจ disponibile anche nel Maven Central Repository.
Lo strumento Drools ti aiuta a separare e ragionare sulla logica e sui dati presenti nei processi aziendali. Supporta il motore delle regole drools basato su inferenza concatenante in avanti e all'indietro.
Le sbavature sono divise in due parti:
- Authoring โ Implica lo sviluppo di file di regole.
- Runtime โ Implica la creazione della memoria di lavoro e la gestione dellโattivazione.
Cos'รจ la regola?
Le regole sono parti della conoscenza spesso espresse come: "Quando si verificano condizioni specifiche, esegui alcuni compiti".
La parte piรน cruciale di una regola รจ quando parte. Una volta quando una parte รจ soddisfatta poi la parte viene attivata.
Sintassi:
When <Condition is true> Then <Take desired Action>
Metodo di corrispondenza dei modelli
Il metodo di corrispondenza dei modelli ti aiuta a confrontare fatti nuovi o vecchi con le regole di produzione. ร completato dal motore di inferenza.
Algorithms utilizzati per il Pattern Matching sono:
- Algoritmo di rete
- Algoritmo dei salti
- Algoritmo lineare
- Trattare l'algoritmo
Tuttavia, l'algoritmo maggiormente utilizzato da Drools รจ l'algoritmo di Rete.
Algoritmo di rete
L'algoritmo Rete รจ un utile algoritmo di patternmatching che consente di implementare sistemi di regole di produzione. Ti aiuta a sacrificare la memoria per una maggiore velocitร . Riduce o elimina inoltre tipi specifici di ridondanza con l'aiuto della condivisione dei nodi. Memorizza corrispondenze parziali durante l'esecuzione di join tra diversi tipi di fatti.
Motore delle regole delle sbavature
Motore delle regole delle sbavature รจ un approccio basato su regole per implementare un sistema esperto nel software Drools. Il motore delle regole fornisce sistemi esperti che sono sistemi basati sulla conoscenza che ti aiutano a prendere decisioni su cosa fare e come farlo. Raccoglie la conoscenza in una base di conoscenza che puรฒ essere utilizzata per il ragionamento.
Suite di strumenti Drools
Ora in questo tutorial di Drools Rule Engine, impareremo a conoscere Drools Tool Suite. Ecco cinque tipi di strumenti che fanno parte della suite Drools:
- Sbava Guvnor: ร un repository centralizzato per Drools KnowledgeBase.
- Flusso di sbavature: Offre flussi di lavoro e processi aziendali.
- Sbava Fusion: Strumento utilizzato per l'elaborazione di eventi complessi
- Drools Expert o motore di regole: Uno strumento utile per eseguire il ragionamento.
- Pianificatore di sbavature: Offre una pianificazione automatizzata, che include problemi di pianificazione NP-hard.
Componenti importanti in Drools
Ora in questo tutorial di Drools, impariamo i componenti importanti di Drools.
Ecco i termini essenziali utilizzati in Drools:
- Caratteristiche โ I fatti rappresentano i dati che servono come input per le regole
- Memoria di lavoro โ Archiviazione con fatti, dove vengono utilizzati per la corrispondenza dei modelli. Puรฒ essere modificato, inserito e rimosso.
- Sessione di conoscenza โ Questo componente contiene tutte le risorse necessarie per attivare la regola. Qui, tutti i fatti vengono inseriti nella singola sessione e quindi vengono attivate le regole di corrispondenza.
- base di conoscenza โ Rappresenta la conoscenza nell'ecosistema Drools. Memorizza la formazione delle risorse in cui si trovano le regole.
- Moduli โ Questo รจ un modulo che memorizza piรน basi di conoscenza che possono contenere sessioni diverse
Architecnica delle sbavature

Ecco il sistema di lavoro dell'architettura Drools:
Passo 1) Le regole vengono caricate nella Rule Base, che รจ sempre disponibile.
Passo 2) I fatti vengono inseriti nella memoria di lavoro dove possono poi essere modificati o riscrittitracted.
Passo 3) Il processo di corrispondenza dei fatti nuovi o esistenti con le regole di produzione รจ chiamato corrispondenza dei modelli, che viene eseguito dal motore delle regole.
Passo 4) L'agenda consente di gestire l'ordine di esecuzione delle regole in conflitto con l'aiuto di una strategia di risoluzione dei conflitti.
Caratteristiche di Bava
Ecco le caratteristiche importanti di Drool:
- Ti aiuta a separare l'applicazione dalla logica dinamica
- Programmazione dichiarativa
- Centralizzazione della conoscenza
- Velocitร e scalabilitร
- Logica separata dall'applicazione
- Regole comprensibili
Come aggiungere i plugin Drools in Eclipse
Ora in questo tutorial di Drools impariamo come aggiungere il plugin Drools Eclipse.
Passo 1) Fare clic su "ZIP di distribuzione" per l'integrazione jBPM
Vai su https://www.drools.org/download/download.html e fai clic su โZIP di distribuzioneโ per lโintegrazione jBPM. Una volta scaricato, escitractrasferiscilo sul tuo disco rigido.
Passo 2) Installa nuovo software
In Eclipse, seleziona Installa nuovo software.
Passo 3) Fare clic sul pulsante Aggiungi
Fare clic sul pulsante Aggiungi per aggiungere un software.
Passo 4) Sfoglia cartella
Nella schermata successiva, fare clic su Locale e selezionare la cartella โorg.drools.updatesite/โ, quindi fare clic su Ok.
Passo 5) Fare clic sul pulsante Avanti
Nella pagina di riparazione dell'installazione, fare clic sul pulsante Avanti.
Passo 6) Accetta il contratto di licenza
Accetta il contratto di licenza e fai clic su Avanti.
Passo 7) riavvio Eclipse
Il software verrร scaricato e ti verrร chiesto di riavviare Eclipse.
Passo 8) Processo di installazione completato
In Windows > Menu Preferenze, vedrai l'opzione Drools che indica che รจ installata.
Esempio del programma Drools Hello World
Di seguito รจ riportato un esempio di Drools per il programma 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
Cos'รจ il concatenamento all'indietro o in avanti?
Un motore di concatenazione controlla i fatti e trae una conclusione specifica.
Consideriamo uno scenario del sistema di diagnosi medica. Se i sintomi del paziente vengono inseriti come fatti nella memoria di lavoro, allora รจ facile diagnosticargli un disturbo.
Motore a catena diretta
Un motore concatenato all'indietro ha l'obiettivo prefissato e il motore cerca di soddisfarlo.
Considera lo stesso scenario della diagnosi medica. Supponiamo che si verifichi un'epidemia di una certa malattia. Questa intelligenza artificiale potrebbe presumere che un determinato individuo abbia la malattia e tentare di determinare se la sua diagnosi รจ corretta sulla base delle informazioni disponibili.
Motore concatenato all'indietro
Perchรฉ utilizzare Drools Rule Engine?
Ecco i motivi principali per utilizzare il motore delle regole Drools:
- Le regole sono facili da comprendere per gli sviluppatori e analisti di business.
- Le regole sono facilmente mantenibili.
- Rule Engine utilizza un algoritmo di Rete secondo il quale le prestazioni del motore non dipendono mai dal numero di regole.
- Le regole possono essere modificate e distribuite senza arrestare l'applicazione.
- Esternalizza la logica aziendale dalla codebase relativamente statica.
- Le regole sono sviluppate in formati meno complicati in modo che l'analista aziendale possa leggere e verificare facilmente un gruppo di regole.
- Le regole consentono di creare un magazzino di conoscenza eseguibile in forma.
- Strumenti come Eclipse aiutarti a gestire le regole, ottenere una risposta immediata, autenticazione e supporto dei contenuti.
Svantaggi del motore delle regole
Ecco gli svantaggi/contro dell'utilizzo del motore delle regole:
- Sono necessari molti sforzi di apprendimento da parte degli sviluppatori per conoscere questo metodo di programmazione
- Il motore delle regole non รจ un metodo sicuro per risolvere i problemi.
- ร necessario comprendere il funzionamento del motore di regole per consumare piรน memoria
- Esiste un ampio insieme di regole per una ramificazione complessa.
Le regole possono cambiare nel tempo e diventeranno effettive con le modifiche al codice









