流程设计--设计理念

SDP工作流程管理系统功能模型如下:

SDP工作流系统功能模型与参考模型的对应关系如下图所示:

根据流程功能模型和设计原理,针对SDP工作流程引擎框架进行设计,设计后的工作流引擎框架结构如下图所示:

运行原理

工作流业务管理是指运行在一个或多个工作流引擎上,用于定义、实现和管理工作流运行的一套软件系统。它与工作流执行者(人、应用)交互,推 进工作流实例的执行,并监控工作流的运行状态,其运行原理如下:

体系架构

SDP工作流程管理系统软件构成

1、建模工具:用来生成xml文件,并提供一个解析该xml,并把数据插入流程数据表中。

2、流程引擎:推进调度执行工作流过程和活动。维护自动活动和人工活动,分别为外部系统调用和参与者的任务列表提供数据

3、监控管理:对流程、活动任务的运行监控,实行通知信息的管理机制。

4、外部系统数据调用:调用和执行外部可执行文件、DLL、事件、存储过程、脚本等。

5、运行平台:用户web端发起流程,对流程工作任务进行领用执行,以及对流程进行跟踪监控管理。

SDP工作流程管理系统数据

(1)、工作流数据

流程数据:分为模型库和运行库。模型库的数据来源于对xml文件的解析。当对一个模型库实例化的时候,把模型库数据实例化并导入运行库。实例化包括生成序列ID,初始状态等。

相关数据:在路由活动中用来判断后续活动变迁数据ID,类型,初始值。

控制数据:变迁表的前驱活动ID,后续活动ID,工作流对象状态等数据。

形参数据:在外部Tools,EXE中规定的参数类型和个数。

人员数据:这里定义的参与者角色,需要和外部员工数据进行映射来对应员工。

(2)、外部数据

表单属性数据:人工活动界面设计时,需要对页面元素进行控制的数据

外部应用数据:外部数据执行所需要的数据。

外部系统数据:当工作流系统需要参与者交互的时候,需要引用员工数据,通过员工角色映射表来对应员工,有3种判定员工策略:先登录先指派,任务最少指派,唯一对应指派。

三、SDP工作流程管理系统功能

SDP工作流管理系统功能需要完整的流转完成需要经过三个阶段(模型定义、模型实例、模型执行)的执行才能完成。所以工作流管理系统功能包含三部分,功能描述如下:

模型定义阶段功能:主要实现工作流过程和相关活动的定义和建模功能。

模型实例阶段功能:对需要执行的流程的业务进行流程的实例化,完成过程实例、活动实例、工作任务的创建过程功能。

模型执行阶段功能: 执行既定工作流过程,并根据规则调度相应的活动,通过引擎调度系统,将活动产生的工作任务推送给处理者,处理者通过系统提供的人机交互功能来完成工作任务。同时对过程与活动的执行情况进行监控与跟踪。

四、SDP工作流程管理系统设计原理

我们的SDP工作流程引擎采用的是核心调度算法是FSM(有限状态机),基于调度算法来完成流程的流转。FSM的定义为包含一组状态集(states)、一个起始状态(start state)、一组输入符号集(alphabet)、一个映射输入符号和当前状态到下一状态的转换函数(transition function)的计算     模型。当输入符号串,模型随即进入起始状态。它要改变到新的状态,依      赖于转换函数。在有限状态机中,会有有许多变量,例如,状态机有很多与动作(actions)转换(Mealy机)或状态(摩尔机)关联的动作,多重起始状态,基于没有输入符号的转换,或者指定符号和状态(非定有限状态机)的多个转换,指派给接收状态(识别者)的一个或多个状态,等等。

SDP工作流对象分为过程、活动、工作任务这三部分,各个对象在流程实例启动后通过各对象的状态变迁来推进流程的运行。具体各对象在模型实例化后,所具有的状态内容如下:

(1)、过程实例

过程的基本状态可以概括为如下六种:

初始(Initiated)、运行(Running)、挂起(Suspend)、中断(Abort)、

终止(Terminate)、完成(Complete)

(2)、活动实例

活动的基本状态可以概括为如下六种:

初始(Initiated)、运行(Running)、挂起(Suspend)、中断(Abort)、

终止(Terminate)、完成(Complete)

(3)、工作任务

工作任务的基本状态可以概括为如下七种:

初始(Initiated)、运行(Running)、领用(Receive)、挂起(Suspend)、

拒绝(Reject)、终止(Terminate)、完成(Complete)。

具体各流程对象的状态的相互关系及各自的变迁顺序请见后面章节的详细说明介绍。

 

时间: 2024-11-05 18:53:31

流程设计--设计理念的相关文章

流程设计(抽象节点法)

如何设计一个配置灵活的流程? 要做到以下几点 1.节点状态.节点按钮可以动态的配置,不会影响流程的运行,可以在现有的流程中更改流程的走向 2.节点可以对应多个按钮,即流程进入某一节点的时候可以显示多个按钮 FlowNode 流程节点状态,流程节点状态用于表达流程的状态 那么NodeState和ButtonState分别代表什么意思呢? 为什么需要两种状态?举个简单的例子,以一个外卖员接单为例,当外卖员接单后,可能会有两个按钮供他选择,受理订单和拒绝受理(假如超出了他的配送范围),假如受理订单,我

jQuery+jsPlumb简易流程设计

jsPlumb是一个比较强大的绘图组件,它提供了一种方法,主要用于连接网页上的元素. 1.主要三个JS组件:jQuery.jQuery UI.jsPlumb 2.结果展示: 3.源码地址: 源码下载 4.注意 源码中test.jsp中JS和CSS的引入根据自己项目的实际位置引入. String contextPath = request.getContextPath();       if ("/".equals(contextPath))        {            co

佩特来项目经验小集合(5)___系统流程设计

在佩特来项目设计中有一个流程设计问题,虽然.NET 和Java都有工作流,但是考虑到这个项目小,这里就简单的借用一点工作流的思想,设计了几张表,然后通过代码来控制流程.下面以"维修鉴定单业务流程"中的有实物流程为例,谈一下具体的流程设计.有实物的维修鉴定业务流程包含大致步骤:代理商填单.打印二维码.拆包.沟通转办.拆分.故障分析.各角色对费用进行审批.费用提交到费用池(统计各代理商金钱的地方).维修鉴定单流程见下图: 因为系统中不止这一个业务流程,所以系统流程设计的表有任务表(如维修鉴

asp.net 微信企业号办公系统-流程设计--流程步骤设置-策略设置

策略设置包括当前步骤的流转方式,处理人员,退回策略等设置. 流转类型:当前步骤后面有多个步骤时,此类型选择可以决定后续步骤的发送方式. 1.系统控制:由系统根据您在线上设置的流转条件来判断该发送到哪一步(线上的条件设置将在后面说明). 2.单选一个分支流转:后面有多个步骤时当前处理人员只能选择发送到后面的某一个步骤. 3.多选几个分支流转:后面有多个步骤时当前处理人员可以多选发送到后面的某几个或全部步骤. 运行时选择:是否允许该步骤处理人员在发送到下一步的时候选择接收人员,如果设置为不允许则只能

asp.net 微信企业号办公系统-表单及流程设计配置实例

在环境搭建好之后,我们就来学习一下怎样快速创建一个流程,并执行和流转该流程(我们这里讲的只是入门,不涉及到具体流程参数设置). 创建一个流程步骤为:在数据库在创建表-->设计表单-->设置流程-->配置菜单  即可点击新配置的菜单运行该流程. 1.创建业务数据表 根据自己的业务需求我们创建自己的业务表(例如政府部门常用的 文件阅办卡): 建表注意事项: 表必须要有一个主键,主键只能是int型的自增字段或者uniqueidentifier(guid)类型. 2.设计表单 打开表单设计器:

[异步][事务][流程][设计]同步当场处理并返回处理结果,异步后如何返回. 如何解决?

举个例子1: 钱有100,两口子之前有约定要剩下90, 老公看到有100,花10元,花完以后因为事件异步,数据不一致,此时老婆刷新页面也看到100,再花10元.那最终是80元. 不符合用户的预期. 这个问题如何解决? 见http://www.jdon.com/46473#23145064 异步需要一个异步回调.(或者实现一个通知接口. 不如回调实现来的漂亮.) 异步需要事件 异步需要重试机制 昨天咨询了下我们的高T. 他认为是这样实现的: 这个场景在国外银行很常见,国外有夫妻卡. 先说说不用异步

流程设计--页面介绍

上图为流程设计器的主界面,左边栏目为树形结构,提供两种树形,一个为流程定义的分类的树形,另外一个为根据模块菜单的树形. [功能描述] 1.新增:新增功能主要处理定义的工作流程的建立. 2.删除:删除定义的工作流,注意,删除只能删除处于设计状态的工作流,处于发布和停用状态的工作流是不允许删除的. 3.修改:处于设计状态下的工作流是可以继续修改的. 4.复制:提供流程模版的拷贝功能,生成新的工作流程.再继续修改. 5.分组:将设计的工作流程归分到所属的分类目录中去,便于查找和分类. 6.导出:提供工

流程设计器之标签工具

工作流系统中,各种路由节点,顺序流,条件流,流程的设置均在节点属性页中完成. 在节点属性页面中设置节点名称,到达节点自动触发的前置事件,离开节点的后置触发事件.节点上执行的表单等等,都在节点的属性页面中完成. 条件节点的设置也是在属性页面中完成,通过向导引入业务表单中的关键数据,用于控制流转的条件,如请假单中的请假天数,报销单中报销金额,都是业务中的关键数据,用于控制流程的流转.这些条件的设置均在节点的属性页面中设置. 节点设置完成后,用连线连接起各个节点,组成顺序流转,条件跳转,并行执行等等.

流程设计--引擎理念

工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色.分工和条件的不同决定信息传递路由.内容等级等核心解决方案.工作流引擎是为工作流实例提供执行环境,它是工作流管理系统的核心服务,因此,工作流引擎设计的好坏直接关系到工作流的执行效率与可扩展性. 工作流引擎是工作流管理系统中为过程实例和活动实例提供运行环境的服务软件,是整个工作流管理系统的核心,工作流引擎的主要功能有: (1).解释流程定义 (2).创建流程实例(人工创建.自动创建:自动创建又包括自动定时