《基于Net的工作流引擎的设计与实现》

上传人:飞*** 文档编号:35523425 上传时间:2018-03-17 格式:DOC 页数:27 大小:95KB
返回 下载 相关 举报
《基于Net的工作流引擎的设计与实现》_第1页
第1页 / 共27页
《基于Net的工作流引擎的设计与实现》_第2页
第2页 / 共27页
《基于Net的工作流引擎的设计与实现》_第3页
第3页 / 共27页
《基于Net的工作流引擎的设计与实现》_第4页
第4页 / 共27页
《基于Net的工作流引擎的设计与实现》_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《《基于Net的工作流引擎的设计与实现》》由会员分享,可在线阅读,更多相关《《基于Net的工作流引擎的设计与实现》(27页珍藏版)》请在金锄头文库上搜索。

1、1 1基于.Net 的工作流引擎的设计与实现摘 要针对当前大多数工作流管理系统在实际应用中可集成能力差这个缺点,决定利用 Web Service 技术来实现一个工作流管理系统。因为目前.Net 平台对WebServic 的支持相对比较完善,所以决定实现一个基于.Net 的工作流管理系统。这个工作流管理系统具有松散藕合、低进入屏障、行业支持、高度可集成能力等优势。工作流引擎是整个工作流管理系统的核心,其通信方式是提高工作流管理系统可集成能力的关键。在本系统中,分布在 Internet 的各个节点上的工作流引擎处在对等的地位,它们通过 Web Service 调用相应的接口来实现它们之间的通信。正

2、是这种通信方式使本工作流管理系统的集成能力、互操作性有了显著的提高。这个工作流管理系统的客户端是一个 Web 应用程序,用户通过浏览器登录并调用客户端,然后客户端程序通过调用工作流引擎所提供的相应接口实现与工作流引擎的通信。以这种基于 Web 的方式实现本工作流管理系统可以增加系统的可扩展性从系统结构上讲,工作流引擎主要被分为了工作流逻辑、工作流支持系统和数据管理等 3 个主要部分。其中,工作流逻辑这个部分负责处理引擎的逻辑功能,工作流支持系统和数据管理这两个部分则负责工作流实例对象的存储和读取等功能。这样,这个工作引擎就实现了控制逻辑与数据读写的分离。关键词:工作流管理系统,分布式平台,工作

3、流引擎,工作流建模工具2 2引引 言言1.11.1 课题背景课题背景在计算机刚刚出现的时候,大多数与企业相关的文档均以纸张的形式在部门之间传递,无论是在信息的处理、组织方面,还是在存储及查询检索方面纸张的效率都相当的低。因此,人们希望出现一种无纸化的、由计算机操纵的工作环境。后来一些公司将组织中常用的一些业务功能结合在一起,形成了一种部分支持业务流程集成化的软件包,这便是早期的工作流管理系统。限于当时的计算机发展水平,这些软件包所集成的功能都较简单。1993 年,国际 I 作流管理联盟 (Workflow Management Coalition, WfMC)的成立,标志着工作流技术开始进入相

4、对成熟的阶段 o WfMC 的目标是:提高客户在工作流技术上的投资价值;减少使用工作流产品的风险;通过为工作流提高知名度而扩展工作流市场。为了实现不同工作流产品之间的互操作,WfMC 制定了关于相关术语、体系结构及应用编程接口等方面的一系列标准。正是 WfMC 所做的这些工作促使工作流管理成为近年来在计算机应用领域中发展最为迅速的几项新技术之一。目前其已经广泛地应用于办公自动化、文件管理、电子邮件、目录管理、群件应用、BP (Business Process Reengineering)及结构系统定义 I 具等领域,这使得 I 作流管理系统越来越受到不同应用领域的用户重视。工作流管理系统在众多

5、CSCW 应用软件中变得越来越流行,需求量不断增大,同时工作流管理的思想已广泛应用于企业管理和计算机应用的各个方面1,2随着工作流技术的广泛应用,在工作流管理技术这个领域也出3 3现了许多新的课题。分布式工作流管理系统就是这些课题之一。这是由于数据库、计算机网络的广泛应用使现代企业的信息资源表现出异构,分布和松散祸合的特点,企业的分散性决策制定的分散性、Client/Server 体系结构和分布式处理技术的日益成熟,都说明集中式信息处理的时代已经过去,实现在大规模的异构分布式执行环境下使工作流中相互关联的任务在系统监控下高效运作成为一种趋势。材料与方法1.2 国内外研究概况1.2.1 工作流技

6、术的研究现状在工作流技术的研究中,比较著名的有 IBM 公司 Almaden 研究中心的 Exotica、佐治亚大学计算机系的 Meteor, WIDE根据活动之间的关联和活动的执行条件,决定并行或串行执行后续活动;给用户提供需要操作的工作流任务项信息;或者根据所需激活的应用程序信息启动相应的应用程序等等。3.与外部资源交互完成各项活动:工作流执行服务通过两种途径完成与外部资源和用户的交互 客户应用接口和直接调用应用接口方式。4.维护工作流控制数据和工作流相关数据:工作流在执行过程中要维护不同过程和活动实例的内部状态信息,以及用于协调和恢复的各种检查数据及恢复/重启信息,还包括用户传送的必要的

7、相关数据。 2.5 客户端功能工作流管理系统的客户端功能是指用户操作工作流管理系统分配的任务或者活动的功能。它由工作流任务管理器和用户操作共同完成。在实际应用中,经常需要将工作流管理系统集成到用户的其他桌面应用 (如办公自动化系统、电子邮件系统)环境中,从而为最终用户提供一个集成化的统一任务管理系统。2.6 本章小结1212本章首先介绍了 wfmc 提出的工作流管理系统的体系结构、工作流参考模型。然后,详细介绍了工作流参考模型中的几个重要部分 工作流建模工具、工作流引擎和客户端以及这些部分的相关信息。3 基于.Net 的工作流引擎的实现技术3.1 .Net 框架3.1.1.Net 框架概述(F

8、ramework)是许多基本结构的重要组成部分,如 J2EE、CORBA等技术都涉及框架的概念。设计框架的主要目的就是屏蔽具体的实现过程,人员展现一个透明的使用和开发平台。框架中通常提供了许多实用工具以及相关服务,开发人员使用这些工具可以很容易的在此平台上进行开发。3.1.2 公共语言运行时公共语言运行时即公共语言运行平台。它在组件的开发以及运行过程中,都扮演着非常重要的角色。在组件运行过程中,运行时负责管理内存分配、启动或取消线程和进程、实施安全性策略、同时满足当前组件对其它组件的需求。3.1.3 统一的编程类库. Net 框架为开发人员提供了一个统一的、面向对象的、层次化的、可扩展的类库集

9、合。目前,不同语言的开发人员使用的是各不相同的类库,如 C+程序员使用。3.2 Web Service 技术3.2.1 什么是 Web Service1313Web Service 是松散祸合的、可复用的软件模块,从功能上看,它封装了离散的功能,在 Internet 上发布后能够通过标准的Internet 协议在程序中访问。具体来说,可以分为以下几点:3.2.2 Web Service 的协议结构实现一个完整的 Web Service 体系需要有一系列的协议规范来支撑 Web Servic 体系呈现一种栈的结构。3.3 本章小结本章详细介绍了实现基于.Net 的工作流引擎的关键技术。其中包括了

10、对.Net 框架的介绍和对 Web Service 技术的介绍。值得一提的是,利用 Web Service 技术实现的工作流引擎可以较为方便的解决分布式工作流引擎间互连所存在的一些问题,从而实现一个易于集成、低进入屏障的工作流引擎。4 基于.Net 的工作流引擎的分析与设计4.1 本工作流管理系统的系统结构目前我们设计的工作流管理系统包括:过程定义工具、管理和监控工具、用户和组织机构、普通用户、数据库表、工作流引擎等 6个模块。本工作流管理系统采用三层架构和两层架构相混和的模式来实现:1.客户层:管理和监控工具、普通用户模块放在客户层。普通用户的实现可以视具体应用而定,只要其通过 SOAP 协

11、议访问工作流引擎的接口即可正常工作;管理和监控模块采用 Windows 应用程序来实现。而 Windows 应用程序则通过 SOAP 协议来实现对 Web Service (T-作流引擎)的访问。14142.数据层:我们可以将其设计为两个数据库:引擎数据库和组织机构数据库、其具体实现将在下面进行介绍。3.中间层:分布式工作流引擎放在中间层。其是利用 Web Service 技术来实现的。这样,工作流引擎之 Ifal 就可以方便的利用 Web Service 技术实现互访。 4.2 工作流引擎相关模块的分析与设计4.2.1 过程定义规范建模工具采用基于图形的建模方法。此方法包括以下两种基本图符,

12、节点符和流向符。下面将介绍这两种图符,及其相应的应用规范。1.节点符本工作流模型中的节点可分为初始节点、终止节点、选择分支节点、一般节点、子过程节点、并行分支节点、并行汇集节点和选择汇集节点 8 种,相应的节点符号:(1)初始节点:初始节点表示一个工作流过程的开始。对于一个工作流过程只能有一个初始节点,初始节点没有具体的执行动作。(2)终止节点:终止节点表示一个工作流过程的结束,一个工作流过程只能有一个终止节点,它与初始节点相对应,终止节点也没有具体的执行动作。(3)选择分支节点:选择分支节点用于表示选择分支路由结构的开始。该节点也没有具体的执行动作。(4)选择汇集节点:选择汇集节点用于表示选

13、择分支路由结构的结束,它没有具体的动作(选择分支节点和选择汇集节点必须成对使用)。(5)并行分支节点:并行分支节点用来表示并行路由的开始,也1515就是说此节点只能在并行路由中使用 (其无条件启动其所有后继节点)。(6)并行汇集节点:并行汇集节点用来表示并行路由的结束,也就是说此节点只能在并行路由中使用。它收集来自并行路由各分支的执行结果,并按给定的判别条件决定该节点的执行结果 (通过或不通过)。(7)子过程节点:其本身就是一个定义好的工作流模型,在子过程节点中还可以定义子过程节点,从而形成了一个层次化的阶梯工作流模型。(8)一般节点:一般节点是一个工作流模型中出现得最多的节点,也是最常用的节

14、点。一般节点表示工作流过程中的一个具体活动,可用一个九元组来表示 (节点名称,节点类型,处理实体,触发信息,执行结果,主动作,前置活动,后置活动,返回活动)。其中,节点名称是该节点的名字,一般是该节点活动的概括性表述,节点编号是该工作流过程中唯一用来表示该节点的标识。节点名称为字符串类型,如 “教授评审。节点类型任原子节点,非原子节点。原子节点表示该节点的活动不可再分解非原子节点表示该节点包括另一个工作流过程 (即子流)。处理实体任人,软件模块,另一工作流过程。为人时,又可以有两种方式表示,一种是指明具体的人员,另一种则是指定组织单元和角色,在工作流运行的过程中再动态地确定具体执行的人员;当该

15、节点为软件模块时,为 WEBSERVICE 的调用。触发信息任消息触发,人工触发。触发信息为该节点主活动执行前所必须满足的信息条件。触发信息分为两种类型:一种是具体1616的消息:另一种是时间信息,如必须等到特定时刻的到来才能触发主活动的执行。人工触发是消息触发的一种特殊形式 (人工触发在工作流监控工具中实现。在工作流正常停止,或故障时,使用工作流管理工具恢复或取消一个工作流实例)。执行结果通过,不通过。执行结果为该节点主活动的执行结果,只有“通过和“不通过”两种。缺省值为“通过”。执行结果的数据类型为布尔型“True”表示“通过”,False 表示“不通过”。主活动为该节点所要执行的活动,主

16、活动不可为空。在实际的定义中,用户不需定义主活动,它是一个标准活动,其返回结果只有 “通过”和 “不通过”两种。主活动的内容由处理实体决定:当处理实体为人时,直接交给人执行该活动;当处理实体为软件模块时,则调用该软件模块;当处理实体为另一工作流过程时,则将控制权交与另一工作流过程。4.2.2 过程定义工具的设计目前我们所设计的流程定义模块的主要功能有流程定义者登录校验、创建一个新的流程、修改已有的流程、保存当前流程以及流程的合法性检查等。流程定义工具由流程定义者使用,其所有的动作都是由流程设计人员发起。登录校验是系统对登录本模块的人员的进行身份验证,只有具有流程设计者角色的人员刁能进入本模块进行流程设计。创建流程是流程设计者创建一个新的流程。流程设计者通过对上述流向符和节点符进行布局及对他们的属性进行设置来创建一个新的业务流程。修改流程与创建流程基本相同,只是修改是针对预先定义好的1717流程,而创建是针对一个新的流程。删除流程则是将己有的流程删除。 保存流程则是将对流程的创建、修改或删除的结果进行保存。4.2.3 管理和监控工具

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号