• Stars
    star
    203
  • Rank 192,890 (Top 4 %)
  • Language
    Java
  • Created almost 11 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Embeddable JVM-based workflow engine with high availability, fault tolerance, and support for multiple databases. Additional libraries are provided for visualization and REST API.

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

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.

More Repositories

1

RobotFramework-EclipseIDE

Developing an Eclipse IDE for the Robot Framework test automation tool
Java
70
star
2

DomainReverseMapper

Automatically generate Graphviz diagram from your domain classes
Java
30
star
3

java8-utils

Utilities for Java 8 streams etc.
Java
27
star
4

CoreComponents

Nitor Creations Core Components
Java
22
star
5

matchers

Hamcrest 1.3 Utility Matchers
Java
19
star
6

tomcat8-war-runner

Tomcat 8 compatible runner for exec-wars built using Tomcat 7 Maven plugin with enhanced server.xml support
Java
18
star
7

license-maintainer

Maintains license preamble in source files etc in your project
Perl
15
star
8

wicket-metrics

Painless way of adding JMX metrics to your wicket project.
Java
12
star
9

willow

Willow elastic cloud deployment components
JavaScript
11
star
10

nitor-deploy-tools

Python module for nitor deploy tools
Python
8
star
11

spring-property-aws-ssm-resolver

Spring Boot plugin for resolving properties as AWS SSM Parameter Store parameters
Java
8
star
12

javaxdelta

javaxdelta
Java
7
star
13

nameless-deploy-tools

Python
7
star
14

nflow-explorer

User Interface for nFlow - moved to https://github.com/NitorCreations/nflow
JavaScript
6
star
15

shiro-aad

Apache Shiro authentication and authorization realm for Azure Active Directory (AAD)
Java
6
star
16

intune-fedora

Files required to convert ubuntu intune deb packages to fedora rpms
Dockerfile
5
star
17

sonar-build-warner-plugin

Sonar Build Warner Plugin
Java
4
star
18

console2terminal

Stream browser console logging to terminal using websockets
JavaScript
4
star
19

adfs-aws-login

Utility to log in to aws via adfs federation
Python
4
star
20

slack-group-bot

Java
3
star
21

bashparser

Java bash parsing classes from libbash
Java
3
star
22

aws-utils

Shell
2
star
23

LambdaHackathon

Lambda functional programming hackathon.
2
star
24

aws_iot_button

Press an IoT button every 108 minutes
JavaScript
2
star
25

web-auth-ssh

Scripts to enable authenticating to ssh servers via a browser
Python
2
star
26

wicket-matchers

Useful Hamcrest 1.3 matchers for Wicket 6 projects
Java
2
star
27

Nitor-Clojure-Hackathon

Nitor Clojure Hackathon Repository
Clojure
2
star
28

serverless-workshop

JavaScript
2
star
29

wicket-utils

Useful components, models and other stuff for Wicket (mainly 6) projects
Java
2
star
30

ecs-helpers

Helper Lambda functions for ECS maintenance
Python
1
star
31

cloudfront-ingress-rules

Shell
1
star
32

code-review-20230118

TypeScript
1
star
33

liipi-ansible

1
star
34

s3autocp

Python
1
star
35

aws-oidc-login

CLI login to AWS using OpenID Connect
Python
1
star
36

agile-central-viz

Visualizations for Agile Central
JavaScript
1
star
37

wicket-test-utils

Test utilities for projects using WIcket / Mockito
Java
1
star
38

azure-functions-go-handler

Go custom handler and utils for Azure Functions
Go
1
star
39

vinyl-parallel

A vinyl transform that passes the vinyl to a separate node process, and returns the transformed vinyl result
JavaScript
1
star
40

maven-repository

Nitor Creations Maven repository
1
star
41

ec2-utils

Python
1
star
42

willow-ui

Client for Willow cloud management and monitoring.
JavaScript
1
star
43

account-vending-machine

Python
1
star