The WorkflowServer

The WorkflowServer is an open source standalone HTTP server. It supports two modes: console and windows service.  You can Integrate a workflow functionality to a solution using HTTP-protocol. The parental solution can use any technology: .NET, PHP, Java, NodeJS, Ruby, Python.

You are welcome to check out the sample: binary & source code.

Features

Execute

You can execute the WorkflowServer in Console mode or Windows Service mode.

Command parameters:

  • Usage is: wfes [options]
  •  
  • -url=<options> Url for bind HTTP listener (Default: 'http://*:8077/')
  •         -callbackurl=<options> URL for Callback API
  • -callbackgenscheme     Enable request for post-generation of scheme
    Database:
  • -dbprovider=<options> DB Provider: mssql=MS SQL Server, oracle=Oracle, mysql=MySQL, postgresql=PostgreSQL, ravendb=RavenDB, mongodb=MongoDB
  • -dbcs=<options> ConnectionString for DB (Available for MS SQL, Oracle, PostgreSQL, MySQL)
  • -dburl=<options> Url for DB (Available for RavenDB, MongoDB
  • -dbdatabase=<options> Database name (Available for RavenDB, MongoDB
  •  
  • Other:
  • -nostartworkflow
  • -log Show logs to the console
  • -befolder=<options> Folder with backend files (Default: '../backend')

Inegration API

Integration via HTTP:

1. Workflow API

url: /workflowapi

Implements the basic operation of WorkflowRuntime.

The basic operations:

Creation of the instance - Creates the instance of the process.

Getting the list of available commands - Returns the list of available commands for current state of the process and known user Id.

Execution of the command - This call will execute the command.

Getting the list of available states to set - Returns the list of available states, that can be set through the SetState function.

Set state - This call will set state for the process.

Process is exist

Response

2. Designer API

url: /designerapi

Implements the server-interface for the workflow designer.

3. Callback API

For full integration WorkflowEngine.NET requires implementation of the interfaces: IWorkflowRuleProvider, IWorkflowActionProvider, IWorkflowGenerator. WokflowServer forwards request via HTTP (POST) to an external service.

Paramerets of IWorkflowActionProvider:

Paramerets of IWorkflowRuleProvider:

Paramerets of IWorkflowGenerator:

Backend

Used for create/edit/view scheme of workflow. 

Download

Binaries and the source code: https://github.com/optimajet/WorkflowServer