2012-01-25 13 views
21

Ho bisogno di un motore di regole leggero. Al momento abbiamo circa 50 regole, ma le regole continuano a cambiare frequentemente.Esiste un motore di regole implementato su NodeJS/in Javascript?

Potremmo usare Drools, ma immagino che sarebbe eccessivo. Esistono implementazioni F/OSS più leggere?

Sono a conoscenza dell'altra domanda simile, ma che ha 2 anni e non ha una buona risposta. (e non ho abbastanza rappresentanti per commentare questa domanda)

+3

correlati: http://stackoverflow.com/questions/3430885/lightweight-rules-engine-in-javascript http://stackoverflow.com/questions/7661322/rule-engine-in-javascript –

+0

@DanD.Grazie per i collegamenti, anche se il primo ha più di un anno (che è quello che ho menzionato nella spiegazione della domanda stessa). Il secondo link - JSONRules - sembra promettente, anche se sembra essere limitato alla manipolazione degli oggetti DOM, a prima vista. Grazie per quello, però, l'avevo perso prima. – Samudra

risposta

5

Ho creato un nuovo pacchetto di nodi chiamato nodo-clip che consente di integrare il popolare motore di regole CLIPS (Sistema di produzione integrato di linguaggio C) nelle applicazioni del nodo.

https://github.com/atrniv/node-clips

CLIP è uno strumento di sistema produttivo sviluppo ed esperto consegna che fornisce un ambiente completo per la realizzazione di regola e/o sistemi esperti basati oggetto. Creato nel 1985, CLIPS è ora ampiamente utilizzato in tutto il governo, l'industria e il mondo accademico.

Checkout la documentazione CLIP ufficiale per ulteriori informazioni: http://clipsrules.sourceforge.net/

3

ho sviluppare questa one. Spero che tu abbia trovato interessante per te.

Dalla descrizione:

Business Rules Engine è un tipo di software sviluppato per supportare ambienti in cui i cambiamenti di regole in una base regolare come la valutazione del rischio, analisi del testo, data mining e altri software progettati per il processo decisionale.

4

Sono ovviamente molto in ritardo per il gioco qui ma ho usato node-rules con un certo successo.

3

Sono ancora più avanti nel gioco, ma se le persone stanno ancora cercando, durable_rules è un grande progetto che sto usando.

durable_rules memorizza lo stato in redis e utilizza un Rete algorithm that Jesus Ruiz cooked up per eseguire l'inferenza in modo distribuito. Il progetto è attivamente supportato e ha anche il supporto di TypeScript se ti trovi in ​​quel genere di cose.

3

Sono molto più tardi, ma dal momento che stai chiedendo un'opzione più leggera, considera json-rules-engine. Ho creato questa libreria nel tentativo di creare un motore di regole semplice e performante con una facile persistenza delle regole (le regole sono espresse in json).

Non è inteso come una soluzione aziendale ed è meno ambizioso di nools. Molte aziende hanno esigenze relativamente basilari quando si tratta di motori di regole: logica booleana, operatori di confronto e (idealmente) regole leggibili dall'uomo.

Il tuo caso d'uso di avere solo 50 regole che cambiano spesso (cioè altamente configurabile), è davvero il pubblico di riferimento per questa libreria.

Problemi correlati