.NET Core/.NET5/.NET6 开源项目汇总3:工作流组件

开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激、尊重。请严格遵守每个项目的开源协议后再使用。尊重知识产权,共建和谐开源社区。

ELSA

Elsa Core是一个工作流库,支持在任何.NET Core应用程序中执行工作流。工作流不仅可以使用代码定义,还可以定义为JSON、YAML或XML。

  • 设计器。提供了一个设计器:Elsa Designer 用于通过可视化方式定制流程。
  • 持久化。工作流几乎可以使用任何存储机制持久化。将支持以下提供程序:
    • In Memory
    • File System
    • SQL Server
    • MongoDB
    • CosmosDB

Elsa对长期运行的工作流具有本机支持。一旦工作流因为某些阻塞活动而停止,工作流就会被持久化。当发生适当的事件时,工作流将从存储加载并恢复。

Elsa的主要目标之一是以最小的工作量和最大的可扩展性在任何.NET应用程序中启用工作流。这意味着将工作流功能集成到您的应用程序中应该很容易。

Gitee://gitee.com/imlyqmayun/elsa-core

Workflow-Core

Workflow-Core是一个基于.NET Standard的轻量级工作流引擎,目前有超过3100+个star。它提供了FluentAPI、多任务、持久化以及并行处理的功能,适合于小型工作流、责任链的需求开发。

由于Workflow-Core支持工作流长期运行,因此Workflow-Core支持以下多种数据源格式的持久化,可以通过安装不同的Provider包来实现对应的持久化:

  • (默认提供,用于测试和开发)内存
  • MongoDB
  • MS SQL Server
  • MySql
  • Sqlite
  • Redis
  • PostgreSQL

GitHub://github.com/danielgerlag/workflow-core

mxGraph

mxGraph包包含一个用JavaScript编写的客户端软件,以及各种语言的一系列后端(.NET、Java、PHP)。客户端软件是一个图形组件,它具有可选的应用程序包装器,该应用程序包装器集成到现有的web界面中。客户端需要Web服务器将所需文件传递给客户端,或者可以在没有webserver的情况下从本地文件系统运行。后端可以原样使用,也可以以支持的语言之一嵌入到现有服务器应用程序中。

如果存在后端,则可以将客户端配置为以各种方式使用此后端,例如:

  • 创建图像
  • 存储和加载图表
  • 创建图形的对象表示

上面的场景可能以各种方式组合,例如在发生更改时将每个更改的XML描述发送到后端,或者自动保存图表以避免客户端上的数据丢失。客户机也可以在脱机模式下运行,不需要后端或Web服务器。

Visor.js

Visor.js 基于JjQuery,在Canvas上制作在线绘图应用的核心基础文件。它支持鼠标的拖拽移动,伸缩,旋转和各种事件。

VFD

VFD基于Vue + Ant Design Vue +JSPlumb,作为一款流程设计器组件,可作为流程图、泳道图等绘图工具,面板组件布局合理,功能强大,操作方便快捷(可拖拽且快捷键丰富),保存后为一段json数据,便于保存及控制版本,也可保存为图片,安装使用方便,集成难度较小,有交流群。

Gitee://gitee.com/yjblogs/VFD

Easy-Flow

easy-flow 基于VUE+ElementUI+JsPlumb的流程设计器,通过 vuedraggable 插件来实现节点拖拽。

功能介绍

  • 支持拖拽添加节点
  • 点击线进行设置条件
  • 支持给定数据加载流程图
  • 支持画布拖拽
  • 支持连线样式、锚点、类型自定义覆盖
  • 支持力导图

Gitee://gitee.com/xiaoka2017/easy-flow