Hi HN. I would like to show unify-flowret – yet another Java orchestration engine!<p>You may wonder – why another orchestration engine when there are already so many. We have off the shelf commercial “heavyweights”, the open source frameworks like AWS step functions / Uber Cadence / Netflix Conductor and a host of others. They why another one?<p>Simple, simplicity! Most of the orchestration engines I worked with or evaluated were too heavy weight 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, many required their own separate server setup etc. I wanted something really simple which had all the features to create a complex workflow and yet was simple and no more. So I present unify-flowret.<p>Unify-flowret is a lightweight Java orchestration engine which gives you all features to implement your workflow. It is a small JAR file which can be embedded in your applications. Below is a feature summary:<p>1. True technical parallel processing<p>2. “Resume from where you left off” functionality<p>3. Support for any data store / database<p>4. Can be run and tested stand alone on a laptop without the steps being implemented (mocked)<p>5. Allows steps to specify “execute next on resume” or “execute self on resume” in case of non-error pends<p>6. Special persist step to tell the application to persist data (if not persisting at each step)<p>7. Comprehensive audit logging<p>8. Crash proof – resumes from where the information was last recorded without any manual intervention<p>9. Ticket management – a “go to” feature for a process<p>10. Support for process variables – available to each step and route to reference and update<p>11. Support for handling in flight applications by locking the process definition to a process instance<p>12. Application call back events for house keeping<p>13. SLA milestone framework and work basket management<p>At American Express, we use it to power many of our workflows and it has been able to meet all complex requirements thrown up till date. I hope this work will help many who have experienced working with orchestration engines difficult in the first place. I look forward to comments and feedback from the community. Thanks to American Express for open sourcing this piece of work which i truly think has the potential to help a lot of people in the wider Java development community.<p>Read more about it on <a href="https://github.com/americanexpress/unify-flowret" rel="nofollow">https://github.com/americanexpress/unify-flowret</a>.<p>Disclaimer -> #ViewsMyOwn.