Come costruire un moderno Business Rules Engine, una rapida panoramica
Questa è una panoramica concettuale di alto livello dell’architettura del motore di regole aziendali. È al di sopra del codice reale. Se state costruendo un motore di regole di business – è molto probabile che possiate trovare utile questo testo.
Una volta, ho costruito un Business Rules Engine che permetteva l’automazione del business per le piccole e medie imprese e aveva anche tutte le capacità e il potenziale per servire bene le grandi imprese. Era un modo per passare da una normale applicazione software a una soluzione sofisticata e complessa che soddisfaceva i difficili requisiti di scalabilità, manutenibilità ed estendibilità. Questo testo fornirà una panoramica di ciò che è il Business Rules Engine e descriverà uno dei moderni approcci per costruirlo che si può considerare quando si costruisce questo tipo di software.
Per cominciare è importante definire i termini di base. I motori di regole di business sono stati in giro nell’industria per un bel po’ di tempo in una forma o nell’altra e ci sono alcune definizioni date per quasi tutti i termini che stiamo per usare. Iniziamo con una “regola di business” – c’è una definizione ben nota per questo termine. Quindi una “regola di business” è:
Una dichiarazione che definisce o vincola qualche aspetto del business. Ha lo scopo di affermare la struttura del business o di controllare o influenzare il comportamento del business.
T. Morgan, Regole di business e sistemi informativi. Boston: Addison-Wesley Publishing, 2002
Le regole di business hanno una portata molto ampia e possono essere applicate a qualsiasi aspetto del business. Per esempio, la regola “Quando arriva un cliente, salutalo con un caldo sorriso e un amichevole “Ciao” è applicata dall’impiegato dell’azienda quando incontra i clienti. Un’altra regola può definire o vincolare gli approcci alla risoluzione dei compiti di routine da parte di un ruolo specifico in un’azienda. Con l’aumento costante della popolarità delle soluzioni software come i sistemi CRM e con l’integrazione totale del software in una varietà di domini aziendali, la maggior parte dei processi aziendali è diventata parzialmente o completamente orientata ai dati. Questo ha portato alla trasformazione delle regole di business in modo che diventassero orientate al software, per esempio, la regola di business “Quando un cliente compra qualcosa dal nostro negozio, chiamalo più tardi per chiedergli se vuole comprare altri beni correlati” si è trasformata in una più moderna “Quando un cliente compra qualcosa dal nostro negozio online mandagli un’email che elenca altri beni correlati più tardi”. Al giorno d’oggi molte aziende hanno a che fare principalmente con i dati nelle loro operazioni quotidiane. Tenendo conto che la maggior parte delle aziende di tutte le dimensioni hanno integrato soluzioni software alle loro attività di business, la definizione del termine “regola di business” può essere definita in modo più specifico aggiungendo una precisazione (è in grassetto) alla suddetta definizione di T. Morgan:
Una regola di business è una dichiarazione che definisce o vincola qualche aspetto del business. Ha lo scopo di affermare la struttura del business o di controllare o influenzare il comportamento del business. È memorizzata come un costrutto di dati nella memoria persistente e contiene un pacchetto atomico di logica aziendale. È gestita e applicata ai processi di business dell’azienda automaticamente tramite una soluzione software.
Definito il termine “regola di business”, il termine “Business Rules Engine Management System” (BRMS) è definito come segue:
BRMS è una soluzione software per gestire (memorizzare, modificare e cancellare, ecc.) le regole di business così come per applicarle ai processi di business dell’azienda.
I BRMS commerciali possono essere estremamente costosi per acquistare la licenza e per integrarli nell’infrastruttura IT dell’azienda, quindi le aziende spesso implementano soluzioni in-house quando hanno bisogno di automatizzare i processi di business o altri tipi di processi.
I BRMS possono diventare una parte essenziale e vitale di qualsiasi business. A volte il successo di un business può dipendere dalle regole di business che ha e da quanto bene queste regole di business sono gestite e applicate.
Il costrutto di dati delle regole di business
Una regola di business può essere rappresentata come una serie conseguente di comandi atomici. I comandi possono includere analisi di dati condizionali, comandi di attesa di tempo, comandi di esecuzione di azioni, ecc. L’esempio della regola di business “Quando un cliente compra qualcosa dal nostro negozio online gli manda un’email elencando altri beni correlati più tardi” è un buon esempio generico e molte altre regole di business possono avere una struttura logica molto simile:
Il flusso di elaborazione delle regole viene avviato quando viene effettuato un acquisto e viene applicata una certa logica di business eseguendo il comando “Invia all’acquirente un’email con le offerte di beni correlati”. Può succedere che l’acquirente abbia disattivato l’iscrizione all’e-mail. Allora, la condizione addizionale deve essere aggiunta alla regola di business – “se l’acquirente ha l’abbonamento email abilitato”: