A real-world scenario with one of our long-term customers who process change notices for a medical device company. Employees from different departments can log in to the Change Notice application and initiate Change Notices. Once a Change Notice is submitted, a Workflow Instance is executed for processing and approval of the record.
One day the FlowWright Support Team received a call, “We have employees initiating new Change Notices but no one is getting any workflow emails or approval tasks.” After investigating the issue, FlowWright Support found that the FlowWright Engine Service was not running. Further investigation found that the customer’s IT department shut down the service while performing some server maintenance and never restarted it.
Once the FlowWright Engine Service was restarted, the Engine was able to process all Workflows that weren’t processed while the service was down. FlowWright can do this because of persistence. FlowWright persists all of its data in a database. In this way, after recovering from a failure situation such as the server going down due to loss of power, FlowWright can resume workflow processing where it left off.
Workflow persistence is a key feature of any next-generation workflow product. To prevent data loss, data flows and control flows should be persisted in a database. Data flow storage keeps instances and a history of the data, documents, etc. passed into and acted upon by the workflow. Persistence of the control flow stores a history of the workflow’s execution progress. (Note: Persisting data into a database can have a performance cost, but this is where caching comes in.)
Storage of workflow execution data for persistence enables another key feature of electronic workflow processing – Business Intelligence. Analyzing the workflow runtime data can provide a view into how your business operates and can be used for continuous process optimization.
Some workflow products compile control flow for execution and only persist data flow to a database, making it difficult to recover or continue a workflow that is interrupted. With some products such as Windows Workflow, persistence storage is a separate connector or module. With FlowWright, Workflow Persistence is built-in!