We build a workflow-like application.
use case 1: The user visually builds some workflow and then runs it to see results. Then the user fix the WF and runs again, and again, until he is happy.
use case 2: Once the WF is done the user schedules it to run a few times a day (possibly many times)
My friend says: When the user saves his WF let's first save its model to DB (so we can open later) and then generate c# code for the run time from this model.
- "This is the only way to get good performance at run time, especially when use case #2 implies many runs a day"
I say: Let's just save to DB. Then we will build a generic runtime that runs over the DB rows and executes the model commands (interperter-like).
- This gives much better perceived performance for #1 since waiting for compilation after every fix is frustrating
- this will not have such a big affect on the runtime itself if done correctly
What is your take?