I need some design help with this.
Customer places orders on the system. Each order has a status and based on the status, certain activities need to be performed. The entire process is fairly new so the activities that should be performed and their order are subject to change.
Instead of coding the entire logic in the business objects, I thought that it would be nice to have a different component (maybe a job run by a scheduler like quartz.net) that would periodically go through all the orders and based on a set of rules, define the next activity that should be performed on the order and change the order status accordingly.
Several approaches like Rules engine (drools.net) or windows workflow foundation have come up in my research. If someone can provide guidance around this topic where an external component monitors and decides the events for the business domain objects, that will be very helpful.
Thanks in advance, Pratik