工作流总结0428.docx
- 文档编号:3660511
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:17
- 大小:56.73KB
工作流总结0428.docx
《工作流总结0428.docx》由会员分享,可在线阅读,更多相关《工作流总结0428.docx(17页珍藏版)》请在冰豆网上搜索。
工作流总结0428
1、基础概念
工作流:
两个或两个以上的人,为了共同的目标,连续的以串行或并行的方式去完成某一业务。
工作流管理系统的定义:
是解释已定义好的工作流,产生并管理触发请求、警告,并且与外部系统进行交互。
其实,工作流管理系统的核心是工作流引擎。
说白了,工作流引擎就是一段程序,负责一些东西的流转。
流程定义(ProcessDefinition):
预先定义的业务流转逻辑。
又叫业务流程、工作流程。
是反映业务目的工作流模型,这个模型定义了要实现的目标以及实现目标所要经过的过程。
流程可以用流程图来表示。
一个完整的独立流程由若干个动作和若干个流转条件组成。
其包含的的属性有:
工作流模型ID、名称、类型、编号、状态、版本号及绑定的数据源等。
流程实例(ProcessInstance):
业务的一次实际流转过程。
(包含了开始时间、结束时间和其他相关联的信息)。
任务(task):
单个业务逻辑
任务的名称、参与者(执行者):
执行任务的人,只有他能看到这个任务。
任务实例(taskinstance):
组成流程实例的元素。
(Task被解释执行时的信息,有创建时间、开始时间、结束时间、参与者等,有create、start、end三种状态)。
流程定义由任务定义组成,流程实例由任务实例组成,如下图。
任务列表(未完成的指定人员的任务实例的列表)当前需要办理(未完成)的任务集合。
/*
FromTaskInstancetiWHEREti.endISNULLANDti.actorId=?
*/
数据源存储数据的集合,目前支持关系数据库中的表,当数据源与流程绑定后,则数据源用来保存工作流运行过程中的数据。
l
2、工作流
2.1工作流
“工作流”干预过程、业务程序的自动化处理,文档、信息或者任务按照定义好的规则在参与者间传递,来完成整个业务目标或者对整个业务目标的完成做贡献。
同时,“工作流”可能由手工组织,实际上,多数“工作流”都在IT系统中进行组织的,从而对过程自动化提供计算机支持。
工作流指:
全部或者部分,由计算机支持或自动处理的业务过程。
2.2工作流机
工作流机是一个为工作流实例的执行提供运行环境的软件服务或“引擎”。
它主要提供以下功能:
(1)对过程定义进行解释;
(2)控制过程实例的生成、激活、挂起、终止等;
(3)控制活动实例间的转换,包括串行或并行操作、工作流相关数据的解释等;
(4)支持用户操作的界面;
(5)维护工作流控制数据和工作流相关数据,在应用或用户间传递工作流相关数据;
(6)提供一用于激活外部应用程序和访问工作流相关数据的界面;
(7)提供控制、管理和监督的功能。
工作流机的一个重要功能就是控制实例和活动实例的状态转换。
工作流管理联盟的参考模型中为过程实例的运行状态和活动实例的状态进行了定义,并给出了状态转换的条件。
图2和图3分别描述了过程实例和活动实例各个状态之间的转换。
2.3工作流实例状态
初始(inactived):
一个过程实例已经生成,但该过程实例并没有满足开始执行的条件;
准备运行(running):
该过程实例已经开始执行,但是还不满足开始执行第一个活动并生成一个任务项的条件;
运行中(active):
一个或多个活动已经开始执行(也就是已经生成一个工作项并分配给了合适的活动实例)
挂起(suspended):
该过程实例正在运行,但处于静止状态,除非有一个“重启”的命令使该过程实例回到准备运行状态,否则所有的活动都不会执行;
结束(completed):
该过程实例满足结束的条件,工作流管理系统将执行过程实例结束后的操作(如统计),并删除该过程实例;
终止(terminated):
该过程实例在正常结束前被迫终止,工作流管理系统将执行补救措施,并删除该过程实例
2.3工作流类型
2.3.1人工参与的流程……客户端应用
这种方式适合于需要人员参与的活动。
这种情况下,工作流机通过任务项列表管理器来进行控制。
工作流管理联盟提供了四种可能的通过任务项列表来实现工作流客户工作流机之间的通讯方式,如图4所示。
其中一种支持集中式的结构,另外三种适合分布情况下的工作流系统。
(1)基于主机方式的模型(HustBasedModel):
这种方式适合于集中的情况。
此时,客户端应用程序、任务项列表管理器、任务项列表和工作流机都列在中央的主服务器上,用户通过模拟一个终端用户来获得任务项列表;
(2)共享的文件库模型(SharedFilestoreModel):
在这种情形下,客户应用程序和任务列表管理器位于用户的工作站上,而工作流位于中央服务器上。
任务项列表位于一个客户应用和工作流机都能够达到的共享的文件系统中。
(3)电子邮件模型(ElectronicMailModel):
这里,客户应用和任务项列表管理器位于用户的工作站上,工作流机位于中央主机上。
所有的通讯都使用电子邮件。
此时,任务项列表一般位于客户端;
(4)过程调用或信息传递模型(ProcedureCallorMessagePassingModel):
这时,客户应用程序和任务项列表管理器位于用户的工作站上,任务项列表和工作流机位于服务器端。
用户通过RPC或者其它的消息传递机制来获得任务项列表。
2.3.2自动化流程……由工作流机直接调用的应用程序
这种情况适合于不需要人员参与的活动。
在简单的情况下,工作流机通过过程模型中定义的活动的信息、应用程序的类型和需要的数据来激活应用程序。
被激活的应用程序可以和工作流机位于一台计算机上,可以位于相同的运行平台上,也可以位于网络可以到达的不同平台上。
模型定义提供了有关应用程序的类型、地址等充分信息,便于工作流机激活该程序并执行相应的动作。
3、任务(task)……又叫活动、动作
动作
又叫活动,动作是构成流程的基本单元,主要反映完成业务流程需要执行的操作。
其包含的属性有:
动作名称、动作描述、动作类型(人工动作、自动动作、子流程等)、是否起始动作、是否添加动作、动作人、动作时限、通知方式以及相应的表单信息等。
动作在流程图中用一个方框来表示,方框内显示了动作的重要属性。
l起始动作
表示一个业务流程的起点。
当起始动作启动后,系统将自动生成一个流程实例。
每一个流程最小有一个起始动作。
起始动作目前是由人工来启动的。
区别与别的工作流系统,起始动作本身也是一个动作,人工起始动作将启动表单,提供人机交互界面,与实际业务过程中的起草、申请、录入等工作相对应。
在流程图中的动作方框内有一个明显的箭头图示表示起始动作,非起始动作则表示为齿轮。
l人工动作
指需要业务人员进行一些手工处理的动作。
人工动作在在执行时将启动表单界面,提供人机交互界面。
l自动动作
指无需人工干预,系统自动运行的动作。
l添加动作
在人工动作时,其启动的表单界面是空白表单。
而当非添加动作时,其表单为上一动作传递而来,当起始动作为非添加动作时,启动的表单将从已存在的表单中选取。
一般情况下,起始动作同时也是添加动作。
非起始动作同时也是非添加动作。
只有一些特殊的流程,起始动作不是添加动作。
l流转条件
表示从一个动作(源动作)转到另一个动作(目标动作)的条件,流转条件包含一个结果为真(true)或假(false)的逻辑表达式,当表达式为真时,目标动作将被启动,当表达式为假时,目标动作不被启动。
目前表达式支持VB的语法。
在表达式定义过程中,流程表单中的每一输入数据项都可以作为变量被引用。
流转条件包含的属性还有:
类型(单径流转、多径流转)、文字描述、源动作、目标动作、名称等。
流转条件在流程图中表示为一个连接源动作方框和目标动作方框的单向连接线。
l单径流转
为流转条件的一种,当目标动作的动作人不唯一时,即一个动作存在多个动作人时,单径流转的处理逻辑是当其中一个动作人完成了目标动作,则此目标动作即变成完成动作。
无须再做。
l多径流转
为流转条件的一种,当目标动作的动作人不唯一时,即一个动作存在多个动作人时,多径流转的处理逻辑是当其中一个动作人完成了目标动作,则此目标动作仍为待办动作。
只有所有的动作人都完成了动作,该目标动作才变成完成动作。
l流程图
业务流程的图型表示。
流程图有两种形式,一种为模型流程图。
表示流程的模型。
另一种为实例流程图,不但表示流程的模型,同时还表示流程的实例。
即流程实例的完成动作和待办动作。
l流程实例
流程启动以后产生的运行实例,即一个运行的业务流程。
系统会产生一个唯一标识ID来表示流程实例。
l动作实例
在流程实例中启动了的动作运行的实例,系统会产生一个唯一的标识ID来表示动作的实例。
l完成动作
当一个动作实例已经完成,为完成动作。
l待办动作
当一个动作实例没有完成,为待办动作。
l超时动作
当一个待办动作超过动作设定的时限为超时动作。
任务实例的运行状态包括:
未开始(inactive):
该任务实例已经生成但还没有被激活(例如活动开始条件没有满足);
运行中(active):
该任务实例已经被激活了;
挂起(suspended):
该任务实例处于静止状态;
结束(completed):
该任务已经执行完毕,工作流管理系统将进行任务结束后的导航工作,激活下一个符合启动条件的任务实例。
4、WFMC……工作流参考模型
4.1WFMC目的
为“工作流管理系统(workflowmanagementsystems)”提出了一个公共“参考模型(ReferenceModel)”,来确定特性、术语和组成部分,并且在工作流系统的完整模型范围内,可以对开发单个组成部分的规范。
详细的规范将作为单独的文档来开发。
4.2工作流目的
工作流经常与“过程重组(BPR—BusinessProcessRe-engineering)”联系在一起。
BPR是关于企业(组织)核心业务过程的评估、分析、模拟、定义以及其后的操作实现。
尽管,不是所有的BPR都是采用工作流实现的,但工作流技术是最佳的方法,主要因为,工作流技术提供了业务过程逻辑与IT操作支持的分离,从而以后可以修改过程规则来重定义业务过程。
相反,工作流技术并不只在BPR中采用,例如用于现有的业务过程中。
WFMC……不做详细介绍
4.3XPDL……工作流描述语言
XPDL(XMLProcessDefinitionLanguage)是由WorkflowManagementCoalition所提出的一个标准化规格,使用XML文件让不同的工作流程软件能够交换商业流程定义。
XPDL是一个通用的框架,这也是XPDL的一个重要特性,这个框架可以支持开发者的特殊使用目的,而对外表现形式却相同。
开发者的实现和它的外部接口可以独立分开,因为不管你如何实现的,采用什么图形描述(状态图,活动图等),只要外部接口符合XPDL规范,那么就可以保持相同的表示形式。
希望在WFMC接口1的未来发布版本中,能够包含现版本中缺少的属性。
XPDL被设计为图形上和语义上都满足交换用的商业流程定义,是描述BPMN图的最佳文件格式。
BPEL也可以描述商业流程。
但是XPDL不仅包含流程执行的描述,还包括了元素的图形信息,更适于商业流程建模。
4.4工作流参考模型中的五类接口
工作流参考模型
工作流联盟给出了五类接口:
(1)接口1:
工作流服务和工作流建模工具;
(2)接口2:
工作流服务和客户应用之间的接口,这是最主要的接口规范,它约定所有客户方应用和工作流服务之间的功能访问方式;
(3)接口3:
工作流机和直接调用的应用程序之间的接口;
(4)接口4:
工作流管理系统之间的互操作接口;
(5)接口5:
工作流服务和工作流管理工具之间的接口。
其中,接口1为在不同物理或电子介质之间传递过程定义的信息提供了交互的形式和API调用;接口2定义了通信建立、工作流定义操作等功能;接口3激活应用程序的API函数应覆盖的几个方面的功能;接口4完成工作流执行服务之间需要提供大量的WAPI来实现互操作,无论是在两个工作流执行服务之间的直接调用还是通过网关函数;接口5主要实现对工作流的管理和监视。
5、数据
工作流控制数据(WorkflowControlData)工作流执行服务/工作流机通过内部的工作流控制数据来辨别单个过程或活动实例的状态。
这些数据由工作流执行服务/工作流机控制。
用户、应用程序或其它的工作流机/工作流执行服务不能对其进行直接读写操作,它们可以通过向工作流执行服务/工作流机发送消息来获得工作流控制数据的内容。
工作流相关数据(WorkflowRelevantData)工作流管理系统通过工作流相关数据来确定过程实例状态转换的条件,并选择下一个执行的活动。
这些数据可以被工作流应用程序访问并修改。
因此,工作流管理软件应该在活动实例之间传递工作流相关数据。
工作流应用数据(WorkflowApplicationData)这种数据指那些由应用程序操作的数据。
它们是针对应用程序的,工作流管理系统无法对它们进行访问。
6、工作流框架
6.1国际工作流……面向开发人员,通用型、功能强大
6.1.1JBPM:
简介JavaBusinessProcessManagement(业务流程管理),覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的。
Jbpm是公开开源代码项目,它使用要遵循ApacheLicense.Jbpm在2004年10月18日,发布了2.0版本,并在同一天加入了Jboss,成为了Jboss企业中间件平台的一个组成部分,jbpm也进入了一个全新的发展时代。
特色就是它的业务逻辑定义没有采用目前的一些规范,如WfMC´sXPDL,BPML,ebXML,BPEL4WS等,而是采用了它自己定义的JBossjBPMProcessdefinitionlanguage(jPdl)。
jPdl认为一个业务流程可以被看作是一个UML状态图。
jPdl就是详细定义了这个状态图的每个部分,如起始、结束状态,以及状态之间的转换,通过图型化的流程定义,直观地描述业务流程。
jBPM的另一个特色是它使用Hibernate来管理它的数据库。
Hibernate是目前Java领域非常流行的一种数据存储层解决方案,只要是Hibernate支持的数据库,jBPM也就支持。
通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于业务逻辑的处理。
优势将业务流程复杂的系统结构清晰化,提供系统运行的灵活性解耦系统业务流程(流程独立,可以使用工具定义和建模,利于跟踪、监控、管理、调度、优化和重整)
提供系统的灵活性(系统流程定义生产环境的修改和调整,用户和外部工具交互,任务的动态分派)使用使用简单,易上手,源代码也易读,作嵌入式工作流是一个很好的选择
6.1.2OSWORKFLOW:
简介完全用java语言编写的开放源代码的工作流引擎,具有显著的灵活性及完全面向有技术背景的用户的特点。
用户可以根据自身的需求利用这款开源软件设计简单或是复杂的工作流。
优势绝对的灵活性、较为简单的和灵活的实现方式
不足非标准脚本语言,工作流引擎对于自动任务支持尚不完善
6.1.3OpenWFE:
简介JohnMettraux所领导的项目组开发的一套符合WFMC标准的工作流管理系统组件。
项目使用JAVA语言编写,具有功能完善、通用型好、扩展能力强等特点。
其除了能够为各种开发环境提供一个符合要求的工作流引擎之外,也能够直接作为一个完整有效的工作流管理系统进行使用。
其主要功能模块包括
优势可视化工作流、动态表单、智能报表,丰富的应用模板
6.2国内工作流……面向应用人员,功能简单、可扩展性差、又叫柔性工作流
6.2.1LiveFlow
简介是东兰科技这家国内专业流程管理系统提供商总结了四年多来对工作流系统的研究及为众多世界知名企业(百事可乐、SONY中国、朗讯科技、友邦保险、雅培制药等)实施经验的基础上推出的第三代企业工作流程自动化管理系统,使用LiveFlow可以做到在网上传送电子表单,实现业务流程的电子化,提升企业的管理,提高工作效率,LiveFlow不仅使工作流自动化变得可能,而且使它变得更方便。
优势图形化工作流程设计、基于浏览器的使用者界面、与数据库紧密结合、电子表单设计
6.2.2EOSWorkflow
简介与EOS平台无缝集成的业界第一家完全构件化的工作流管理系统(WorkflowManagementSystem),能够支撑在大并发用户量、大数据量的企业级应用环境下高效、稳定运行
优势可视化业务流程建模、灵活的活动参与者设置、任务分配策略的灵活性、自由流支持、多种事件支持
6.2.3SynchroFLOW(西安协同)
简介作为一个中间件产品,为企业工作流自动化和企业流程再造提供了一个基础平台,也是基于目前最流行和最具发展潜力的J2EE平台,以wfmc为标准开发;具备图形化的交互界面,良好的稳定性、扩展性、安全性、分布式业务管理。
优势支持多种工作处理方式,支持自动活动节点,简单、易用的图形化过程定义工具,安全管理能力,跨平台能力
6.2.4myApps
简介由天翎公司()自主研发的一款前沿的集成化的工作流应用软件开发平台,目前是全球第一的中国人的开源软件(在SourceForge的16万个开源项目中,排名在前50名)。
优势可视化工作流、动态表单、智能报表、兼容性强
6.3国外商业
6.3.1IBMWebsphere系列产品
现在,IBM已经把Websphere作为整合的代名词。
WebsphereMQWorkflow实现流程整合,WebsphereBusinessIntegrationServer实现业务整合。
而收购的两个产品,改造为自己整合中间件的建模/管理/监控工具。
这些产品都和IBM自己的其它产品比如:
WebsphereMQ或者IBMDB2有直接关系。
比如,我们使用MQWorkflow,只能用DB2数据库,不能用Oralce数据库。
IBM的流程管理工具是市场上占有率最高的,约为24%。
6.3.2BEAAquaLogic系列产品
BEA本身就是一个收购型公司,它收购的产品均为自己公司创造了巨大的财富和影响力。
就在今年的3月1日,BEA收购Fuego,Fuego的产品组合将加入到BEA的AquaLogic产品阵容中,将成为BEA新的AquaLogic商业服务互动产品线的基础。
BEA在流程管理工具方面的市场上占有率约为15%。
MicrosoftBiztalkServer
看了资料说它的市场占有率为约17%。
6.3.3OracleBPELProcessManager
Oracle在融合派中是最早推出BPEL编辑器和引擎的产商,功能全面而且非常的稳定,可惜的是Oracle公司的所有产品目前和开源没有任何关联。
7、工作流管理系统设计与实现
流程……活动……表单(页面)……数据源(表)
一个流程有多个活动组成,一个活动对应一个表单,一个表单对应一个数据源。
由此可知工作流管理系统应该包括如下几个基本部分:
工作流引擎,流程操作(流程引擎提供的一些API我们去调它。
比如启动、结束、挂起、查询流程)
工作流设计器
(前两步开源工作流引擎自带)
表单设计器
数据表设计器
流程监控管理中心(对流程流转进行监控)
过程定义工具又叫建模工具,我们提供了方便易用的过程定义工具。
该工具作为整个协同管理系统的一个系统管理员功能提供给用户。
说明:
在过程定义工具中并不包括组织结构和角色定义功能,这是因为,在人力资源模块中已经实现了这些功能。
人力资源模块是系统的一个基本模块,并不仅仅为工作流子系统服务。
当人力资源模块中的基础数据建立完成后,工作流系统只需要从人力资源模块引用数据即可,不必在工作流系统中单独建立组织结构和角色定义。
定制一个工作流程需要完成如下几个步骤:
●新建工作流模型(可以从现有工作流模型中选取一个作为模板)
●定义工作流的基本属性
●绘制模型工作流图
●定义人工动作对应的表单
7.1新建工作流模型
运行工作流程的定制流程功能模块即可定制一个新的工作流程。
定制流程模块显示的第一个界面是分类列出系统已经定制的各项流程名称,点击名称,将在界面下部显示选中流程的流程图。
我们可以从现有工作流模型中选取一个与将要定义的工作流程近似的工作流作为模板。
这样可以大大减少定义的工作量。
点击右上角的箭头即进入下一步,在进入下一步之前,将询问你是否将选中的工作流模型作为模板。
选确定将使选中工作流复制到新建流程。
否则将创建一个新流程模型。
定义工作流的基本属性
基本属性有如下内容:
1.流程名称流程名称应在所有的流程模型中唯一。
用来在界面标识流程。
2.编码代号可根据企业规定的流程文件填写(如ISO9000文件)。
3.类型按管理类型所做的分类,管理类型在系统管理的编码管理模块定义。
4.描述用文字描述流程要实现的目标。
5.属性确定是否是独立流程或子流程。
6.正常周期流程实例的正常的生命周期。
用来为流程分析提供参考。
7.监控人流程实例的监控者,通常为业务主管或绩效考评部门。
8.制定人流程的制定人,由系统自动填写为当前用户的名字。
9.制定时间流程的制定时间,由系统自动填写为当前时间。
10.数据源为与流程绑定的数据源。
点右边的图示从列出的系统数据表中选取。
如果没有合适的数据源,应使用数据管理的数据建模模块来定义数据源。
11.状态为待用、试用、使用、停用、作废选项。
当选中作废时,当前编辑流程模型将被从系统中删除。
12.启用时间流程模型的启用时间。
13.停用时间流程模型的停用时间。
14.级别用数字表示的流程重要性。
15.版本号流程的版本号
16.父版本流程的上一个版本
17.更改说明流程更改情况的说明。
特别说明:
监控人相当于本流程的管理员,监控人可以是流程的参与者,也可以不是流程的参与者。
监控人负责协调流程运行过程中出现的异常。
监控人可以随时查询并监控流程运行过程中的每一个动作。
当发现异常时,监控人可以通过催办、回退、终止、移交、删除等手段来解决出现的问题。
点击监控人右边的图示,将弹出一个角色选择对话框。
对话框分类列出了由人力资源模块提供的各类角色。
下面分别说明:
职务:
列出系统定义的所有职务,注意:
具有同一职务的员工通常有多人。
部门:
列出人力资源模块中定义的部门。
这里指部门的所有员工。
岗位:
是部门和职务的合成。
如财务部经理。
岗位缩小了职务的范围。
员工:
列出人力资源模块定义的员工。
其中第一项为所有员工。
指所有用户。
上下级:
根据上下级关系定义的角色,共有如下几项。
发起人:
流程起始动作的执行者。
所有上级:
在人力地图中,位于发起人上级的所有的员工。
包括上级和上级的上级等。
所有下级:
在人力地图中,位于发起人下级的所有的员工。
包括下级和下级的下级等。
直接上级:
是发起人的直接上级。
直接上级只应有一人。
直接下级:
是发起人的直接下级。
直接下级通常不止一人。
部门领导:
是发起人部门的部门负责人。
该负责人在部门表里定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工作流 总结 0428