工作流介绍

是对工作流程及其各操作步骤之间业务规则抽象、概括描述。工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。

工作流引擎

所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案。工作流引擎包括流程的节点管理、流向管理、流程样例管理等重要功能。

参考:

工作流引擎--百度百科

一个适合于.NET Core的超轻量级工作流引擎:Workflow-Core

.Net 三款工作流引擎比较:WWF、netBPM 和 ccflow

ABP+WorkflowCore+jsplumb实现工作流

elsa-core:

 JadeFramework:作者博客地址 、github地址

 个人理解

工作流引擎相当于一个中央处理器 / CPU,可以接受不同的流程、角色、用户、资源等,且根据不同的情况去驱动不同的流程,一步一步去实现不同的流程节点。

工作流体系

流程与设计

流程由多个节点组成,每个节点设计到不同的操作用户,每个节点处理后调到下一个节点

流程表单

流程表单就是流程自定义字段,能够自定义各种各样的流程,以达到通用流程效果。一般用富文本编辑器

例如请假流程

  • 请假天数
  • 请假人
  • 原因
  • 请假事由
  • 状态
  • 假期类型
  • 职位信息

流程类型

流程分组,例如

  • 请假流程
  • 采购流程
  • 借款流程
  • 其他各种审批流程

流程实例(流程细节)--重点

例如请假流程,虽然全公司公用一个流程,但是每个员工的部门权限、请假类型、请假天数都不一行,然后审批流程的节点长度也不一样,例如3天主管审批就行,10天需要经理审批

流程实例操作

就是操作对象,每一节点审批人是谁

流程实例流转

记录流程处理进度状态。

当前节点处理完后,转到下一节点,就是记录已经处理的节点状态,下一个节点该谁处理了。

用户体系

用户

角色

角色资源

一般是菜单和按钮,

用户部门

用户分组

工作流实现技术

    • CAP.RabbitMQ:消息队列
    • JadeFramework:一个.NET集成框架,作者定义为:一些常用的帮助类、扩展方法包
      • 集成了好多常用技术
        工作流项目:介绍,应用场景,工作流体系设计,用户体系设计
    • SignalR: 实时通讯类库 
    • mysql 5.7 :数据库
    • Repository + Service :服务仓储层
    • IRepository + IService :服务仓储接口层
    • Dto:数据传输对象
    • sql脚本模板?
    • 前端
      • summernote: 富文本编辑器
      • GooFlow: 流程设计工具
      • jQuery
      • layui:前端 UI 框架,官网地址 

    项目结构说明:

    • Areas(区域):cshtml 页面
      • Sys(系统):
        • Dept 部门
        • Plugin 插件  
        • Resource 资源
        • Role 角色
        • System 系统
        • User 用户
      • WF(工作流)
        • Category 分类
        • Form 表单
        • WorkFlow 工作流
        • WorkFlowInstance 工作流实例
    • wwwroot:是 asp.net core默认的静态文件夹,可以直接引用
      • lib
      • src:与Areas(区域)的页面对应的JavaScript脚本
      • ui:
      • uploadfile
    • Components(组件)
    • Controllers(控制器)
    • Dtos(数据传输对象):提供给Services(服务)和 Infrastructure(基础设施)使用
    • Filters(过滤器)
      • 全局异常过滤器
    • Hubs(集线器)
    • Infrastructure(工具):
      • CodeStringBuild:代码生成器构建类
      • HtmlExtensions:HTML扩展
      • TokenClient:客户端令牌
      • VerificationCode:验证码
    • Models(数据库模型):与数据库表、字段对应
    • Repositories(仓储):提供数据局给 Services(服务),内含dapper的sql语句
    • Services(服务):提供数据给 Controllers(控制器)
      • WorkFlowInstanceService(工作流实例服务【核心】)
    • Views(视图/页面)

    相关文章:

    • 2022-03-04
    • 2021-12-03
    • 2021-12-28
    • 2021-09-28
    • 2021-10-02
    猜你喜欢
    • 2022-12-23
    • 2021-09-26
    • 2021-09-01
    • 2022-02-28
    • 2021-05-31
    相关资源
    相似解决方案