OptimaJet offers two products to create and manage workflows:
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|
|Integration with other components|
|Restful API/HTTP API/Swagger|
|Security (users, roles, permissions)||*||*|
* 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.
Let us take a closer look at the solutions.
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.
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:
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.
These terms are common to the Workflow Engine and Workflow Server.