Cum se construiește un motor de reguli de afaceri modern, o scurtă prezentare generală
Cum se construiește un motor de reguli de afaceri modern, o scurtă prezentare generală
apr. 22, 2021
admin
Aceasta este o prezentare conceptuală de nivel înalt a arhitecturii motorului de reguli de afaceri. Este deasupra codului real. Dacă construiți un motor de reguli de afaceri – este foarte probabil ca acest text să vă fie util.
Cu ceva timp în urmă, am construit un motor de reguli de afaceri care a permis automatizarea afacerilor pentru companiile mici și mijlocii și, de asemenea, avea toate capacitățile și potențialul de a servi bine întreprinderilor mari. A fost o cale de trecere de la o aplicație software obișnuită la o soluție sofisticată și complexă care îndeplinea cerințele dure de scalabilitate, mentenabilitate și extensibilitate. Acest text va oferi o privire de ansamblu asupra a ceea ce este Business Rules Engine și va descrie una dintre abordările moderne de construire a acestuia, pe care o puteți lua în considerare atunci când construiți acest tip de software.
Pentru început este important să definim termenii de bază. Motoarele de reguli de afaceri sunt prezente în industrie de destul de mult timp, într-o formă sau alta, și există câteva definiții date pentru aproape fiecare termen pe care îl vom folosi. Să începem cu o „regulă de afaceri” – există o definiție bine cunoscută pentru acest termen. Așadar, o „regulă de afaceri” este:
O declarație care definește sau constrânge un anumit aspect al afacerii. Este menită să afirme structura afacerii sau să controleze sau să influențeze comportamentul afacerii.
T. Morgan, Reguli de afaceri și sisteme informatice. Boston: Addison-Wesley Publishing, 2002
Reguli de afaceri au un domeniu de aplicare foarte larg și pot fi aplicate la orice aspect al afacerii. De exemplu, regula „Când intră un client, întâmpină-l cu un zâmbet cald și un „Bună ziua” prietenos” este aplicată de către angajatul companiei atunci când se întâlnește cu clienții. O altă regulă poate defini sau constrânge abordările de rezolvare a sarcinilor de rutină de către un anumit rol din cadrul unei companii. Odată cu creșterea constantă a popularității soluțiilor software, cum ar fi sistemele CRM, și cu integrarea totală a software-ului într-o varietate de domenii de afaceri, majoritatea proceselor de afaceri au devenit parțial sau total orientate către date. Acest lucru a dus la transformarea regulilor de afaceri astfel încât acestea au devenit orientate către software, de exemplu, regula de afaceri „Atunci când un client cumpără ceva din magazinul nostru, sunați-l mai târziu pentru a-l întreba dacă dorește să cumpere și alte bunuri conexe” s-a transformat într-o regulă mai modernă „Atunci când un client cumpără ceva din magazinul nostru online, trimiteți-i mai târziu un e-mail cu lista altor bunuri conexe”. În prezent, multe companii se ocupă în principal de date în operațiunile lor zilnice. Ținând cont de faptul că majoritatea întreprinderilor de toate mărimile au soluții software integrate în activitățile lor de afaceri, definiția termenului „regulă de afaceri” poate fi definită într-o manieră mai specifică prin adăugarea unei clarificări (este în bold) la definiția menționată mai sus de T. Morgan:
O regulă de afaceri este o afirmație care definește sau constrânge un anumit aspect al afacerii. Ea este menită să afirme structura afacerii sau să controleze sau să influențeze comportamentul afacerii. Este stocată ca o construcție de date în memoria persistentă și conține un pachet atomic de logică de afaceri. Este gestionată și aplicată proceselor de afaceri ale companiei în mod automat prin intermediul unei soluții software.
După definirea termenului „regulă de afaceri”, termenul „Business Rules Engine Management System” (BRMS) se definește după cum urmează:
BRMS este o soluție software pentru gestionarea (stocarea, editarea și ștergerea, etc.) regulilor de afaceri, precum și pentru aplicarea acestora la procesele de afaceri ale companiei.
Standardele BRMS comerciale pot fi extrem de costisitoare pentru achiziționarea licenței și pentru integrarea lor în infrastructura IT a companiei, de aceea companiile implementează adesea soluții interne atunci când întâmpină o nevoie de automatizare a proceselor de afaceri sau a altor tipuri de procese. BRMS-urile pot deveni o parte esențială și vitală a oricărei afaceri. Uneori, succesul unei afaceri poate depinde de regulile de afaceri pe care le are și de modul în care aceste reguli de afaceri sunt gestionate și aplicate.
Construcția de date a regulilor de afaceri
O regulă de afaceri poate fi reprezentată ca o serie consecventă de comenzi atomice. Comenzile pot include analiza condiționată a datelor, comenzi de așteptare a timpului, comenzi de execuție a acțiunilor etc. Exemplul de regulă de afaceri „Când un client cumpără ceva de la magazinul nostru online, trimiteți-i mai târziu un e-mail cu lista altor bunuri conexe” este unul bun și generic și multe alte reguli de afaceri pot avea o structură logică foarte asemănătoare:
Fluxul de procesare a regulii este inițiat atunci când a fost efectuată o achiziție și se aplică o anumită logică de afaceri prin executarea comenzii „Trimiteți cumpărătorului un e-mail cu oferte de bunuri relevante”. Se poate întâmpla ca cumpărătorul să fi dezactivat abonarea la e-mail. În acest caz, trebuie adăugată condiția suplimentară la regula de afaceri – „dacă cumpărătorul are activat abonamentul de e-mail”:
Comenzile sunt executate în consecință și există acum o comandă de analiză a datelor pentru a verifica dacă cumpărătorul are un abonament de e-mail activ. Dacă da – se trece la executarea următoarei comenzi a regulii de afaceri. Iar dacă nu – nu se continuă, regula de afaceri este considerată încheiată, fluxul de procesare se oprește, comenzile ulterioare nu sunt executate.
Este posibil ca cumpărătorul să aibă și un abonament SMS, iar dacă acesta este activ, ar trebui să existe și o altă comandă – „Trimite un SMS cu oferta promoțională aferentă”. Prin aceasta, se introduce ramificarea în logica regulii de afaceri: