Managing Complex Java Workflows With Unify-flowret

Unify-flowret is a lightweight Java orchestration engine that can scale from the simplest of workflows to the most complex ones. Read more about it on https://github.com/americanexpress/unify-flowret.

You may be wondering... Why another orchestration engine when there are already so many? We have off the shelf commercial “heavyweights,” open-source frameworks like AWS step functions/Uber Cadence/Netflix Conductor, and a host of others. Why another one?

The answer is simple: Simplicity! Most of the orchestration engines I worked with or evaluated were too heavy or too cumbersome or too complex. Some you could build your entire careers on, and some required complex DSLs. Some required hacks to do parallel processing, and many required their own separate server setup, etc. I wanted something really simple that had all the features to manage a complex workflow, yet was simple and no more. 

So, I present unify-flowret.

Unify-flowret is a lightweight Java orchestration engine that gives you all the features you need to implement your workflow. It is a small JAR file that can be embedded in your applications. Below is a feature summary:

  1. True technical parallel processing
  2. “Resume from where you left off” functionality
  3. Support for any data store/database
  4. Can be run and tested standalone on a laptop without the steps being actually implemented
  5. Allows steps to specify “execute next on resume” or “execute self on resume” in case of non-error case pends.
  6. Special persist step to tell the application to persist data (if not persisting at each step)
  7. Comprehensive audit logging
  8. Crash proof — resumes from where the information was last recorded without any manual intervention
  9. Ticket management — a “go to” feature for a process
  10. Support for process variables — available to each step and route to reference and update
  11. Support for handling in flight applications by locking the process definition to a process instance
  12. Application call back events for house keeping
  13. SLA milestone framework and work basket management

At American Express, we use it to power many of our workflows, and it has been able to meet all our complex requirements to date. I hope this work will help many who have experienced working with orchestration engines to be more difficult than it should be. I look forward to comments and feedback from the community.

Please feel free to follow me @DeepakAroraHi on Twitter and let me know what you think.

Read more about it on https://github.com/americanexpress/unify-flowret

Disclaimer -> #ViewsMyOwn.

 

 

 

 

Top