I looking for an ideal design for a configurable - generic - task runner solution which can process editable complex business rules mostly by data CRUD. I would like to implement it based on .NET C# + EF6.
Most important requirements are: - Run as a background process (windows service) on the server. - Execute configured tasks on scheduled times or by message triggers from an MQ. - BAs can edit processing flow logic, conditions and calculations just in config.
On the technical side I think I need a workflow, decision tree/graph, state machine implementation. I also read about graph-db products and these are looks usable for me to implement a rule engine. Also there are many existing rule engines out there.
Now I imagined a business rule graph (map) where each node has a generic type (db crud, file processing, logging, messaging(MQ) etc.) resposible for query/analize/process data and each edge has condition which will allow to move along or not by a node's data result. Or maybe nodes should able to accept/decline last node's results.
I read so much about various patterns and designs but I'm not really sure which one should be the ideal for me. Yesterday I found a VelocityGraph which is very impressive but may be completly useless for current requirements.
Do you know any generic pattern/design I should rely on?
Aucun commentaire:
Enregistrer un commentaire