基于net的工作流引擎的设计与实现内容摘要:

本章小结 本章首先介绍了 wfmc 提出的工作流管理系统的体系结构、工作流参考模型。 然后,详细介绍了工作流参考模型中的几个重要部分 — 工作流建模工具、工作流 引擎和客户端以及这些部分的相关信息。 12 3 基于 .Net 的工作流引擎的实现技术 .Net 框架 框架概述 (Framework)是许多基本结构的重要组成部分,如 J2EE、 CORBA等技术 都涉及框架的概念。 设计框架的主要目的就是屏蔽具体的实现过 程,人员展现一个透明的使用和开发平台。 框架中通常提供了许多实用工具以及相关服务,开发人员使用这些工具可以很容易的在此平台上进行开发。 公共语言运行时 公共语言运行时即公共语言运行平台。 它在组件的开发以及运行过程中,都扮 演着非常重要的角色。 在组件运行过程中,运行时负责管理内存分配、启动或取消线程和进程、实施 安全性策略、同时满足当前组件对其它组件的需求。 统一的编程类库 . Net 框架为开发人员提供了一个统一的、面向对象的、层次化的、可扩展的类 库集合。 目前,不同语言的开发人员使用的是各 不相同的类库,如 C++程序员使用。 Web Service 技术 什么是 Web Service Web Service 是松散祸合的、可复用的软件模块,从功能上看,它封装了离散的 功能,在 Inter 上发布后能够通过标准的Inter 协议在程序中访问。 具体来说,可 以分为以下几点 : Web Service 的协议结构 实现一个完整的 Web Service 体系需要有一系列的协议规范来支撑 Web Servic 体系呈现一种栈的结构。 13 本章小结 本章详细介绍了实现基于 .Net 的工作流引擎的关键技术。 其中包括了对 .Net 框 架的介绍和对 Web Service 技术的介绍。 值得一提的是,利用 Web Service 技术实现 的工作流引擎可以较为方便的解决分布式工作流引擎间互连所存在的一些问题,从而实现一个易于集成、低进入屏障的工作流引擎。 4 基于 .Net 的工作流引擎的分析与设计 本工作流管理系统的系统结构 目前我们设计的工作流管理系统包括 :过程定义工具、管理和监控工具、用户 和组织机构、普通用户、数据库表、工作流引擎等 6 个模块。 本工作流管理系统采用三层架构和两层架构相混和的模 式来实现 : :管理和监控工具、普通用户模块放在客户层。 普通用户的实现可以视 具体应用而定,只要其通过 SOAP 协议访问工作流引擎的接口即可正常工作。 管理和 监控模块采用 Windows 应用程序来实现。 而 Windows 应用程序则通过 SOAP 协议来 实现对 Web Service (T作流引擎 )的访问。 :我们可以将其设计为两个数据库 :引擎数据库和组织机构数据库、其 具体实现将在下面进行介绍。 :分布式工作流引擎放在中间层。 其是利用 Web Service技术来实现的。 这样,工作流引擎之 Ifal 就可以方便的利用 Web Service 技术实现互访。 工作流引擎相关模块的分析与设计 14 过程定义规范 建模工具采用基于图形的建模方法。 此方法包括以下两种基本图符,节点符和流 向符。 下面将介绍这两种图符,及其相应的应用规范。 本工作流模型中的节点可分为初始节点、终止节点、选择分支节点、一般节点 、子过程节点、并行分支节点、并行汇集节点和选择汇集节点 8 种,相应的节点符号 : (1)初始节点 :初始节点表示一个工作流过程的开始。 对于一个工作流过程只 能有一个初始节点,初始节点没有 具体的执行动作。 (2)终止节点 :终止节点表示一个工作流过程的结束,一个工作流过程只能有 一个终止节点,它与初始节点相对应,终止节点也没有具体的执行动作。 (3)选择分支节点 :选择分支节点用于表示选择分支路由结构的开始。 该节点 也没有具体的执行动作。 (4)选择汇集节点 :选择汇集节点用于表示选择分支路由结构的结束,它没有 具体的动作 (选择分支节点和选择汇集节点必须成对使用 )。 (5)并行分支节点 :并行分支节点用来表示并行路由的开始,也就是说此节点 只能在并行路由中使用 (其无条件启动其所有后继节点 )。 (6)并行汇集节点 :并行汇集节点用来表示并行路由的结束,也就是说此节点 只能在并行路由中使用。 它收集来自并行路由各分支的执行结果,并按给定的判别条件决定该节点的执行结果 (通过或不通过 )。 (7)子过程节点 :其本身就是一个定义好的工作流模型,在子过程 15 节点中还可 以定义子过程节点,从而形成了一个层次化的阶梯工作流模型。 (8)一般节点 :一般节点是一个工作流模型中出现得最多的节点,也是最常用 的节点。 一般节点表示工作流过程中的一个具体活动,可用一个九元组来表示 (节 点名称,节点类型,处理实体,触发信息,执行结果,主动作,前置活动,后置活动,返回活动 )。 其中,节点名称是该节点的名字,一般是该节点活动的概括性表述,节点编号 是该工作流过程中唯一用来表示该节点的标识。 节点名称为字符串类型,如 “ 教授 评审’。 节点类型任 {原子节点,非原子节点 }。 原子节点表示该节点的活动不可再分解 非原子节点表示该节点包括另一个工作流过程 (即子流 )。 处理实体任 {人,软件模块,另一工作流过程 }。 为人时,又可以有两种方式表 示,一种是指明具体的人员,另一种则是指定组织单元和角色,在工作流运行 的过程中再动态地确定具体执行的人员。 当该节点为软件模块时,为 WEBSERVICE 的调 用。 触发信息任 {消息触发,人工触发 }。 触发信息为该节点主活动执行前所必须满足 的信息条件。 触发信息分为两种类型 :一种是具体的消息 :另一种是时间信息,如 必须等到特定时刻的到来才能触发主活动的执行。 人工触发是消息触发的一种特殊形式 (人工触发在工作流监控工具中实现。 在工作流正常停止,或故障时,使用工 作流管理工具恢复或取消一个工作流实例 )。 执行结果 ∈ {通过,不通过 }。 执行结果为该节点主活动的执行结果,只有 “ 通过 和“不通过”两 种。 缺省值为“通过”。 执行结果的数据类型为布尔型“ True” 表示 “ 通 过”, False 表示 “ 不通过 ”。 16 主活动为该节点所要执行的活动,主活动不可为空。 在实际的定义中,用户不需 定义主活动,它是一个标准活动,其返回结果只有 “ 通过 ” 和 “ 不通过 ” 两种。 主 活动的内容由处理实体决定 :当处理实体为人时,直接交给人执行该活动。 当处理 实体为软件模块时,则调用该软件模块。 当处理实体为另一工作流过程时,则将控 制权交与另一工作流过程。 过程定义工具的设计 目前我们所设计的流程定义模块的主要功能有流程定义者登录校验 、创建一个新 的流程、修改已有的流程、保存当前流程以及流程的合法性检查等。 流程定义工具由流程定义者使用,其所有的动作都是由流程设计人员发起。 登录校验是系统对登录本模块的人员的进行身份验证,只有具有流程设计者角色的人员刁’能进入本模块进行流程设计。 创建流程是流程设计者创建一个新的流程。 流程设计者通过对上述流向符和节点符进行布局及对他们的属性进行设置来创建一个新的业务流程。 修改流程与创建流程基本相同,只是修改是针对预先定义好的流程,而创建是 针对一个新的流程。 删除流程则是将己有的流程删除。 保存流程则是 将对流程的创建、修改或删除的结果进行保存。 管理和监控工具的设计 管理和监控工具实现对整个工作流管理系统的管理,其主要的功能有流程模板 的管理、实例的管理和监控、用户角色管理、归档数据管理、日志管理及自动资源的管理等。 流程模板管理是对流程定义工具定义的流程模板进行管理。 其中包括流程模板 的实例化许可和禁止以及删除模板等。 17 实例的管理和监控主要是对二种实例的管理和监控 :流程实例、行为实例和工 作项。 其中主要包括流程和行为实例的挂起、恢复、终止、任务的重指派以及修改实例属性等。 用户角色管理是管理员 为用户设置角色,如普通用户、流程设计者等。 归档数据管理主要是对运行完成的流程的数据进行归档后的查询及其查询权限 的管理。 而自动资源的管理则是对一些自动资源的增加、删除和修改处理。 日志管理是管理和监控的重要一环,引擎每次处。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。