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 a C# API for process control.

The solutions share a common process design and features but differ in the delivery format. This 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
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

* Can integrate with your security provider, but development is required.
** Developing end-user forms based on Vue.js requires Workflow Server >= 2.6.

To get started, we recommend reading the introductory sections about Workflow Scheme and Process Execution, and watching this 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 these instructions to run WorkflowServer with the provided database or use Docker to deploy it automatically.

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

After creating the scheme, use the Workflow API from the admin panel to manage the processes. Via 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 from 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 form creator are available, like in a CMS. In version 2.7, you can authorize users to access forms.

Workflow Engine

To start working, you need to 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 with one of the examples, where you find an already configured WorkflowRuntime and an example of a 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 they’re rarely used, and creating and supporting them requires considerable effort.

Workflow Engine stores 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 integrating it into your project. Please, use our step-by-step integration guide.

If you plan to manage users and roles in your schemes, you need to 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 on the backend, and 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 Workflow Engine and Workflow Server.

Workflow Terms

Top