DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Related

  • Recurrent Workflows With Cloud Native Dapr Jobs
  • The Future of Java and AI: Coding in 2025
  • Tired of Spring Overhead? Try Dropwizard for Your Next Java Microservice
  • Using Python Libraries in Java

Trending

  • Testing SingleStore's MCP Server
  • What Is Plagiarism? How to Avoid It and Cite Sources
  • Debugging With Confidence in the Age of Observability-First Systems
  • How to Format Articles for DZone
  1. DZone
  2. Coding
  3. Java
  4. Managing Complex Java Workflows With Unify-flowret

Managing Complex Java Workflows With Unify-flowret

See if this lightweight Java orchestration engine is right for you.

By 
Deepak Arora user avatar
Deepak Arora
·
Updated Jan. 14, 21 · News
Likes (4)
Comment
Save
Tweet
Share
7.0K Views

Join the DZone community and get the full member experience.

Join For Free

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.

workflow Java (programming language)

Published at DZone with permission of Deepak Arora. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Recurrent Workflows With Cloud Native Dapr Jobs
  • The Future of Java and AI: Coding in 2025
  • Tired of Spring Overhead? Try Dropwizard for Your Next Java Microservice
  • Using Python Libraries in Java

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!