jeudi 3 septembre 2015

Modular design for configurable task runner solution in .NET C#

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