欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    《基于Net的工作流引擎的设计与实现》Word文档格式.docx

    • 资源ID:3224092       资源大小:32.64KB        全文页数:23页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《基于Net的工作流引擎的设计与实现》Word文档格式.docx

    1、正是WfMC所做的这些工作促使工作流管理成为近年来在计算机应用领域中发展最为迅速的几项新技术之一。目前其已经广泛地应用于办公自动化、文件管理、电子邮件、目录管理、群件应用、BP (Business Process Reengineering)及结构系统定义I具等领域,这使得I作流管理系统越来越受到不同应用领域的用户重视。工作流管理系统在众多CSCW应用软件中变得越来越流行,需求量不断增大,同时工作流管理的思想已广泛应用于企业管理和计算机应用的各个方面1,2 随着工作流技术的广泛应用,在工作流管理技术这个领域也出现了许多新的课题。分布式工作流管理系统就是这些课题之一。这是由于数据库、计算机网络的

    2、广泛应用使现代企业的信息资源表现出异构,分布和松散祸合的特点,企业的分散性决策制定的分散性、Client/Server体系结构和分布式处理技术的日益成熟,都说明集中式信息处理的时代已经过去,实现在大规模的异构分布式执行环境下使工作流中相互关联的任务在系统监控下高效运作成为一种趋势。材料与方法1.2 国内外研究概况1.2.1工作流技术的研究现状 在工作流技术的研究中,比较著名的有IBM公司Almaden研究中心的Exotica、佐治亚大学计算机系的Meteor, WIDE& Meteor等研究项目1-6。其中Exotica和Meteor是完全分布式的工作流管理系统,WIDE& Meteor则采用

    3、C/S结构。 在国际市场上,以FileNet, Jeform, IBM和Action四家公司的产品比较有影响和代表性。以下是这四家公司的工作流产品的简要介绍: I.FileNet公司的产品:Visual WorkFow是FileNet公司集成文档管理软件的一部分,是建立在基于组件的软件结构上的,采用先进的工作队列处理方法它允许迅速地评价和改进机构工作方式,可随时查看过程中关键的细节,掌握过程的运行情况。 2.JetForm公司的产品:InTempo是JetForm公司的工作流产品,它基于C/S结构,其客户端互相独立,适合于管理型和设定型的经营过程,如合同管理、顾客问题解决、销售和预算审批等等。

    4、它可自动将任务分配给相应的人员,任务会自动出现在用户的信箱中,简化了任务的接收过程。 3.IBM公司的产品:IBM MQSeries WorkFow是该公司最新的工作流产品,它将经营流程从应用逻辑中分离出来,支持25种不同的操作系统,可根据模型定义自动分配任务,提供图形化的过程定义界面。 4.Action公司的产品:Action Metro 4.0为工程师提供了一套基于Web的工作流管理软件。它对经营过程中不可预见的问题、要求和机遇也可进行控制,还为用户提供了相应的管理工具。它更适合于基于知识的工作流,它支持用户与信息之间的交互。1.2.2 当前研究的热点目前关于WfMS (Workflow

    5、Management System)的研究主要集中在以下9个方面:1.更为灵活的过程模型:人们对于WfMS批评最多的莫过于其“僵硬”的过程模型,这使得用户在某些情况下(如发生某种特殊情况)不得不越过WfMS而用其它方法(如手工方式)来完成有关的工作。 2.面向对象的WfmS: 面向对象(00)的思想反映了人类思维的一般特征(从特殊到一般及从一般到特殊)。进入90年代,基于这一思想而发展起来的各种技术,如OOA, OOD, OOP等在计算机领域得到了广泛的应用。随着W fMS研究的不断深入,00思想也被引入进来,逐渐形成了面向对象的Wfms(OOWfms)。 3智能化的WfMS: Ellis曾经

    6、指出:人工智能(AI)所使用的经常是启发式或扩张性的方法。这种方法使得系统中的信息能够随人机交互过程的进行而动态增长(学习过程)阴,而不是在一开始就将系统中所有的信息都定义好。4.对同步协作的支持: WfMS的基本功能是对异步的结构化协作的支持,即将一个用户工作完之后生成的结果数据自动传递给下一个环节的用户进行处理。而同步协作则是各参与者实时地交流思想,最终得到某个结果的过程。5.对移动用户的支持: 商业社会的激烈竞争要求企业具有良好的反应能力。移动办公正是为满足此种要求而出现的一种新的工作方式,它使得员工能够随时随地处理他们的业务。移动计算设备(如笔记本及手持设备)的普及为这种办公方式的实现

    7、提供了良好的硬件条件,而Wfms则为之提供了一种理想的软件环境。但早期的WfmS系统一般都是基于LAN环境而构造起来的,它一般要求用户一直保持同WfMS的连接。 6.基于Web的WfMS: Web技术因其界面的一致、简单及与平台的无关性而在其出现之后就得到了迅猛发展。Internet的发展及企业Intranet的建构为人们提供了一个理想的协同工作环境同时也使得基于Web建立工作流管理系统成为可能。 这方面的研究是最近些年来才开始的。在目前能够见到的系统中,一般是使用HTML页面通过Web浏览器向用户表示WtMS中的各种信息,如用户的工作项列表待处理的数据、过程的进行状态等。而在Web服务器端,

    8、则通过CORBA (CommoObject Request Broker Architecture),J2EE (Java 2 Enterprise Edition),.Net等技术完成工作流引擎与Web服务器之间的信息传递。 7.分布式WfMS: 为了支持跨企业的异构计算环境下大规模工作流管理,现有的WfMS的能力必须从多个不同的方面加以扩展,以提高系统的可靠性、可伸缩性及容错能力等。 8.事务型WfMS: 这方面的研究主要是试图将一些高级事务模型(如Saga, Flexible Transaction)等应用到工作流系统的过程实例的执行中,以提高WMIS的可靠性,如保证过程实例中各活动执行

    9、的完整性。9.工作流系统之间的互连:随着大量各具特色的 WfMS产品涌入市场,不同的企业或企业内的不同部门可能会选用不同厂家的产品。而跨企业及企业间大型工作流应用需求的增加要求能够将这些异质的WfMS互连起来(即在两个或多个WfMS之间传递工作项和执行控制)以协同完成复杂的业务过程。分布式结构的WfmS本身就有一个如何将各工作流引擎互连起来的问题WfMC一共定义了八种级别。在最后选定的互操作模型和级别下,可定义一组操作集来实现之。1.3 课题主要研究工作本课题的主要研究工作是根据当前对工作流产品的需求,设计与实现一个具有松散祸合、低进入屏障、行业支持、高度可集成能力等特点的工作流管理系统,并把

    10、重点放在分布式工作流引擎的设计与实现上。其主要工作集中在以下几个方面:1 工作流引擎的通信方式及接口的设计。2 工作流引擎体系结构的设计。3.工作流引擎的关键模块的实现。4.分布式工作流日志管理的研究与实现。5.工作流引擎数据库的实现。本文主要通过工作流引擎的通信方式及接口的设计、工作流引擎体系结构的设计、工作流引擎的关键模块的实现、工作流引擎数据库的实现等四个方面具体讨论分布式工作流引擎的设计与实现。2 工作流管理系统体系结构2.1 工作流管理系统体系结构 为了能够更好地支持企业经营过程建模、分析和实施,适应世界市场的多元化趋势,需要建立工作流管理系统的相关标准,从系统结构、术语使用和接口实

    11、施等方面提供标准化与规范化的定义,并以此为基础实现不同工作流产品之间的互操作,以便于与其他应用系统的集成。这个参考模型的体系结构给出了抽象的工作流管理系统的功能组成部件和接口,它能够满足工作流管理系统和产品所应该具有的主要功能特征,可为实现工作流产品之间的互操作提供公共的基础。一般说来,工作流产品的提供商也不会将这些部件之间的所有接口完全对外开放,但是为了实现不同工作流产品之间的集成,它们会按照互操作和协作的不同要求在一定层次上开放其接口X27-281。工作流管理系统主要由以下三类构件组成: 1.软件构件:完成工作流管理系统不同组成部分功能的实现。 2.系统控制数据:工作流管理系统中的一个或多

    12、个软件构件使用的数据。 3.其他应用与应用数据:对于工作流管理系统来说,他们不是工作流管理系统的组成部分,而是属于外部系统和数据,它们被工作流系统调用来完成整个和部分工作流管理的功能。2.2 工作流参考模型图2.2给出了WFMC提出的工作流参考模型。本节首先介绍工作流参考模型中涉及到的几种数据,在以后的各节对参考模型中的几个部分进行描述。1.工作流控制数据:工作流执行服务/工作流引擎通过内部的工作流控制数据来辨别每个过程活动实例的状态。这些数据由工作流执行服务/工作流引擎进行控制用户、应用程序或其他的工作流引擎/工作流执行服务不能对其直接进行读写操作,它们可以通过向工作流执行服务/工作流引擎发

    13、消息请求来获得工作流控制数据的内容。2工作流相关数据:工作流管理系统通过工作流相关数据来确定过程实例状态转换的条件,并选择下一个将执行的活动。3工作流应用数据:这种数据是指那些由应用程序操作的数据。它们是针对应用程序的,是企业完成具体的业务功能所需要的数据,工作流管理系统无法也不需要对它们进行访问。2.3 工作流模型与建模工具工作流模型包含了一个能够由工作流执行服务软件执行过程实例所需要的所有信息。这些信息包括过程的开始和完成条件、构成过程的活动以及进行活动间导航的规则、用户所需要完成的任务、可能被调用的应用、 过程建模工具以计算机能够处理的形式进行过程的定义。它可以用基于形式化的过程定义语言

    14、、对象一关系模型来进行过程模型定义。对于比较简单的系统,可以采用一组路径选择命令的方式来描述信息或文档在不同参与者之间的传递过程。 工作流建模工具应输出一个能被工作流引擎解释并执行的过程。不同的工作流产品的建模工具输出模型的存储格式是不同的,参考模型中接口1的定义不仅是为了实现工作流的定义阶段和运行阶段的分离,使用户可以分别选择建模和工作流执行的软件产品,而且是为了使不同的工作流产品能够实现协作运行,从而为过程定义的执行提供良好的运行服务环境。在工作流建模上,WFMC开展了两个方面的工作: 1.定义了一个元模型:所谓元模型一般是指描述模型的模型。这里的工作流模型的元模型是用来描述工作流模型内在

    15、联系的模型。它用于描述工作流模型内部包含的各个对象、对象之间的关系及对象的属性。这个元模型有利于建立可以在多个工作流产品之间交换信息的模型。2.定义了一套可以在工作流管理系统之间、管理系统与建模工具之间交互过程模型定义的 工作流管理联盟定义的过程元模型口该模型包含以下各基本实体: 1.工作流定义 (过程模型):它一般包含诸如工作流模型名称、版本号、过程启动和终止的条件、系统安全、监控和控制信息等一系列基本属性。这个过程模型反映了企业中一个经营过程的目的,即这个过程要实现的目的和最终达到的目标是什么。 2.活动:主要属性有活动名称、活动类型、活动的前后条件、调度约束参数 (如最长处理时间、排队等

    16、待时间)等。当工作流运行在分布式环境下时,在活动的属性中还应该包括执行该活动的工作流引擎的位置。活动对应于企业经营过程中的任务,主要反映了完成企业经营过程需要执行哪些功能操作。 3转换条件:主要负责为过程实例的推进提供导航依据,主要参数包括工作流过程条件(Flow condition,过程实例向前推进的条件)、执行条件(Execution condition执行某个活动的条件)和通知条件 (Notification condition,通知不同用户的条件)转换条件对应于企业经营过程中的业务规则和操作的顺序。如在订单处理完成之后执行生产计划的制定工作。 4.工作流相关数据:工作流引擎根据相关数据

    17、和转换条件进行推进。工作流相关数据的属性包括数据名称、数据类型和数据值等。它是工作流执行任务推进的依据如在银行贷款申请表处理后,根据申请贷款的值 (如是否大于10万元)决定下一个执行的活动是什么,比如,大于10万元的申请交业务经理处理,小于10万元的申请交给业务员处理。 5.角色:角色属性主要包括角色的名称、组织实体、角色的能力等。角色或组织实体决定了参与某个活动的人员或组织单元。它主要描述企业经营过程中参与操作的人员和组织单位。 6.需要激活的应用程序:主要属性包括应用程序的类型、名称、路径及运行参数等。应用主要描述用于完成企业经营过程所采用的工具或手段,如采用ERP软件或决策支持软件完成某

    18、个操作的具体企业业务功能。2.4 工作流执行服务与工作流引擎工作流执行服务是工作流管理系统的核心。实际上它是企业经营过程的任务调度器,在某种程度上还是企业资源分配器。工作流执行服务由一个或多个工作流引擎(Workflow engine)组成 (在分布式环境下由多个工作流引擎组成),它提供了过程实例执行的运行环境,主要完成以下功能: 1.实例化及执行过程模型:解释企业经营过程的过程定义,根据过程执行需要初始条件和执行参数生成过程实例,运行过程实例并管理其运行过程。这里要指出的是,一个过程模型实际上是企业经营过程的一个模板,它可以被执行多次,也可以有多个有关这个过程模型的实例在同时运行。 2.为过

    19、程和活动的执行导航:根据过程定义和工作流相关数据,为过程实例的运行进行导航,如根据过程的进入和退出条件启动和终止一个过程实例;根据活动之间的关联和活动的执行条件,决定并行或串行执行后续活动;给用户提供需要操作的工作流任务项信息;或者根据所需激活的应用程序信息启动相应的应用程序等等。 3.与外部资源交互完成各项活动:工作流执行服务通过两种途径完成与外部资源和用户的交互 客户应用接口和直接调用应用接口方式。 4.维护工作流控制数据和工作流相关数据:工作流在执行过程中要维护不同过程和活动实例的内部状态信息,以及用于协调和恢复的各种检查数据及恢复/重启信息,还包括用户传送的必要的相关数据。2.5 客户

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

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

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

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

    24、ws应用程序则通过SOAP协议来实现对Web Service (T-作流引擎)的访问。 2.数据层:我们可以将其设计为两个数据库:引擎数据库和组织机构数据库、其具体实现将在下面进行介绍。 3.中间层:分布式工作流引擎放在中间层。其是利用Web Service技术来实现的。这样,工作流引擎之Ifal就可以方便的利用Web Service技术实现互访。4.2 工作流引擎相关模块的分析与设计4.2.1 过程定义规范 建模工具采用基于图形的建模方法。此方法包括以下两种基本图符,节点符和流向符。下面将介绍这两种图符,及其相应的应用规范。 1.节点符 本工作流模型中的节点可分为初始节点、终止节点、选择分支

    25、节点、一般节点、子过程节点、并行分支节点、并行汇集节点和选择汇集节点 8种,相应的节点符号:(1)初始节点:初始节点表示一个工作流过程的开始。对于一个工作流过程只能有一个初始节点,初始节点没有具体的执行动作。 (2)终止节点:终止节点表示一个工作流过程的结束,一个工作流过程只能有一个终止节点,它与初始节点相对应,终止节点也没有具体的执行动作。 (3)选择分支节点:选择分支节点用于表示选择分支路由结构的开始。该节点也没有具体的执行动作。 (4)选择汇集节点:选择汇集节点用于表示选择分支路由结构的结束,它没有具体的动作(选择分支节点和选择汇集节点必须成对使用)。 (5)并行分支节点:并行分支节点用

    26、来表示并行路由的开始,也就是说此节点只能在并行路由中使用 (其无条件启动其所有后继节点)。 (6)并行汇集节点:并行汇集节点用来表示并行路由的结束,也就是说此节点只能在并行路由中使用。它收集来自并行路由各分支的执行结果,并按给定的判别条件决定该节点的执行结果 (通过或不通过)。 (7)子过程节点:其本身就是一个定义好的工作流模型,在子过程节点中还可以定义子过程节点,从而形成了一个层次化的阶梯工作流模型。 (8)一般节点:一般节点是一个工作流模型中出现得最多的节点,也是最常用的节点。一般节点表示工作流过程中的一个具体活动,可用一个九元组来表示 (节点名称,节点类型,处理实体,触发信息,执行结果,

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

    28、须满足的信息条件。触发信息分为两种类型:一种是具体的消息:另一种是时间信息,如必须等到特定时刻的到来才能触发主活动的执行。人工触发是消息触发的一种特殊形式 (人工触发在工作流监控工具中实现。在工作流正常停止,或故障时,使用工作流管理工具恢复或取消一个工作流实例)。 执行结果通过,不通过。执行结果为该节点主活动的执行结果,只有“通过和“不通过”两种。缺省值为“通过”。执行结果的数据类型为布尔型“True”表示“通过”,False表示“不通过”。 主活动为该节点所要执行的活动,主活动不可为空。在实际的定义中,用户不需定义主活动,它是一个标准活动,其返回结果只有 “通过”和 “不通过”两种。主活动的内容由处理实体决定:当处理实体为人时,直接交给人执行该活动;当处理实体为软件模块时,则调用该软件模块;当处理实体为另一工作流过程时,则将控制权交与另一工作流过程。4.2.2 过程定义工具的设计 目前我们所设计的流程定义模块的主要功能有流程定义者登录校验、创建一个新的流程、修改已有的流程、保存当前流程以及流程的合法性检查等。流程定义工具由流程定义者使用,其所有的动作都是由流程设计人员发起。登录校验是系统对登录本模块的人员的进行身份验证,只有具有流程设计者角色的人员刁能进入本模块进行流程设计。创建流程是流程设计者创建一个新的流程。流程设计者通过对上述流向符和节点符进行布局及对他们


    注意事项

    本文(《基于Net的工作流引擎的设计与实现》Word文档格式.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开