Servizi Web e motori di regole aziendali

4

Abbiamo un servizio web che accetta diversi tipi di messaggi. La funzione del webservice è semplicemente scrivere in un database il contenuto dei messaggi. C'è circa una tabella (con chiavi esterne per gli altri) per ogni tipo di messaggio.

Ci è stato chiesto di trasformare il servizio web in un prodotto configurabile utilizzando un motore di regole aziendali. Per avere la piena configurabilità, un collega ha suggerito che il modo migliore potrebbe essere trasformare il webservice da uno che accetta molti tipi di messaggi a uno che accetta un tipo di messaggio, ma nel contenuto del messaggio c'è un campo che indica il tipo di il contenuto. In questo modo, ci sarebbe solo una tabella per i messaggi (più altre tabelle per le informazioni statiche), e sarebbe più configurabile usando i motori delle regole di business.

Qual è il modo migliore per affrontare questa situazione?

Aggiornamento: per i motori delle regole aziendali è molto probabile che utilizzeremo un'implementazione del Rete Algorithm , come Drools

    
posta Виталий Олегович 04.08.2012 - 09:35
fonte

2 risposte

2

L'integrazione di un motore di regole aziendali non è gratuita, non è sufficiente collegarlo e quindi scrivere qualsiasi regola commerciale desiderata. Invece, solitamente ogni tipo di regola aziendale che si desidera implementare deve avere codice scritto nel prodotto sottostante da supportare. Ad esempio, un dato deve essere caricato nel motore prima che una regola possa usarlo.

Questo è il motivo per cui è inutile integrare un BRE fino a quando non si ha un caso d'uso effettivo. E quel caso d'uso deve includere regole aziendali abbastanza complicate che cambiano frequentemente. In ogni altro caso, ritengo che sia meglio servire scrivendo la logica che si desidera nel codice e attendere che arrivi il caso d'uso della configurazione (con aspettative ben definite).

    
risposta data 05.08.2012 - 04:58
fonte
2

Potresti provare a codificare in termini di albero decisionale o tabella di valutazione

Inoltre, nel blog di Chris Smith ci sono post su alberi decisionali:

Awesome F # - Decision Trees - Part I e Fantastico F # - Alberi decisionali - Parte II

    
risposta data 04.08.2012 - 10:30
fonte

Leggi altre domande sui tag