zoukankan      html  css  js  c++  java
  • 工作流项目:介绍,应用场景,工作流体系设计,用户体系设计

     工作流介绍

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

    工作流引擎

    所谓工作流引擎是指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(视图/页面)
  • 相关阅读:
    NserviceBus+rabbitmq
    c#调用Mysql带参数的存储过程
    datatable list 之前相互转换
    (gridcontrol等)通用导出excel z
    异步数据库查询 Z
    Gridview导出EXCEL(多页) z
    [自制简单操作系统] 4、计时器(线性表实现优化中断)
    [JAVA] 基于TCP的起重机运行模拟器
    [自制简单操作系统] 3、内存管理和窗口叠加
    [自制简单操作系统] 2、鼠标及键盘中断处理事件[PICGDTIDTFIFO]
  • 原文地址:https://www.cnblogs.com/qingyunye/p/13813260.html
Copyright © 2011-2022 走看看