{"repo":"j-easy/easy-flows","free":true,"listed":false,"github":"https://github.com/j-easy/easy-flows","clone":"git clone https://github.com/j-easy/easy-flows.git","description":"The simple, stupid workflow engine for Java","language":"Java","stars":693,"topics":["workflow","workflow-engine","java"],"license":null,"category":"workflow-automation","readme_excerpt":"Easy Flows The simple, stupid workflow engine for Java&trade; Latest news 08/10/2020: Easy Flows 0.3 has been released with a number of new features and improvements. You can find all details in the release notes here. What is Easy Flows? Easy Flows is a workflow engine for Java. It provides simple APIs and building blocks to make it easy to create and run composable workflows. A unit of work in Easy Flows is represented by the Work interface. A work flow is represented by the WorkFlow interface. Easy Flows provides 4 implementations of the WorkFlow interface: Those are the only basic flows you need to know to start creating workflows with Easy Flows. You don't need to learn a complex notation or concepts, just a few natural APIs that are easy to think about. How does it work? First let's write some work: This unit of work prints a given message to the standard output. Now let's suppose we want to create the following workflow: 1. print \"foo\" three times 2. then print \"hello\" and \"world\" in parallel 3. then if both \"hello\" and \"world\" have been successfully printed to the console, print \"ok\", otherwise print \"nok\" This workflow can be illustrated as follows: flow1 is a RepeatFlow of work1 which is printing \"foo\" three times flow2 is a ParallelFlow of work2 and work3 which respectively print \"hello\" and \"world\" in parallel flow3 is a ConditionalFlow . It first executes flow2 (a workflow is also a work), then if flow2 is completed, it executes work4 , otherwise work5 which resp","default_branch":null,"files":null,"tree":[],"storefront":"/r/j-easy","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/j-easy/easy-flows/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}