Our team is going to design a workflow solution for the log running processes. We have to maintain persistence and tracking and versioning for workflow. Workflow server needs to execute multiple workflow. We are using wf4.0. We are finding the best architecture for the workflow server. Following points are consideration in our mind.
Integration between WCF and wf and workflow stored in database. In this approach, Client call a wcf service that load a workflow xaml file from database and create object of WorkflowApplication with loaded workflow and execute this. In this approach only one endpoint exposed with the wcf service. Now wcf service responsibility to start a workflow using workflowapplication class.
Inbuilt integration of workflow service with wcf. In which a workflow is developed with message activity and hosted with workflowservice host, client call directly by its endpoint.
Now I have to choose one approach from one of them. please suggest me to choose one or any other approach that is best suitable for log running workflow that also maintains persistence, tracking and versioning.