zoukankan      html  css  js  c++  java
  • 普通工作流管理系统

    一、简介

    工作流管理系统(HB WorkFlow)参照工作流管理联盟(WfMC)标准设计,以业务管理为核心(BPM-Business Process Manager),以工作流平台技术为依托,帮助企业快速构建高效、柔性、可扩展的业务流程管理系统。此系统不但涵盖了流程开发、发布、管理配置、运行、监控的整个过程,还提供流程管理接口,方便对流程关键要素指标(时间、质量、数量、风险、事件)及其他指标的采集,为业务流程的管理、监督、考核和优化提供依据。

    业务过程(Business process)是指为了实现某一种/类业务、战略目标而组合在一起的一组过程或活动。而工作流是业务过程的交互式或自动化处理,在业务流程处理过程中,根据一组定义好的处理规则,可以把相关的信息、文档、任务或业务从一个参与者传递到另一个活动的参与者。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。

    通过现代化的工作流软件技术手段,将这些管理线路规范化、标准化和流程自动化,从而有效地提高业务运作效率,降低成本,为实现企业的战略目标提供保障。

    二、系统组成和功能介绍

       系统涵盖了从流程开发、发布、管理配置、运行、监控的整个过程,包括

    如下几个组成部分:

    •  可视化的工作流开发环境

    •  工作流引擎与服务

    •  WEB客户端管理

    •  可视化的流程监控

    •  标准的工作流服务组件

    •  流程套路生产线

    二、系统组成和功能介绍

       系统涵盖了从流程开发、发布、管理配置、运行、监控的整个过程,包括

    如下几个组成部分:

    •  可视化的工作流开发环境

    •  工作流引擎与服务

    •  WEB客户端管理

    •  可视化的流程监控

    •  标准的工作流服务组件

    •  流程套路生产线

    一)、可视化的工作流开发环境

    工作流设计支持图形化的工作流定义,可以方便地支持鼠标拖拉处理,工作流设计与

    业务开发基于一体化的设计环境,与开发平台完美结合,可以实现复杂的业务处理;另一方面,工作流系统运行可以独立于平台之外,与客户现有的应用系统甚至是正在运行的应用系统实现无缝整合。

    工作流设计主要的步骤:

    •  可视化工作流模型设计

    1)工作流活动节点支持人工节点、自动节点、路由节点、子流程节点(流程嵌套);

    2)支持活动的串行、并行、条件流转、跳转、退回、撤回、自循环处理;

    3)支持节点与、或、异或等输入输出方式定义;

    4)任务分配方式支持手工分配、竞争分配、系统配置及智能任务分配等多种分配方式;

    5)支持任务超时处理,任务的重新分配;

    6)支持任务的主办完成、会签完成、规则完成;

    7)工作流模型启动支持人工启动、自动启动两种方式。自动启动支持一次性启动、按周期启动等多种方式;人工启动即可以支持从工作流模型启动,也可以支持通过业务启动流程。

    •  定义流程状态数据

    流程状态数据是指工作流在运转过程中流程流转所需要的保存在流程实例中的数据,流程状态数据一般是影响节点的分支输出条件、业务单据号、流程的发起者或参与人等数据;工作流与业务之间采用松耦合方式,流程和业务之间通过流程状态数据进行交互。

    •  流程下的业务处理

    1)流程下各个活动节点即可以调用同一个业务模块,也可以调用不同的业务模块;

    2)流程下不同节点可以控制具有不同的动作权限、列权限及行权限;

    3)流程下的业务即可以是开发的业务模块,也可以是用户自主开发的业务模块;

    4)提供多种标准的业务组件及处理方式供开发者直接使用。

    •  标准工作流接口

    工作流系统具有标准的流程交互接口,如流程启动、挂起、恢复、终止,任务完成、退回、撤回、回滚,分配主办任务、会签任务、知会任务,流程状态数据交互,节点跳转、返回等;在流程运转过程中提供多种事件回调接口,如任务创建时,任务分配时,分配前、分配后,任务完成规则,任务超时时等。

    •  生成流程脚本

         对定义的流程检查后,提供保存功能,可以生成对应的流程XML脚本。

    二)、工作流引擎与服务(WorkFlow Engine)

    工作流引擎是一个独立后台服务程序,负责流程的解析、执行、任务的调度、分配、超时监控、事件控制等工作。采用多线程任务队列、流程实例缓存及定向负载平衡等优化处理策略,提供大并发、大数据量的支撑能力,满足高负载、高并发的需要。

    三)、WEB 客户端管理

    工作流系统提供标准的业务基础框架,包含业务运行所需要的绝大部分基础功能

    组件,开发者不需要写代码,只需简单发布,就可以调试、试运行业务流程。

    工作流系统 WEB 客户端业务基础框架的主要功能包括:

    •  组织机构、岗位、人员管理,支持多级组织,一岗多人、一人多岗处理;

    •  支持外部组织及人员统一管理,实现业务权限、流程权限的统一分配;

    •  群组(虚拟组织)管理,支持相对角色,如发起人、发起人部门主管等;

    •  业务权限(访问权限、行权限、列权限、动作权限、控制码权限)管理;

    •  流程权限管理,包括流程的管理权限、发起权限,任务的执行权限、分配权限;

    •  最终用户可视化自动义流程(Web 方式),用户可以方便增加、删除节点,定义分支条件,为不同节点指定调用不同的业务模块,为不同节点分配业务模块上的动作及列权限;

    •  待办事宜,可以进行任务委托,退回处理;

    •  手工任务分配,任务签收;

    •  批量任务审批,一次同时审批多个任务。

    四)、可视化的流程监控

    及时掌握工作流运行状态是每一个管理者都十分关心的问题,工作流系统需提供方便直观并简洁的 WEB工具,可以让管理者可视化地了解每一个流程实例的流转运行状况。工作流监控工具可以对运转的流程实例进行监控和干预,可以挂起、解挂流程,暂停或终止流程,开发者还可以根据具体的业务需要实现流程的跳转,转发,回退任务等。

    五)、标准的工作流服务组件

    为帮助客户快速开发,把一些工作流中常用的功能封装成标准组件,开发者直接调用这些组件就可以实现复杂流程的处理,提升工作流的开发效率,这些组件可以包括:

    •  手工发送组件

    •  会签组件

    •  阅办情况组件

    •  执行人选取组件包

    •  图形化流程监控组件 

    •  处理意见组件 

    •  意见跟踪组件 

    •  附件上传组件 

    •  手工分配任务选人组件

    六)、流程套路生产线

    在制造业里有生产线的概念,每个产品都有自己固定的生产线,通过生产线可以快速组装出相应产品来。由此可以借鉴的是一定要在自己开发的业务领域内搭建生产线,形成各种生产套路,这个套路不是一条,在华博工作流管理系统(HB WorkFlow)中不仅需提供大量的流程生产线套路,同时开发者还可以根据各种需要定义自己新的生产线套路,从而为特定领域的开发提供大量的、可重用的组件及套路,实现真正的软件流程开发工业化生产。

    二、系统特点

    1、可视化流程定义

    可视化的流程设计可以让客户拖拉式地设计流程,大大提升了流程的设计效率,同时也大大降低了流程的设计难度。

    2、可视化的流程监控

    使用者可以方便地以图形化的方式察看每个流程实例的运转状况,用不同的颜色区分出每个节点的运行状态,可以方便地掌握整个流程实例运转状态及每个节点的执行状况。

    3、具有强大的工作流引擎服务

    工作流引擎采用多线程任务队列、流程实例缓存及定向负载平衡等优化处理策略,满足高负载、高并发的需要。

    4、 松耦合的流程和业务处理模式,方便与其它系统集成

    工作流引擎和业务系统之间以接口形式进行交互,保持了流程和业务之间的独立性,提升系统适应变化的能力;

    5、灵活的参与者设置

    工作流系统可以由不同岗位、不同部门甚至是打破企业界限的一组人一起协作完成; 工作流任务的参与者既可以支持固定角色,也可以支持相对角色;工作流的任务分配不但可以支持系统配置、手工指定方式进行任务分配,还可以通过流程回调接口根据企业特定的组织架构及管理规则进行智能任务分配。

    6、标准的服务组件可以直接使用

    封装工作流开发过程中常用的、可重用的流程业务组件,如:手工发送组件、会签组件、阅办情况组件、执行人选取组件包、签署意见组件、流程跟踪组件、附件上传组件等,开发者可以直接使用这些组件,提升工作流的开发效率。

    7、丰富的接口可供扩展

    标准的流程交互接口,如流程启动、挂起、恢复、终止,任务完成、退回、撤回、回滚,分配主办任务、会签任务、知会任务,流程状态数据交互,节点跳转等;在流程运转过程中提供多种事件回调接口,如任务创建时,任务分配时,分配前、分配后,任务完成规则,任务超时时等。 

  • 相关阅读:
    Python异常处理
    Python中的变量作用域,LEGB规则和闭包原理
    Flask实现RESTful API
    Django中自定义实现RESTful API
    Python中的单例模式
    Flask中实现分页
    面向对象进阶
    Flask部分三方模块的使用
    面向对象基础
    在visual studio中设置点击左边选项卡中的类文件,右侧解决方案跳到对应的文件
  • 原文地址:https://www.cnblogs.com/soundcode/p/1910538.html
Copyright © 2011-2022 走看看