Skip to content

getting started

Mandeep Singh Gill edited this page Nov 23, 2017 · 2 revisions

OE-Workflow Engine and OE-Cloud Integration

This dcoument explains how we can integrate oe-workflow with oe-cloud with a basic maker-checker example(Four-Eye process). To support maker checker process for any create, update and delete operation on any model of oe-cloud, we have written a maker-checker mixin. It can be referred from common/mixins/ folder of the main project.

Why oe-workflow?

Business process workflow engines has gained popularity from the advent of jBPM, an open source BPMN2.0 compliant engine written in JAVA. Since then Activiti, Camunda, Pegasus came into picture making them an indisposable part of designing complex business processes. But the oe-cloud framework is written in node.js, and to integrate JAVA based workflows would have made the application a ployglot. It paved path for the development of in-house workflow engine written entirely using oe-cloud framework. Core features like versioing, user management, data source management, etc along with event driven architecture of oe-cloud made it a great choice for the impelmentation of workflow execution engine. A number of features inherently coming from oe-cloud, made oe-workflow core a light-weight component compared to other industry standard workflow engines.

The core philosophy of oe-cloud framework is to enbale enterprises to develop applications with zero-coding required. oe-workflow provides a way to create and attach complex logic on oe-cloud models. The real power lies in the run-time creation and attachment of this logic.

Installing oe-workflow

  • Scaffold a new application using oe-cloud-cli
  • Create an entry in package.json file pointing to oe-workflow github repo as:
{
    ...
    "oe-workflow" : "https://github.com/EdgeVerve/oe-workflow#master"
    ...
}
  • Create an entry in server/app-list.json including oe-workflow as a dependent application:
{
    ...
    {
	   "path" : "oe-workflow",
	   "enabled" : true
	},
    ...
}
  • Start your application using node .

Setting up Development Environment

Getting started with oe-workflow developement (Public Domain)

  • Clone and Build Project
git clone https://github.com/your_fork/oe-workflow.git
npm install
  • Configure server/datasources.json with your mongo server details. Install mongo if not available for persistence.

  • Start the application using node .

  • Test driven is a strongly advised approach for development of oe-workflow, beacuse of the workflow execution nature. For any bug or issue that is being taken up create a basic test case which illustrates the issue and proceed on to the implementation phase.

  • After implementation of a particular feature or fix for a bug, make sure all the other test cases are working properly by running mocha command. This makes sure that your code changes are not affecting other components.

Accessing oe-workflow modeler

Follow this to access workflow modeler via public domain.

oe-workflow follows BPMN 2.0 standard, so any standard BPMN 2.0 designer can be used to design the basic flow. But there are extra attributes, we have added to some of the tasks, necessary for task execution. These attributes are not standardized by BPMN 2.0 specifications.

We have adopted the camunda modeler and made necessary changes to add our attributes. The modeler is not yet released for public use.

Access oe-workflow modeler via Public Portal

The oe-cloud demo-app is hosted on public domain.