oe-workflow is a BPMN 2.0 compliant workflow engine built on oe-cloud. oe-workflow is a production grade workflow engine written in Node.js. The number of implemented bpmn-elements are comparable to popular industry standard workflow engines like jBPM, camunda, activiti. The exhaustive list can be found in the wiki. Minimal coding is required from workflow design creation to deployment. We provide various built-in connectors like REST, oe-connector etc.
Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes in a business process model. It is the standard in business process modeling used widely by enterprises.
oe-workflow can be interacted and managed through either function level API's or Rest Endpoints exposed by the following models.
ModelName | Description |
---|---|
WorkflowDefinition | This model maintains details about all the workflows that have been published. Each Workflow definition can have multiple Process Definitions |
WorkflowInstance | This model maintains details of instances of the workflows that are executed. Each WorkflowInstance can have multiple Process Instances |
ProcessDefinition | This model maintains details about all the process definitions deployed and generated through WorkflowDefinition. |
ProcessInstance | This model maintain details of a created Process Instances by WorkflowInstance. This model maintains process states, process variables, messages, etc. |
Task | This model is used to manage user tasks for a process instance executing a Workflow. |
Workflow Manager | This model maintains details pertaining to which workflows are attached to which models. |
- Nodejs (LTS)
- MongoDB
- Clone the git repository for refapp
git clone https://github.com/EdgeVerve/oe-workflow.git
- Install Node modules
npm install
- Start the Application
npm run app
Please refer to Coding Guidlines document.
Run
grunt eslint-test-coverage
to verify code quality.
Please refer wiki documentation for more information on installation and usage.
The project is licensed under MIT License, See LICENSE for more details.
We welcome contributions. Some of the best ways to contribute are to try things out, file bugs, and join in design conversations.