Skip to content

samneogi/WorkflowServer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WorkflowServer. Powered by WorkflowEngine.NET

The WorkflowServer is 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. Solution can use any technologies: .NET, PHP, Java, NodeJS, Ruby, Python.

Features:

  • Process scheme generation in runtime
  • BackEnd with designer of process scheme
  • Integration into any solutions (.NET, PHP, Java, NodeJS, Ruby, Python and etc.) using HTTP-protocol
  • Database support: MS SQL, Oracle, MySQL, PostgreSQL, RavenDB, MongoDB
  • Mode: Console and Windows Sevice

Execute

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

Inegration API

Integration via HTTP:
  • Workflow API
  • Designer API
  • Callback API
  1. Workflow API
url: /workflowapi

Implements the basic operation of WorkflowRuntime. The basic operations:

  • Creation of the instance
  • Getting the list of available commands
  • Execution of the command
  • Getting the list of available states to set
  • Set State
  • Process is exist
Creation of the instance - Creates the instance of the process. ```` /workflowapi?operation=createinstance&processid=&schemacode=&identityid=&impersonatedIdentityId=¶meters= ```` Getting the list of available commands - Returns the list of available commands for current state of the process and known user Id. ```` /workflowapi?operation=getavailablecommands&processid=&identityid=&impersonatedIdentityId= ```` Execution of the command - This call will execute the command. ```` /workflowapi?operation=executecommand&processid=&identityid=&impersonatedIdentityId= ```` Getting the list of available states to set - Returns the list of available states, that can be set through the SetState function. ```` /workflowapi?operation=getavailablestatetoset&processid= ```` Set state - This call will set state for the process. ```` /workflowapi?operation=setstate&processid=&identityid=&impersonatedIdentityId=&state¶meters= ```` Process is exist ```` /workflowapi?operation=isexistprocess&processid= ```` Response ```` { "success": "", "data": "", "error": "" } ````

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:

GetActions

input: type=getactions
return: [list of actions]

ExecuteAction

input: type=executeaction, name=[name of action], parameter=[parameter of action], pi=[ProcessInstanse serialized to json]

ExecuteCondition

input: type=executecondition, name=[name of action], parameter=[parameter of action], pi=[ProcessInstanse serialized to json]
return: [result of condition]

Paramerets of IWorkflowRuleProvider:

GetRules

input: type=getrules
return: [list of rules]

Check

input: type=check,pi=[ProcessInstanse serialized to json],identityid=[user id],name=[name of rule],parameter=[parameter of rule]
return: [result of check]

GetIdentities

input: type=getidentities,pi=[ProcessInstanse serialized to json],name=[name of rule],parameter=[parameter of rule]
return: [list of idetities of users]

Paramerets of IWorkflowGenerator:

Generate ```` input: type=generate, schemecode=[code of scheme],schemeid=[id of scheme],parameters=[parameters of workflow],scheme=[XML scheme of workflow] return: [XML scheme of workflow] ````

Backend

Used for create/edit/view scheme of workflow.

workflowserver


Official web site - http://workflowenginenet.com/server
For technical questions, please contact wf@optimajet.com
For commercial use, please contact sales@optimajet.com

WorkflowEngine.NET free limits:

  • Activity: 15
  • Transition: 25
  • Command: 5
  • Schema: 1
  • Thread: 1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 55.2%
  • CSS 27.6%
  • HTML 15.1%
  • Batchfile 2.1%