转载:http://tech.it168.com/oldarticle/2007-07-17/200707171229218.shtml
1. 基本概念
1.1 工作流
根据WFMC的定义, 工作流就是自动运作的业务过程部分或整体,表现为参与者对文件、信息或任务按照规程采取行动,并令其在参与者之间传递。
简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们 可以将整个业务过程看作是一条河,其中流过的就是工作流。
也可以认为工作流就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要
解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。
1.2 工作流管理系统
工作流管理系统(Workflow Management System, WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。
1.3 工作流模型和工作流实例
图1
如图所示,先建立工作流流程模型后,根据模型产生工作流运行实例.
•流程定义:由流程定义工具(企业流程管理控制台)所定义的一个工作流过程。
•流程实例:流程定义运行之后转化为流程实例,一个流程定义可以产生多个流程实例。
1.4环节
•定义:又叫活动,节点或者任务,工作流是由一个个环节按照一定顺序组成的。
•环节实例:环节运行之后的一个实例。
•分类
结合具体实例,S市邮政工作流环节类别如下:
10 起始 20 起草 30 普通 40 分流 50 合流 60结束
图2
•基本属性:名称;处理时限;预警时限
•环节人员设置:环节人员列表(集合),如下:
图3
•环节处理动作:处理动作列表(集合),如下:
图4
1.5 参与人员
•定义:表示执行某个环节的资源
•分类: 人,组织,角色,分类,系统(或应用),动态计算(通过接口实现)
1.6 条件线(转移线)
•定义:两个环节之间的连接线,表示环节之间的状态迁移。转移线上可以转移条件。
•分类:无条件(缺省);有条件
属性如下图:
图5
1.7 环节动作
在每个环节,动作被用户指定为自动或手动地执行。每个动作执行后,都有一个结果(result)。结果决定了工作流的流转方向。
1.8 工作事项(Work Item)
描述参与某个业务应用时被分配到的一项任务,这就体现了参与人员和系统交互的典型特征。
1.9 业务规则
描述业务在运行的过程中必须要遵守的规定和原则,也是业务活动得以向另一个活动推进的规则。我们把它分为四类规则,分别是如下描述。
自动型——它主要描述一些只给参与人员查看业务信息的业务规则,例如通知、公文流转等等业务。该类业务不需要参与人员去审批或其它人为上的处理,只需要参与人员去查看其中的内容就足够,整个业务流程的完成是全自动的。
与聚合——业务活动的完成是需要参与该活动的所有人员都进行人为处理,其中有一个人员没对其进行处理,整个活动只能停在原地,等待所有人员的处理,当最后一个参与人员执行了处理工作,它才能完成。
或聚合——在参与某一业务活动的人员当中只要有一个对其进行处理,整个活动就可以完成。
投票聚合——统计参与该活动的参与人员的处理结果,当满足一定条件该活动才能完成。
2. S市邮政工作流管理系统的组成
2.1 S市邮政工作流执行服务
工作流执行服务提供了过程实例执行的运行环境,主要完成了以下功能:
1) 解释流程定义,生成流程实例,并管理其实施过程。
2) 依据流程定义和工作流相关数据为过程实例的导航提供进入或退出的条件,并行或串行执行活动的信息,用户信息等。
3) 维护工作流控制数据和工作流相关数据(包括不同过程和活动实例的内部状态信息,工作流引擎用于协调和恢复的各种检查数据和恢复/重起信息等等),并能向用户传递必要的相关数据。
4) 与外部资源交互完成各项活动。
本服务从执行特点划分可以分为以下两个部分:
•Visual Studio 2005 Web应用系统开发模板——包括Web开发程序架构源代码、开发基础库、流程应用示例代码、组织结构开发接口、工作流引擎开发接口等。
•Visual Studio 2005 异步处理架构开发模板——提供异步处理调度逻辑,方便用户实现异步处理需求,如:超时提醒、告警提示、自动处理、自动启动流程等业务需求。
2.2 企业工作流建模工具
本工具主要用于分析,建模,描述并记录经营过程,它采用“所见即所得”的用户界面可以“形象化”地以拖拽方式建立起企业各种类型的业务流程模型图,并在后台输出一个可被工作流引擎解释的过程定义。
在工作流的建模期间需要参考组织和角色模型以获取相关必要信息, 工作流流程建模过程中指定完成某项活动的组织实体或角色,但不会指定具体人员。工作流执行服务负责在工作流运行环境内将组织实体或角色映射为特定的人员。
本功能能够启动流程,并对各环节进行权限控制。
通过本工具,用户可以轻松完成工作流的定义。
2.3 组织角色权限应用系统
系统的基础,包括企业的组织架构,系统操作人员管理,系统权限控制等;
2.4 企业工作流引擎
工作流引擎是一个为工作流实例的执行提供运行环境的软件
服务和引擎。它主要提供以下功能:
1) 对工作流流程定义进行解释;
2) 控制工作流流程实例的生成,激活,挂起和终止等;
3) 控制工作流流程实例间的转换,包括串行和并行操作,工作流相关数据的解释;
4) 维护工作流控制数据和工作流相关数据,在应用或用户间传递工作流相关数据;
5) 提供用于激活外部应用程序和访问工作流相关数据的用户接口或界面;
6) 支持用户操作的接口或界面;
7) 提供控制,管理和监督的功能。
2.5 工作流控制数据和相关数据
2.6 应用程序和应用数据
3. 建模实例
3.1 架构视图
图6 : S市邮政工作流构架图
3.2 活动视图
活动视图,通常表现为活动图, 它记录了单个操作或方法的逻辑,单个用户案例,或者单个业务流程的逻辑。
在活动图中,用左右两段是圆弧的长方形表示活动,用较粗的横线表示活动的分发,用带有箭头的线表示活动处理的先后顺序。
下图为S市邮政工作流执行活动图。
图7 : S市邮政工作流执行活动图
4. 数据库模型
4.1工作流模型及其实例
图8: 工作流模型及其实例实体关系图
实体表说明:
4.2 组织结构
图9: 组织结构实体关系图
组织结构表说明如下:
4.3 工作流应用数据
主要是工作流系统的元数据,限于篇幅,暂时不表。
5. 常见工作流模型分析
5.1基本时序型
顾名思义, 在同一个流程中,只有当前驱活动(节点)完成后后继活动才能接着进行。
模型图解:
图10
5.2 平行分支型
分支成一个分支成两个或两个以上并行的分支,每个分支是并行进行的。
模型图解:
图11
5.3 独占选择型
当一个活动被分叉成为一个或多个分支,根据条件仅有一个分支恰恰能够被继续运行下去,而且是按照某一被分配的逻辑条件,而其他的分支是被禁止的。
模型图解:
图12
S市邮政工作流模型可以支持多种类型的工作流模型,流程模型一经设计完成,程序运行自动根据模型流转,实现了模型和实例运行的无关性。
6. S市邮政业务审批工作流过程图解
6.1 业务登记
图13
如图所示,用户提交业务表单后不仅完成了表单的保存,而且会根据所选的下一个环节的用户为其产生一条工作事项(Work Item)并产生在“待办事项”栏目中,这样下一个环节的用户(一般为主管)便可以直接进入处理并提出办理意见。
这个时候,业务表单实际上已经随着业务流程流动起来了。
6.2 “待办事项”
图14
如图所示 ,在个人工作区中点击“待办事项”处理按钮后,系统显示该业务表单和它的处理流程,页面如下图所示:
图15
此时,本环节的用户角色,可以提交“办理意见”再提交到下一个环节,在提交到下个环节前,通常会显示用户选择页面,表示你要选择的具体的用户角色,我们可以理解为:工作流模型设计到用户角色,而实际运行中的工作流实例是必然要把环节落实到某某人的。
6.3 综合查询
图16
如图所示,工作流尚有一个流程查询监督的功能,可以根据相关条件把符合条件的流程列出来,用户也可以点击查看处理结果,根据处理进度上的表现可以做到相关员工的绩效考核,此时,一切均凭业绩说话了。
7 小结
本文以实际例子解析了工作流的相关概念和模型,希望能帮助大家熟悉工作流的应用和设计。
分享到:
相关推荐
在`jbpm工作流引擎介绍.ppt`文件中,可能包含了对这些步骤的详细图解,展示了每个步骤如何在jbpm中建模,以及流程实例在不同阶段的变化。此外,还可能涵盖了如何配置工作流规则、如何定义和分配任务,以及如何使用...
压缩包中的"MCGS教程实例讲解.pdf"文件,很可能是教程的主体部分,包含了丰富的文字说明、图解和步骤指导,是学习MCGS编程和应用的宝贵资源。读者应仔细研读,结合实际操作,以加深理解并提高技能。 总结来说,...
5. 图解教程的价值:图解教程通过直观的图像展示模具构造和工作原理,使学习者更容易理解复杂的模具设计概念,有利于快速掌握技能。 6. 模具制造工艺:除了设计,还包括模具的制造工艺,如切削加工、电火花加工、热...
【Oracle Data ...对于更复杂的场景,ODI 提供了工作流、调度、错误处理和性能监控等功能,使其成为企业级数据集成的重要工具。在实际工作中,应进一步学习和掌握 ODI 的高级特性,以应对更复杂的数据集成挑战。
实例部分通常会提供实际的汽车仪表板模具设计案例,通过详细的图解展示每个步骤,包括CAD建模、模具组装、试模过程和问题解决。这些实例有助于读者理解理论知识在实际工作中的应用,提升解决实际问题的能力。 总的...
首先,教程会介绍注塑模具的基本结构和工作原理,包括模架、浇注系统、成型零件、导向机构、顶出系统以及冷却系统等组成部分。这些部分的设计直接影响到模具的精度、使用寿命和生产效率。例如,浇注系统的设计需考虑...
- **课程亮点**:本课程强调设计模式的实用性和趣味性,通过实例引导学习,深入剖析设计模式背后的编程思想。 - **授课模式**:采用“提出应用场景—引出设计模式—剖析原理—分析实现步骤—代码实现—源码分析”的...
OPNET 14.5仿真实例是网络性能分析与设计的重要工具,广泛应用于学术研究和企业实践。这个实例基于《OPNET网络仿真》一书中的第六章内容,作者为陈敏。OPNET是一款强大的网络仿真软件,它允许用户通过模型化的方式...
本教程主要围绕汽车注塑模具的设计要点和实例展开,旨在为读者提供全面的注塑模具设计知识,特别是针对汽车前大灯反射镜的制造过程。汽车注塑模具是汽车制造业中不可或缺的一环,用于生产高质量、高精度的塑料零部件...
### 图灵图书:图解JAVA多线程设计模式 #### 关键知识点概览 - **Java多线程基础** - 线程的概念与创建方式 - 线程的状态及其转换 - 线程生命周期 - **Java并发编程** - 同步机制(synchronized关键字) - ...
《汽车注塑模具全图解教程-汽车注塑模具设计要点与实例》是针对汽车行业中不可或缺的注塑模具设计的一份详细教程。本教程通过图文并茂的方式,深入浅出地讲解了汽车注塑模具的设计原理、关键要点及实际应用案例,...
《Head First设计模式》这本书通过丰富的图解和实例,帮助读者更好地理解和运用这些模式,无论是Java还是C#开发者,都能从中受益匪浅。配合提供的源码,读者可以更直观地看到设计模式在实际项目中的运用,加深理解并...
单电源运放图解资料手册很可能包含了以上这些主题的详细说明和实例,帮助读者理解并应用这些概念。通过阅读这份手册,电子工程师和爱好者可以学习如何有效地设计和优化单电源运算放大器电路,从而在实际项目中实现...
在教授AutoCAD时,除了讲解基本的软件操作外,通常还会讲授如何在实际工程设计中应用AutoCAD,包括设计工作流、图层管理、标准件库使用、打印输出等。教学方法可能包括案例分析、实战演练、项目驱动等,以增强学生...
总之,《图解:电子元器件知识大全》是一份全面的电子元器件学习资源,它详细介绍了各种元件的工作原理、特性、应用以及选择和测试方法,对于提升电子技术理论水平和实践技能具有重要作用。无论是学生还是工程师,都...
《图解Spark核心技术与案例实战》是一本深入探讨Apache Spark技术的专著,旨在帮助读者掌握Spark的核心概念、关键技术和实际应用。...书中的实例和详尽解释将为初学者和经验丰富的开发者提供宝贵的参考资料。
文章介绍了一个具体的电路设计实例,其中R1和VR1构成了一个12V输出端的有源假负载,这样可以在12V输出端负载轻时实现12V电压调节。当5V输出端过载时,5V输出端电压会下降,假负载会吸收大量电流,通过检测R1上的电压...
图解编译原理在讲解这些概念时,很可能通过图表和实例来帮助读者更好地理解。例如,可能使用流程图解释编译过程,用示例代码展示如何转换,甚至可能有交互式的实验来让读者亲手实践编译过程。 此外,书中可能还会...