Skip to content

nFlow is a light-weight and modular solution for orchestrating processes using Java. It can be used for orchestrating microservices, as traditional business process engine or as asynchronous backend dispatcher.

Notifications You must be signed in to change notification settings

eputtone/nflow

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nFlow nFlow

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:

nFlow has been under development since 2014-01-14 and version 1.0.0 was released on 2014-09-13.

Build status

Key Features

  • 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

1 Minute Guide for Getting Started

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>7.4.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.

Ok, I'm interested

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.

About

nFlow is a light-weight and modular solution for orchestrating processes using Java. It can be used for orchestrating microservices, as traditional business process engine or as asynchronous backend dispatcher.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 77.4%
  • JavaScript 10.1%
  • TypeScript 6.3%
  • HTML 2.8%
  • SCSS 1.1%
  • Shell 0.7%
  • Other 1.6%