Nirmata Workflow is a Java Apache ZooKeeper and Apache Curator based library that enables distributed task workflows. You can build a cluster of servers as large as needed to execute tasks. You can limit servers to certain tasks types and/or allow servers to execute any task.
A workflow is a DAG of tasks whereby a group of tasks executes concurrently and when complete a set of children tasks execute and so on.
In the DAG described in the diagram above, Tasks 1, 2 and 3 execute concurrently. When they complete, Tasks 4 and 5 execute. Then, Tasks 6, 7 and 8 execute. When Task 6 completes, Task 9 executes. When Tasks 6 and 8 complete, Task 10 executes.