Workflow Persistence in Action

Last published at: July 6th, 2021

How Workflow Software Persistence Is Critical To Companies Disaster Recovery.

A real-world scenario with one of our long term customers who processes change notices for a medical device company. Employees from different departments are able to login 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 process all Workflows that weren’t processed while the service was down. FlowWright  is able to do this because of persistence. FlowWright  persists all of its data to a database. In this way, after recovering from a failure situation such as the server going down due loss of power, FlowWright  is able to resume workflow processing where it left off. 

Workflow persistence is a key feature of any next generation workflow product. In order to prevent data loss, data flows and controls flows should be persisted to 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 !