2011-09-22 11 views
5

Questa è più di una domanda generica. Ma sto cercando di capire un concetto di utilizzo di uno strumento e perché uno avrebbe bisogno di questo strumento. Continuo ad andare in giro.Ragionamento dietro l'utilizzo di un motore di regole

q) Perché abbiamo bisogno di motori di regole?

Ho letto i motori di regole Drools e ILOG e non sono ancora chiaro sul concetto di quali vantaggi può avere un'organizzazione che utilizza questi strumenti.

q) È sufficiente fornire agli utenti aziendali un modo per eseguire query (che vengono definite regole) nel database (repository)?

Questo extra pezzo di/s non fa altro che spendere di più per licenze e supporto rispetto al vantaggio ottenuto?

Abbiamo comunque tutte le applicazioni che fanno la stessa cosa.

Esempio: Se le vendite < $ 5000000 allora ordine spedizione = No

sopra è un esempio di logica di business. Questo è facilmente implementabile nel programma. Quindi, qual è il vantaggio di passare attraverso un motore di regole?

Qualsiasi input sarebbe fantastico! Grazie.

risposta

2

Hai avuto uno sguardo a questo documento: Why should I use a rule engine ?

E 'abbastanza chiaro quando utilizzare e non utilizzare un motore di regole.

Date un'occhiata più da vicino a questi 2 paragrpahs:

1.2.5. Accoppiamento forte e allentato

Senza dubbio avete sentito termini come "accoppiamento stretto" e "accoppiamento libero " nella progettazione di sistemi. Generalmente le persone affermano che l'accoppiamento "libero" o "debole" è preferibile in termini di progettazione, a causa della flessibilità aggiunta che offre. Allo stesso modo, puoi avere regole "fortemente accoppiate" e "debolmente accoppiate". Fortemente accoppiata in questo senso significa che una "regola" di sparerà chiaramente in un'altra esecuzione della regola, e così via; in altre parole, c'è una chiara (probabilmente ovvia) catena di logica. Se le tue regole sono tutte fortemente accoppiate, è probabile che il test sia non flessibile e, in modo più significativo, che un motore di regole sia un overkill. Una catena chiara può essere codificata o implementata utilizzando un albero decisionale. Questo non vuol dire che il forte accoppiamento sia intrinsecamente negativo, ma è un punto da tenere presente quando si considera un motore di regole e il modo in cui si acquisiscono le regole. Le regole "vagamente" accoppiate dovrebbero dare un risultato in un sistema che consente di modificare, rimuovere e aggiungere regole senza richiedere modifiche ad altre regole non correlate.

e

Mi sembra che l'emozione di lavorare con i motori di regole, che la gente dimentica che un motore di regole è solo un pezzo di un complesso applicazione o soluzione.I motori di regole non sono realmente destinati a gestire il flusso di lavoro o le esecuzioni di processo, né i motori del flusso di lavoro o gli strumenti di gestione del processo progettati per eseguire le regole. Utilizzare lo strumento giusto per il lavoro. Certo, un paio di pinze può essere usato come uno strumento di martellatura in un pizzico , ma non è quello per cui è stato progettato. --Dave Hamu

Speranza che aiuta

+0

grazie per tutte le info :) – JJunior

+0

un motore di regole è quello di alcuni tipi di logica di business cosa è un database per i dati. – Marco

1

Ci sono un sacco di vantaggi di usare un motore di regole di business o di una suite di gestione delle regole di business. Quando si inizia a disaccoppiare la logica aziendale dalla propria applicazione utilizzando un approccio dichiarativo, si finisce per avere le conoscenze aziendali espresse in quelle regole. Questo fatto è estremamente prezioso per un'azienda che può avere tutte le sue conoscenze in un repository centralizzato e tutte le sue applicazioni possono riutilizzare.

Il potere dichiarativo è anche un concetto chiave nella mia prospettiva. L'idea di lasciare che il motore scelga le regole necessarie per una situazione specifica è grandiosa. I motori delle regole sono ottimizzati per questo scopo e fanno un ottimo lavoro quando si hanno tonnellate di regole che devono essere valutate.

Speranza che aiuta :)

+1

grazie! è stato molto utile :) – JJunior

Problemi correlati