nFlow is a battle-proven solution for orchestrating business processes. Depending on where you're coming from, you can view nFlow as any of the following:
- Microservices orchestrator (as in Saga-pattern)
- Guaranteed delivery computing
- Replacement for business process engine
- Persistent finite-state machine
nFlow has been under development since 2014-01-14 and version 1.0.0 was released on 2014-09-13.
- Non-declarative — workflows are defined as code
- Visualization — workflows can be visualized in nFlow Explorer
- Embeddable — usually embedded as a library, but a standalone server is also provided
- High availability — the same workflows can be processed by multiple deployments
- Fault tolerant — automatic recovery if runtime environment crashes
- Atomic state updates — uses and requires a relational database for atomic state updates and locking
- Multiple databases supported — PostgreSQL, MySQL, MariaDB, Oracle, Microsoft SQL Server, DB2, H2
- Open Source under EUPL
Create a Maven project. Add the following to your pom.xml
. nFlow is available in the Maven Central Repository.
<dependency>
<groupId>io.nflow</groupId>
<artifactId>nflow-jetty</artifactId>
<version>10.0.0</version>
</dependency>
Create a class for starting nFlow in embedded Jetty using H2 memory database.
import io.nflow.jetty.StartNflow;
public class App {
public static void main(String[] args) throws Exception {
new StartNflow().startJetty(7500, "local", "");
}
}
That's it! Running App
in your favourite IDE will start nFlow server though without any workflow definitions.
Point your browser to http://localhost:7500/nflow/ui/doc/ and you can use interactive online documentation for the nFlow REST API.
Point your browser to http://localhost:7500/nflow/ui/explorer/ and you can use nFlow Explorer.
See Getting started section for instruction on creating your own workflow definitions.
For a more thorough getting started guide, configurations, license information etc. checkout the nFlow wiki pages! You can also look into a short slide deck.
Discussion and questions are welcome to our forum nflow-users in Google Groups.