Streamline Your .NET Development with Workflow Engine
Process Automation Library
Optimajet Workflow Engine is an embeddable .NET library for running workflows in .NET applications with an integrated HTML 5 graphical workflow designer. The designer allows you to easily create interactive workflows of any complexity without needing to draft them programmatically.
Workflow Engine is a backbone solution for business process management (BPM) which makes feasible to automate the workflow design by using low-code visual builders. It is based on .NET Framework/.NET Core and JavaScript libraries. Workflow Engine enables workflow processing and correct integration by providing a graphic designer to create process workflow schemes and at the same time, this software component facilitates the management, execution and visualization of workflow processes.
Making Workflows Simple with Jeffrey Fritz
Principal Program Manager .NET Community Team
Jeff Fritz is a principal program manager in Microsoft’s Developer Division working on the .NET Community Team. Four days a week, you can catch Jeff hosting a live video stream called 'Fritz and Friends' at jeffreyfritz.com
Integrating Workflow Engine into any application takes about an hour and consists of 5 simple steps.
- Setting up your database.
- Initializing WorkflowRuntime.
- Connecting Modeller.
- Creating a document workflow scheme.
- Creating a process and calling commands.
WORKFLOW ENGINE INTEGRATION WITH APPLICATION
Integration with solutions based on other technologies (ASP.NET WebForms, .NET WinForms) or databases (MySQL, PostgreSQL, Oracle, MongoDB and others) is roughly the same and should not entail any difficulties.
Workflow Engine Component
|
|
|
|
---|---|---|---|
|
# | Engine Component | Description |
|
1 | Workflow Designer | It’s a javascript object on a web page where you want the designer to be displayed, and a function that will process requests from the designer and pass them to WorkflowRuntime. |
|
2 | Runtime |
This object allows to create a process, retrieve a list of commands, execute commands, set a process state, etc. It also provides an API for the designer. So, you have to create one WorkflowRuntime object in your application or service and call its methods to enable document management functionality. |
|
3 | DB Provider | You have to use persistence providers to connect to the process database. Depending on your database type, you have to create an object and pass it to WorkflowRuntime. |
4 | Workflow tables | A set of database tables. It's needed for workflow storage. | |
5 | IWorkflowRuleProvider | Provides for security integration. It allows you to call the available authorization methods, or write new ones. Rules represent the functions that are called at a certain moment in time. | |
6 | IWorkflowActionProvider | Provides for business logic integration. It allows you to call your own business functions for each step of the workflow. |
Workflow Engine can resolve several tasks and issues related to process automation as described below:
- Parallel and hierarchical process resolution.
- Workload optimization.
- Business mission-critical process accomplishment.
- Process planning, implementation and follow up.
- In addition, Workflow Engine main functionalities can be implemented by creating C# objects which facilitates software integration. These objects are:
WorkflowRuntime - It provides an API for the Workflow Designer and enables process creation, document management, command execution, setting a process state and so on.
Workflow Engine offers its users all the components necessary to implement workflows of any complexity; and helps them to maintain consistent business processes. Workflow Engine is designed to improve organizational efficiency and productivity, allowing companies to concentrate on job performance rather than workflow management.
Activities
Define document statuses, sets of methods to be executed and other workflow activities.
Timers
Set an interval or date/time to trigger a transition from one activity to another.
Actions
Connect activities with transitions that are triggered by commands or timers.
Actors
Add multiple actors with different roles, including users and external systems.
Commands
Specify commands that should be executed to trigger a specific transition.
Transitions
Connect activities with transitions that are triggered by commands or timers.
Mapping BPMN 2.0 constructs
Let’s have a quick look at a document approval in BPMN 2.0:
Workflow engine state machine
BPMN 2.0 Workflow Engine Comments
Converted to Activity with the Initial flag
Converted to a regular Activity
Converted to Activity with a Final flag
Converted to a Transition with an AA type (automatic transition)
Converted to a Transition with a CA type (transition triggered by a command)
Converted to a Transition with a TA type (transition triggered by a timer)
Designer allows you to easily create interactive workflows of any complexity, there’s no need to draft them programmatically. We reated this native element to let you design, model, edit and visualize your custom workflows.
Drag and drop and configure the step properties
React, Angular, plain Javascript ready
Fully graphical web-based process designer
Many out-of-the-box steps (and growing)
WYSIWYE – What you see is, what you execute
Build and use your own custom steps
Build and use your own data types
Build and use your own business objects
Embed the designer in any application
Localization (RTL)
Stores workflow definitions as XML
Write your custom code C# in the Designer
Scheme inlining
This form of sharing applies to software resources as well as hosting on servers to achieve efficiency and reducing cost. It allows multiple instances of the given application to operate in a shared environment.
There is only one set of infrastructure to deploy and maintain, and all tenants use it. Workflow Engine supports multitenancy in two different ways, as illustrated in the diagram below:
Multitenancy Support in Workflow Engine
© 2023 Optimajet Limited all rights reserved