Get Started

OptimaJet offers two products to create and manage workflows:

  • Workflow Server – developed as a separate solution with a control panel, HTTP API for process control, and frontend subsystem.
  • Workflow Engine – developed as a .NET library and a JavaScript component with C# API for process control.

The solutions share a common process design and features but differ in the delivery format. The comparison table provides a full list of features for each of the solutions. Although the products have a common base, they are self-contained.

Feature Workflow Engine Workflow Server
Workflow version control
Workflow Designer
Integration with other components
Restful API/HTTP API/Swagger
Admin panel
Standalone application
Security (users, roles, permissions) * *
Form Builder **
End-user interface **
Download Download

* Ability to integrate with your security provider, but development is required.
** The ability to develop the end-user forms based on Vue.js requires Workflow Server >= 2.6.

To get started, we recommend to read the introductory sections about Workflow Scheme, Process Execution, and watch the video that demonstrates how to create a workflow scheme.

Let us take a closer look at the solutions.

Workflow Server

The latest version of Workflow Server is available in the Downloads section. Follow this instruction to run WorkflowServer with the provided database or use Docker to deploy it automatically.

After starting, you should create a scheme. It can be created either from scratch or using one of the ready-made schemes of our test server. We recommend starting with the simplest TestScheme that contains three states and two transitions with commands.

After creating the scheme, use the Workflow API of the admin panel to manage the processes. Through this interface, you can create a process based on the scheme, get the list of available commands, and execute a command. Each section provides code examples of how to call methods from the external system using the HTTP API.

You can restrict access to the API and admin panel through the Security tab on the Dashboard.

If you have an external system with users, roles, etc. and want to integrate the Workflow Server with it, just follow this guide.

To extend the functionality, you can apply the Code Actions or rebuild WorkflowServer using the Visual Studio solution, delivered with the package.

Starting with version 2.6, the user interface constructor and user forms creation are available, as in a CMS system. In version 2.7, you are able to authorize users to access forms.

Workflow Engine

To start working, you should create an instance of WorkflowRuntime. This object provides you with access to the C # API for creating and managing workflow instances. The key functions are:

  • CreateInstance – create a process (workflow) instance
  • GetAvailableCommands – get the list of available commands
  • ExecuteCommand – execute a command
  • SetState – set a state
  • DeleteInstance – delete a process (workflow) instance

Please, see here for further details.

We recommend starting the study with one of the examples, where you find an already configured WorkflowRuntime and an example of workflow.

The currently available sample applications for WebForms, ASP.NET MVC and ASP.NET Core are:

If you use Angular, you can see one example based on the standard angular and angular boilerplate solutions. Unfortunately, we have no other examples, because their use is rare, while the creation and support require considerable effort.

The Workflow Engine stores the basic information about processes in the WorkflowProcessScheme and WorkflowProcessInstance tables in the database. You can find further information here.

Once you get acquainted with the product, you can start its integration into your project. Please, use our step-by-step integration guide.

If you plan to manage users and roles in your schemes, you should integrate the engine with your security system. This article explains in detail how to perform the task using the Basic Plugin.

WorkflowEngine has extensive design customization options. For example, you can declare Actions of your own at the backend, specify a set of parameters for the call. Based on this description, WorkflowDesigner automatically shows the form with the parameters specified.

Workflow Terms

These terms are common to the Workflow Engine and Workflow Server.

Workflow Terms