2012-10-03 23 views
26

Non sono un esperto di Drools. Ho una certa familiarità con esso, sperimentando con esso. Non riesco ad apprezzare, perché dovrei averne bisogno.Perché dovrei usare Drools?

Le mie applicazioni tipiche sono applicazioni Web aziendali. Sì, hanno una certa quantità di regole. Ma questi sono implementati usando tabelle di database, query SQL e un'interfaccia utente piacevole per gli utenti aziendali per modificare le regole. Le regole non sono arbitrarie, sono attentamente pensate prima di essere messe in produzione.

I miei utenti aziendali non utilizzeranno mai una lingua di script (Drools) per modificare nulla. Consenti alle regole di modifica da sole. Sono perfettamente felici utilizzando le schermate dell'interfaccia utente per modificare le regole. Inoltre possono fare errori di sintassi di zillion in un file Drools, se li lascio da nessuna parte vicino ad esso.

Ancora
- Perché dovrei usare Drools in questo scenario?
- Ci sono dei fanatici di Drools che ho incontrato che insistono sul fatto che dovrei cambiare tutto il mio codice per utilizzare Drools.

Quindi, Drools è utile? Non sono sicuro.

+0

rendo conto che questa è una domanda molto vecchio, ma voglio solo far notare che Drools ha qualche interfacce utente di modificare le regole in modo "bella", senza doversi preoccupare della sintassi script. –

risposta

17

I fanatici di tutte le strisce dovrebbero essere interrogati, indipendentemente dall'argomento di cui parlano.

Le tabelle decisionali basate sui dati sono un ottimo modo per implementare un comportamento complesso. Il giorno in cui non scala o non soddisfa le tue esigenze, forse vorrai considerare qualcos'altro.

Non vorrei fare uno scambio di tecnologia nel lavorare codice di produzione a meno che non avessi un motivo convincente. Ci vorrebbe molto di più del lobbismo dei fan.

Se sei veramente interessato, fai un PoC e ottieni alcuni dati reali. In caso contrario, impara a sorridere educatamente e ad ignorarli.

Ho risposto su questo prima:

Rules Engine - pros and cons

UPDATE: Se è il tuo capo, e non si può respingere, quindi rendono interfaccia basata e provare un'implementazione Drools in un PoC. Se si utilizza Spring, iniettare uno e poi l'altro, misurare le prestazioni con un carico nominale di produzione significativo. Ottieni alcuni dati reali - forse imparerai entrambi qualcosa.

+1

Come sorridere al tuo capo? :) – Jasper

+5

Sorridere è facile; è l'ignorare che è un po 'complicato. – duffymo

+0

Duffymo Sono interessato a iniziare su Drools, potresti gentilmente indicarmi un tutorial per favore. –

2
  • Drools è open source.
  • Esso fornisce in avanti e concatenamento all'indietro di esecuzione regole
  • Fornisce rule base Template Definitions
  • Si è implementato utilizzando JSR-94
  • E 'impianto di tabella di decisione
  • Le sue regole sono leggibili
  • È integrato con Spring
0

Si consideri un semplice esempio di un negozio di gioielli che deve mantenere la logica di business del calcolo d iscount basato sul tipo di gioielli. Questo può essere fatto nel nostro codice Java. Ma tali regole possono cambiare giornalmente e devono essere aggiornate regolarmente nel nostro codice che non è buono. Inoltre, avremo sempre bisogno di uno sviluppatore per apportare tali modifiche. Quindi è una buona pratica definire questa logica come regole in un sistema di gestione delle regole aziendali.Se domani lo sconto è da modificare, questo può essere fatto anche da una persona non tecnica.

JBoss Drools Tutorial

+0

Metti questa semplice relazione tra Tipo di gioielli e Sconto da applicare - in una tabella di database o in una configurazione. file. Molto più semplice e facile. Perché sbavare? – Jasper

+0

Per le persone non tecniche è difficile. Il maggior vantaggio di Drools è che le regole possono essere scritte in inglese semplice – Rameez