Architettura di Business Rules Framework
Nella figura seguente viene illustrata l'architettura dei componenti di Business Rules Framework.
Architettura di Microsoft Business Rules Framework
Alcuni componenti del framework sono descritti nei paragrafi seguenti.
Classe criteri
Un oggetto Policy è una singola istanza di un criterio aziendale e fornisce l'interfaccia usata dalle applicazioni basate su regole. Fornisce un'astrazione che consente allo sviluppatore dell'applicazione di non preoccuparsi dell'indirizzo dell'archivio regole quando deve estrarre set di regole dall'archivio regole, creare istanze delle istanze del Motore regole di business sottostante e assicurare che nel motore vengano dichiarati fact a lungo termine. In molti scenari, un'applicazione basata su regole usa istanze simultanee dell'oggetto Policy . Queste istanze simultanee possono rappresentare lo stesso criterio, versioni diverse dello stesso criterio o versioni diverse di criteri diversi.
Classe RuleEngine
L'oggetto RuleEngine funge da motore di esecuzione per i criteri aziendali. Utilizza tre componenti plug-in (convertitore, motore a inferenza e intercettore rilevamento) per l'implementazione. Un oggetto RuleEngine accetta un oggetto RuleSet che rappresenta un criterio aziendale come input e usa il traduttore, il motore di inferenza e l'intercettore di rilevamento configurati per il set di regole per implementare i criteri aziendali definiti dal set di regole.
Funzione recupero fact
Una funzione di recupero fact è un componente plug-in facoltativo, definito dall'utente, responsabile della raccolta di fact a lungo termine per l'utilizzo da parte dei criteri di business. Per altre informazioni, vedere Come creare un recuperatore dei fatti.
Prima dell'esecuzione, un'istanza dell'oggetto Policy fornisce l'istanza di RuleEngine al recuperatore dei fatti, dando la possibilità di aggiornare il set di fatti nella memoria di lavoro del motore delle regole. Per altre informazioni, vedere Fatti a breve termine e fatti Long-Term.
Servizio di aggiornamento del Motore regole di business
Il servizio di aggiornamento del Motore regole di business fornisce aggiornamenti dinamici dei criteri di business in un ambiente distribuito. Un'applicazione di servizio Microsoft Windows NT ad avvio automatico è responsabile della sottoscrizione alla distribuzione dei criteri e all'annullamento della distribuzione degli eventi che si verificano quando vengono modificati i criteri di business.
In un tipico scenario aziendale, i criteri di business vengono distribuiti dopo essere stati aggiornati, testati e dopo il controllo della versione. La distribuzione consiste nell'aggiungere il criterio aggiornato a un archivio di regole protette, persistenti e, facoltativamente, nell'esecuzione della logica sull'archivio per pubblicare le informazioni sul criterio aggiornato per tutte le entità interessate. Tenere presente che vengono pubblicate le informazioni sul criterio e non il criterio stesso.
Il servizio di aggiornamento del Motore regole di business, in esecuzione in un server che ospita applicazioni basate sulle regole, riceve la notifica di aggiornamento del criterio e memorizza nella cache le informazioni per utilizzo futuro. L'utilizzo di un modello pub/sub per gli aggiornamenti del criterio consente di modificare i criteri di business quasi in tempo reale senza interruzioni o inattività del servizio.
Strumenti di creazione di criteri/vocabolario
Business Rule Composer in Microsoft BizTalk Server offre funzionalità di creazione criteri e vocabolario per utenti finali e sviluppatori.
scalabilità dinamica
Un archivio regole è un repository per i criteri aziendali e i vocabolari. Il repository può essere un file semplice o un database protetto, scalabile, persistente e affidabile come Microsoft SQL Server. (SQL Server è utilizzato come archivio delle regole predefinito per il framework).
Memorizzazione nella cache
Business Rules Engine Framework fornisce un meccanismo di memorizzazione nella cache per le istanze di RuleEngine . Ogni istanza di RuleEngine contiene una rappresentazione in memoria di una versione di criteri specifica.
I passaggi seguenti descrivono il processo quando viene creata un'istanza di un nuovo criterio (con una chiamata all'API o all'esecuzione della forma Regole di chiamata ):
L'oggetto Policy richiede un'istanza ruleEngine dalla cache del motore di regole.
Se nella cache esiste un'istanza ruleEngine per la versione dei criteri, l'istanza di RuleEngine viene restituita all'oggetto Policy . Se un'istanza ruleEngine non è disponibile, la cache crea una nuova istanza. Quando viene creata un'istanza di RuleEngine , crea a sua volta una nuova istanza di recupero dei fatti se è configurata per la versione dei criteri.
Quando il metodo Execute viene chiamato nell'oggetto Policy , si verificano i passaggi seguenti:
L'oggetto Policy chiama il metodo UpdateFactsnell'istanza del recupero dei fatti se esiste un recuperatore di fatti. L'implementazione del recupero dei fatti del metodo può affermare fatti a lungo termine nella memoria di lavoro di RuleEngine.
L'oggetto Policy afferma i fatti a breve termine contenuti nella matrice passata nella chiamata Execute .
L'oggetto Policy chiama Execute in RuleEngine.
RuleEngine completa l'esecuzione e restituisce il controllo all'oggetto Policy.
L'oggettoPolicyritira i fatti a breve termine da RuleEngine. I fact a lungo termine dichiarati dalla funzione recupero fact rimarranno nella memoria utilizzata del Motore regole di business.
Dopo aver chiamato il metodo Dispose nell'oggetto Policy , l'istanza ruleEngine viene rilasciata alla cache del motore di regole.
La cache del Motore regole di business disporrà di più istanze del Motore regole di business per una determinata versione del criterio se il carico lo richiede e ogni istanza del Motore regole di business dispone della propria istanza della funzione recupero fact.