基于J2EE的分布式多引擎工作流系统设计

基于J2EE的分布式多引擎工作流系统设计

乔梁[1]2004年在《基于J2EE的分布式多引擎工作流系统设计》文中认为在计算机网络技术和分布式数据库技术迅速发展,多机协同工作技术日臻成熟的基础上,工作流产生并迅速发展起来。工作流将应用逻辑和过程逻辑分离 ,对生产经营过程或全部过程集成管理 ,有效地把人、信息和应用工具合理地组织在一起,支持企业实现对经营管理、生产组织的过程控制和决策支持,提高软件的重用率 ,发挥系统的最大效能。本文的研究内容来源于机械部第九设计院协同设计管理系统。结合实际应用的要求,依据工作流管理联盟的工作流规范,作者提出了一种分布式工作流系统架构,即基于J2EE的分布式多引擎工作流系统(J2EE-Based Distributed Multi-Engine Workflow System,以下简称DMEWf系统)。整个系统模型由过程模型、组织模型和资源模型叁部分组成。过程模型是以流程定义图来描述过程,它由节点和有向边组成,其中,节点包括简单节点和复合节点,有向边包含路由选择信息。组织模型是以动态组织、静态组织、角色、权限、用户组成的有较高灵活性的模型。资源模型中利用重用性、共享性、动态性将资源分为八个各自独立的空间。整个系统由总控引擎、领域引擎、组织管理器和资源管理器、监控工具、工作表管理器等EJB组件构成,它们分布在不同的计算机上,而且多个工作流引擎是分布执行的。DMEWf系统的特点包括:(1)较强的过程描述能力;(2)易用性好;(3) 灵活性高;(4)系统扩容方便;(5)应用开发方面的高度灵活性;(6)具有较好的可移植性。在上面提出的DMEWf系统体系结构的基础之上,应用面向对象方法、使用统一建模语言工具Together和JAVA语言的IDE环境Eclipse,设计实现了DMEWf系统中工作流领域引擎的基本功能。DMEWf系统是一个基于J2EE的分布式多引擎工作流系统系统,工作流领域引擎除了要完成一般工作流引擎的功能外,还要实现领域引擎之间的通信和数据传送,分布式处理任务等。在设计领域引擎时,将其分解为引擎本身、服务管理器、各类实体仓库、以及流程运行器等几个部分。引擎本身用于本领域内所有流程定义、实例的操作以及与外部的接口。服务管理器主要用于管理各类实体仓库。实体仓库主要用于管理相应的实体类,如定义仓库对流程定义的增删查操作,实例仓库负责流程运行过程中的过程实例、活动实例等的创建、改变和查询。流程运行器是当流程实例运行时,对相应流程实例的调度管理器,每个流程运行器与一个流程实例相对应。DMEWf领域引擎的详细设计和实现基本达到了预期的目的,说明分布式多引擎工作流系统的整体框架是可行的、完整的,具有较高的实用性,可以保证系统的稳定性和分布特性。在工作流管理系统中,表达式求值器是非常必要的,因为路由的条件计算,工作流变量的定义和求值等都会使用到它。根据系统的功能需求,定义了一套表达式的描述形式,给出了相应的EBNF范式,用Java语言实现了表达式抽象语法树的生成,并用后序遍历方法求得相应表达式的值。正文中给出了相应的类图和该表达式求值器中用到的控制结构。该表达式求值器的设计和实现,使得DMEWf系统变得更加完整。通过对工作流长事务处理方面的研究,参考经典事务模型和多个高级事务模型,将Sagas模型进行扩展,提出了一种扩展事务模型-多层Saga事务模型(Multi-Level Saga Transaction Model)。该模型将一个流程看作一个全局事务,每个全局事务根据其特性可以分为多个局部事务,以此类推,每个局部事务最终可以分解为符合ACID特性的原子事务。对于每个流程定义,我们可以构造出一个全局事务定义图。当流程实例化并执行后,将产生相应的全局事务执行图。在执行过程中,可以动态指定安全点。当需要回滚时,根据上面产生的执行图动态生成补偿图,进行事务补偿操作,直到遇到安全点。如果出现异常,将由事务异常管理器进行处理。综上所述,本文提出了一个基于J2EE的分布式多引擎工作流系统的体系结构,实现了这个系统中主要部件-领域引擎的基本功能,定义了一个表达式的语法描述形式,并用JAVA语言实现了相应的抽象语法树构造器和求值器。同时,对Sagas事务模型进行扩展,提出了多层Saga事务模型。由于时间不足,DMEWf系统还不完整,MLST模型尚不成熟,作者将会在后续工作中对其进行改进和完善。

蒋文合[2]2004年在《多引擎工作流系统的控制结构及数据一致性研究》文中进行了进一步梳理对工作流的研究起源于二十世纪七十年代,受网络的局限性,最初的工作流系统主要以企业内部的文档处理为主。到了二十世纪九十年代,随着Internet技术的发展及应用,促进了电子商务应用的极大发展,使得公司与公司之间、公司内部部门之间以及子公司之间的业务相互处理成为可能,这为工作流的发展带来了很大的机遇和挑战。工作流管理的最大优点是实现了应用逻辑与过程逻辑的分离,因此可以在不修改具体功能实现的情况下,通过修改流程模型来改变系统功能,完成对生产经营部分过程或全部过程的集成管理,有效地把人、信息和应用工具合理地组织在一起,发挥系统的最大效能。工作流技术可以支持企业实现对经营管理和生产组织的过程控制以及决策支持,从而实现现代企业对“在适当的事件把适当的信息传给适当的人”的要求。目前,作为支持企业经营过程重组、经营过程自动化的一种手段,工作流技术的研究应用日益受到学术界与企业界的重视。在计算机网络技术和分布式数据库技术迅速发展,多机协同工作技术日臻成熟的基础上,分布式工作流系统成为解决企业级复杂任务的首选方案。本文是在参加工作流研究小组工作的基础上完成的。在导师的带领下,我们工作流研究小组在工作流管理联盟提出的工作流参考模型的基础上,结合工作流技术的发展现状和应用需求,提出了一种分布式工作流系统,即基于J2EE的分布式多引擎工作流系统(J2EE-Based Distributed Multi-Engine Workflow System,简称DMEWf系统),并使用Java语言进行实现。作为其中的一个成员,本人参与了工作流总控引擎设计和整体控制结构方面的工作。作为一个分布式工作流系统,DMEWf的分布式特性主要体现在:(1)系统体系结构的分布式设计。严格按照工作流联盟提出的工作流参考模型,分为流程建模工具、组织管理器、资源管理器、工作流引擎、流程实例运行器等,各个部分之间独立设计,相互之间使用统一的互操作函数进行调用,形成有机的整体,总体架构上体现了分布式特性。(2)引擎的分布式执行。有两种类型的工作流引擎:一个总控引擎和若干个领域引擎。领域引擎分散在不同的应用服务器上,保证流程实例和活动实例分布在系统的不同位置上执行。总控引擎只有一个,负责对多个领域引擎的调动指派、运行监控。工作流客户端对执行服务系统的请求,在总控引擎的控制下分流到相应的领域引擎上,管理员则通过总控引擎来管理监控各个领域引擎,监控流程实例的运行状态等。也就是说,整个工作流执行服务系统,在内部看来由多个分工不同的领域引擎组成,完成流程实例的运行工作;对外则是一个统一的接口,所有的工作经过总控引擎处理转发。客户端程序不需要了解执行服务的细节,领域引擎也不需要直接和客户端程序交互,体现了分布式特性。总控引擎把客户端程序、领域引擎、流程建模工具、实例数据库等各个组成部分紧密地联系在一起。(3)流程定义模型的分布式存储。DMEWf中的流程定义模型和实例化数据存储在同一个中央数据库服务器中,但是每个领域引擎都保存有一份流程定义模型的拷贝,在领域引擎启动时从中央数据库中读取数据,之后就使用这个副本来实例化流程,并将实例化结果以及执行过程中的状态信息随时根据需要存储到中央数据库中。由于各个领域引擎分担不同的任务,所以领域引擎之间不会有数据冲突。对于跨越多个领域引擎的复杂流程实例,则由其中承担发起请求的领域引擎负责数据的收集和存储工作。当流程定义模型发生变动,或者有新的流程定义模型渐生,则由总控引擎向各个领域引擎发送消息,触发其本地的流程定义模型库更新数据。通过软件的设计,可以将中央数据库看作多个逻辑上分散的本地数据库。规划了分布式多引擎工作流系统的控制结构。DMEWf的控制结构可以分作叁个部分。最后台的是系统资源库和组织模型库,为整个工作流执行服务系统所共享。最前端的是工作流客户端程序和工作流管理监控工具,是工作流执行服务系统对外的接口。中间的部分是工作流执行服务系统,它由一个总控引擎和若干个领域引擎组成。每一个领域引擎中保存有本地的流程定义库,和一个流程实例运行器,负责推进流程实例的运行。总控引擎中保存有本地的流程定义库,便于为各个领域引擎分配任务。总控引擎通过调用流程定义工具来生成新的流程定义模型,并通过事件触发机制通知各个领域引擎更新其本地存储的流程定义库。总控引擎通过工作表和工作流客户端程序交互,完成工作项的指派。总控引擎通过历史数据库来响应工作流客户端软件和工作流管理监控工具的查询请求。实现了总控引擎的功能集合。总控引擎是DMEWf中的控制中心,为各个领域引擎分配任务,协调多个领域引擎完成复杂任务;通过调用流程定义工具来生成新的流程定义模型,通知各个领域引擎更新其本地存储的流程定义库;通过工作表和工作流客户端程序交互,完成工作项的指派;总控引擎通过历史数据库来响应工作流客户端软件和工作流管理监控工具的查询请求。总控引擎担负着内外交互的汇总转发任务,可以归结为一种代理模式。设计了工作流执行过程中的事件代理机制。根据DMEWf内部实现的需要,设计了?

孙丹丹[3]2004年在《基于MVC工作流系统的监控和组织角色管理》文中研究说明工作流技术是进入90 年代以后计算机应用领域的一个新的研究热点。 对工作流技术进行深入的研究对于提高我国企业的信息化程度、运行效率以及竞争能力都有着重要的意义。我们通过对现有工作流技术的研究和学习后,我们设计和实现了一个分布式多引擎的工作流系统。文章中提到的工作流系统是一个构架在J2EE环境下的、以B/S模型为框架的一种基于Web访问方式的分布式多引擎工作流系统(DMEWS)。从工作流系统的角度上,已经基本上实现了图形化的过程定义模块、对过程定义的解析(XPDL文档)、总控引擎和领域引擎之间对流程实例的调度和分配、异种工作流系统之间的访问接口、监控模块、资源模块、组织管理模块和一种基于RBAC的权限控制模块等。在本文中,作者主要介绍和阐述了在这个工作流系统中的监控和组织角色管理及权限控制两个部分。首先我们介绍了有关工作流的历史发展和现状。在以工作流联盟规范为基础上详细的介绍了工作流的有关概念和各个接口:过程定义、应用客户端程序、异种工作流之间的调用、工作流管理监控等的定义和基本元模型。讨论了有关数据的一致性问题和WAPI的编写设计。在第二章中作者同时介绍了我们提出和设计的分布式多引擎工作流系统的架构和系统的阐述说明。各个功能模块的划分:总控引擎(Central Controller)、领域引擎(Domain Engine)、过程运行器、应用调用代理(Application Agent)、管理监控工具、工作表处理器(Work List Manager)、组织角色管理器和资源管理器等,以及各个模块主要实现的功能。在文章的第二章中介绍了作者设计和实现的监控模块。工作流系统的监控主要是通过引擎提供的监控接口实现的。在我们的设计中,为了实现一种基于Web访问方式的监控系统,将这个监控系统构架在MVC的体系结构上面。MVC结构与现有的J2EE有着十分密切的关联。文章中不但的介绍了有关监控系统的MVC体系结构,同时对我们在设计中使用的有关J2EE的各个组件技术也做了相应的简单介绍。在程序设计的过程中使用了刚刚问世不久的Struts1.0开发和设计基于MVC构架的工作流监控系统。在这部分中作者主要的工作是通过对总控引擎的远程接口进行的调用来实现对整个工作流系统的监控和管理。在以往的工作流系统中,监控系统直接通过工作流执行服务器和相关的工作流引擎监控和管理有关的信息。但是,对于一个分布的多引擎系统,这样的管理和监控方法显然是不合理的,同时也不能全面的管理各个相关的信息。所以在设计的过程中,我们将有关各个领域引擎执行的过程实例、活动实例以及其他的一些信息都汇集到总控引擎上面,通过总控引擎管理下面的领域引擎,从而实现了对整个工作流系统的全面的监控。在总控引擎的编写过程中,将有关系统监控的功能封装成EJB组件部署到Web服务器上。这样,这些EJB组件将会以模型的身份出现在MVC架构中。从而实现了现有的工作流监控模块。在第四章中,作者详细的介绍和讨论了有关DMEWS中的组织角色管理和权限控制。组织管理和角色控制是工作流系统中刚刚起步的一个部分。在对这方面的设计和实现上,我们将现有的有关组织管理和角色控制比较成熟的技术引入了工作流系统。对于组织管理,在实现静态组织的同时我们设计了一种动态组织结构。使这两种组织相互的协作,从而形成了一个新的组织管理模型。静态组织基本上能够描述企业现有的人员组织管理;通过动态组织可以建立跨专业和部门的临时项目小组,提高企业中流程执行的效率。我们将这种组织管理模式良好的应用到DMEWS中。对于权限控制模块,作者引入了RBAC理论。在工作流系统中实现了一种基于角色的访问控制。在传统的工作流系统中,对于权限的控制仅仅值是一种粗粒度的模式。对于有关细粒度的问题作为业务逻辑实现,作者的想法是能够将这种细粒度的业务逻辑管理更多的实现在工作流系统中。为此作者做了大量的参考和研究,在具体的设计中也实现了一种授权粒度到表单的权限控制。同时为了满足工作流系统的需要作者对角色的定义进行了详细的划分和设计。在角色分配的问题上实现了复合角色-角色组,方便用户的使用和管理。应该说这样的权限管理在工作流技术上是一个新的概念。作者相信在以后的发展中他将会不断成熟。同时通过角色的分配和授权将组织管理和角色访问控制联系到一起,与整个工作流系统形成了一个有机的整体。程序设计的主要环境介绍:CVs管理系统:团队开发的版本管理工具。为多人共同协同开发提供了可靠的支持。Together建模设计工具:提供了方便的建立模型的工具,同时也完全支持面向对象的开发。使我们在对系统的UML设计过程中大大的提高了效率。Eclipse应用开发环境:Java的一个良好的IDE平台。为Java程序的编写和重构等问题提供良好的环境。JavaBuilder开发平台:支持有关的Struts开发和EJB的开发。为我们开发MVC体系提供了支持。最后,由于时间的原因,在我们设计和实现的工作流管理系统中可能还会有许多不足和错误。我们恳请有关的专家学者和工作流爱好者提出批评和指导。我们将虚心的介绍这些意见,以便在以后的学习和工作中进一步完善这个系统。

韩啸, 李永丽, 姜占华, 关伟洲[4]2008年在《基于J2EE的分布式多引擎工作流系统架构设计》文中指出以工作流参考模型为基础,提出并设计了一种分布式工作流管理系统,将单一引擎集中式控制转变为由多个领域引擎协同完成的流程运转.分析表明,只有分布式工作流管理系统才能满足应用需求.

童莹[5]2007年在《基于J2EE和Web服务的工作流技术的研究与应用》文中认为随着现代企业管理的规范化和企业规模的不断扩大,企业的经营管理,已经不仅仅局限在某一个固定的区域或国家,越来越多的工作,需要通过多个员工,多个部门来共同完成。现代企业的管理也已经不仅仅局限于信息资源管理,而更多涉及到业务流程的管理。因此工作流技术应运而生,使用工作流技术,能够有效地提高办事效率,减少管理中的业务支出,降低生产成本,提高整个企业运行的灵活性和适应性。工作流技术针对的是将日常工作中的流程自动化。它将工作分解为定义好的任务模型,按照一定的规则和过程来执行这些任务并对它们进行管理。它充分体现了将过程逻辑和应用逻辑分离的思想。将Web服务技术与工作流技术相结合,可以满足多样化服务的需要。Web服务所具有的动态性,可以提高工作流系统的可扩展性和兼容性,满足各种不同客户的具体需求。本文首先介绍了工作流技术的相关概念,然后通过对Web服务技术的研究,将其与工作流技术结合起来,给出一个面向Web服务的工作流系统架构。在这个架构的基础上,论文结合基于J2EE的智能大厦项目详细讲解了工作流系统的具体设计,包括工作流模型的设计,组织模型的设计,工作流引擎的设计以及相关数据库的设计等。系统采用基于J2EE MVC模式的Struts框架的Web应用体系。这样的体系结构有效地将业务逻辑、应用程序控制和数据显示功能模块区分开来,可以分别集中开发任意模块而不用担心耦合问题,提高应用程序的柔韧性,使整个系统的开发有条不紊、容易集成、便于维护升级。最后论文给出了工作流系统在智能大厦设施维护中运用的一个具体例子。本文将Web服务技术与传统的工作流系统相结合,利用Web服务的动态性,对传统的工作流系统进行了改良,使得传统的工作流系统不再局限于孤立的系统范围之内,从而方便用户获得更多的服务。

张坚[6]2005年在《分布式工作流引擎及其负载平衡技术的研究与实现》文中提出实际的企业业务要求WFMS[3](WorkFlow Management System)必须能把分布在企业异质环境中的人工和自动任务集成到一个流程中,以帮助企业实现业务的全面流程化。大型组织中的业务过程常常涉及到分布在不同地理位置上的许多资源、工具和人员,所以WFMS必须能进行全分布任务及其调度的定义。如果任务和任务间的协同信息可以被分布到异构环境中,那么一个任务的改变将不会影响到整个业务过程,这就增强了WFMS的可扩充性和可靠性。本文主要是对分布式工作流引擎进行设计和实现,提出一种改进的分布式WFMS负载平衡调度算法,以解决单节点引擎负载过重的问题。改进后的负载平衡技术比轮询调度算法更能保证多引擎间负载的基本均衡以及任务的及时完成。我们在J2EE平台和关系数据库的基础上,设计并实现了支持负载平衡的工作流引擎。通过实验测试证明我们所提出的负载指数调度算法比轮询调度算法负载平衡的效果更好。轮询调度算法只能保证每个引擎所完成任务数目是基本相同的,而不能保证每个引擎的负载状况基本均衡。特别是当业务过程所需的时间较长时,负载指数调度算法的优点更加突出。当多引擎间任务调度出现不平衡,导致某些节点负载过重或是某个节点出现故障时,多引擎能够根据相应模型策略和实际的信息来动态调整各节点的负载,这样可以在一定程度上解决有大量分布式事务处理时的性能问题。另外,负载指数调度算法实现简单,尽可能减少了引擎负担。

陈鑫[7]2007年在《基于消息中间件的工作流系统的研究与应用》文中研究指明随着企业规模的不断扩大,部门和分工的日益细化,企业业务流程变的越来越复杂,一项业务往往需要多部门、多人手、多环节的相互协作才能顺利完成。基于此现状,企业需要建立一个动态可控和协作化的信息应用环境——利用各种IT工具管理、存储、传递企业信息,使企业能够在统一的平台上共享内外部资源信息,多部门间协同完成业务处理。将工作流引入到企业的信息化建设中,是建立企业信息应用环境的关键。本文结合电力安全监督管理系统,针对其信息资源分散、任务执行分布、业务流程跨级交互等特点,提出了一种适用于该应用的基于JMS消息中间件的分布式工作流方案。本文从工作流管理系统的体系结构、流程定义元模型及利用JMS消息中间件进行引擎间通信等多个方面对工作流系统进行了分析,并在J2EE平台下进行了相关设计和实现。本文深入分析研究了JMS消息中间件,论述了基于此中间件的工作流引擎间通信模型,选用Weblogic Server 8.1作为消息服务提供者建立引擎之间的底层通信。各个引擎之间通过引擎代理来交换负载信息,实现流程任务的动态分布执行。此外,本文还展示了该工作流系统的具体应用情况,并论述了将其部署到不同级别的组织单位,用来支持部门和企业级别的业务流程协作的过程。

刘云鹏[8]2008年在《电子政务中工作流系统的设计与实现》文中研究指明随着我国信息化水平的提高和电子政务的迅猛发展,如何实现政府办公业务流程科学、便捷、高效的问题日益突出,工作流管理技术成为各级政府机关解决业务流程管理的首要方法。工作流管理系统(WFMS)就是利用工作流管理技术对工作流进行控制和管理的软件。随着Internet上电子政务、电子商务的飞速发展,传统工作流管理系统越来越不能适应现代业务流程管理的要求,主要表现在系统缺乏柔性和互操作性,难以支持动态的和跨组织的工作流程。本文探讨了一种工作流技术和工作流参考模型。讨论了该参考模型的主要组成部分及其功能特点,提出了适合通用软件框架的工作流管理系统设计模式,在该设计模式下,遵循J2EE规范,提出了基于EJB与JSP技术的工作流管理系统实现方案,以期系统具有良好的结构、高度的可配置性和构件的可重用性。本文以该工作流管理系统为核心,研究构建电子政务系统中的公文管理系统。系统已经成功应用于惠州市府办办公自动化项目中,应用表明该设计方案的有效性,同时表明基于本文提出的框架和模式设计的工作流管理平台具有处理较大型流程的能力。

樊建辉[9]2009年在《基于Web Service的工作流系统的研究与实现》文中研究表明在企业和政府办公过程中,冗长而烦琐的日常事务处理和复杂的纸质文档传递过程,成为影响企业和政府办公效率的瓶颈。工作流技术所提出的协同化办公和流程化任务处理等,在增强个人的工作能力同时,也提高了团队协作的效率,满足了企业的信息化要求。但随着企业信息环境的分布性,异构性、松散性、自治性和复杂性的加强,以及系统间耦合度要求的降低,已有的工作流系统难以更好地适应这种复杂的应用环境。本文以面向领域的柔性软件生产平台(SoftProLine)项目为背景,设计实现的基于Web Service的工作流管理系统,并作为核心功能满足了平台对分布式、松耦合的工作流系统的需求。本论文的主要研究内容:1、研究采用Web Service技术作为工作流管理系统的分布式框架的可行性,深入分析工作流管理系统的理论模型,明确了工作流管理系统的主要功能、整体架构和开发流程。2、提出了一种基于有限状态机的流程管理方法和基于数据模型的服务交互机制,松散耦合了本工作流系统与外部应用,避免了已有工作流系统以API方式调用所面临的复杂性和紧密耦合性问题,提高了工作流系统的兼容性和内聚性。3、设计实现了基于Web Service的工作流系统的体系结构,满足了SoftProLine平台的设计思想,增强了平台的流程处理能力。而与SOAP、XML等Web Service关键技术的结合改进了现有工作流系统的跨平台性、独立性和松散耦合性,进而改进了整个生产平台的兼容性和效率问题。

参考文献:

[1]. 基于J2EE的分布式多引擎工作流系统设计[D]. 乔梁. 吉林大学. 2004

[2]. 多引擎工作流系统的控制结构及数据一致性研究[D]. 蒋文合. 吉林大学. 2004

[3]. 基于MVC工作流系统的监控和组织角色管理[D]. 孙丹丹. 吉林大学. 2004

[4]. 基于J2EE的分布式多引擎工作流系统架构设计[J]. 韩啸, 李永丽, 姜占华, 关伟洲. 吉林大学学报(理学版). 2008

[5]. 基于J2EE和Web服务的工作流技术的研究与应用[D]. 童莹. 武汉理工大学. 2007

[6]. 分布式工作流引擎及其负载平衡技术的研究与实现[D]. 张坚. 国防科学技术大学. 2005

[7]. 基于消息中间件的工作流系统的研究与应用[D]. 陈鑫. 中国科学院研究生院(沈阳计算技术研究所). 2007

[8]. 电子政务中工作流系统的设计与实现[D]. 刘云鹏. 中南大学. 2008

[9]. 基于Web Service的工作流系统的研究与实现[D]. 樊建辉. 哈尔滨工程大学. 2009

标签:;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  ;  

基于J2EE的分布式多引擎工作流系统设计
下载Doc文档

猜你喜欢