(计算机软件与理论专业论文)基于j2ee的工作流组件的研究与实现.pdf_第1页
(计算机软件与理论专业论文)基于j2ee的工作流组件的研究与实现.pdf_第2页
(计算机软件与理论专业论文)基于j2ee的工作流组件的研究与实现.pdf_第3页
(计算机软件与理论专业论文)基于j2ee的工作流组件的研究与实现.pdf_第4页
(计算机软件与理论专业论文)基于j2ee的工作流组件的研究与实现.pdf_第5页
已阅读5页,还剩69页未读 继续免费阅读

(计算机软件与理论专业论文)基于j2ee的工作流组件的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西南交通大学硕士学位论文第1 页 摘要 由于信息技术的发展和激烈的竞争,独立、零散的办公自动化系统和计 算机应用已不能满足人们的需要,而综合、集成化的解决方案只益成为企业 所需。作为一种对常规性事物进行管理、集成的技术,工作流的出现是必然 的。它是对日常生活中具有固定程序的活动而提出的概念。目的是通过将工 作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并 对它们进行监控,达到提高办公效率、降低生产成本、提高企业生产经营管 理水平和竞争力的目标。 当前,许多企业需要分布式的,事务型的应用程序,同时对系统的速度 平衡、系统安全以及服务器可靠性等提出了更高的要求,j 2 e e 技术提供了 基于组件的设计方法,可方便地丌发、集成和部署应用程序。通过j 2 e e 技 术可以很好的实现服务器端的安全、效率和可靠性,并且j 2 e e 组件有很好 的可重用性,避免了大量的重复性编码工作。 传统工作流管理系统缺乏开放性和集成性,采用j 2 e e 技术的工作流管 理系统将不再有这些缺陷。本文以攀枝花钢铁公司的工作流实现为基础,给 出一个基于j 2 e e 的b s 结构下的工作流中j 、b j 件解决方案。首先介绍了工作 流技术研究现状和j 2 e e 体系结构,分析了w f m c 的工作流模型、中间件和 软件构件化技术,并阐明了采用这些技术的优势。重点在于阐述工作流系统 的建模与实现,以及所提出的组件设计方案。在对工作流模型建模时,引入 p e t r i 网建模方法,并对模型进行化简以验证其正确性。表述工作流组件的设 计思想时,结合系统实现实例。一方面阐明了工作流系统的工作机制,另一 方面通过实际的组件设计,验证了以组件为中心进行工作流模块设计,能够 更好的体现系统扩展性、接入性和可维护性的优势。 在此基础上提出以组件为基础进行软件构件的设计,以a g e n t 作为构件 表现形式的思想,并对构件a g e n t 接口模型和应用进行了一定程度的研究。 最后,给出了构件体系结构模型。 关键字:组件;a g e n t :p e t r i :j 2 e e :工作流 西南交通大学硕士学位论文第1 i 页 a b s t r a c t w i t ht h ed e v e l o p m e n to fi n f o r m a t i o nt e c h n o l o g ya n dt h em o r ed r a s t i c c o m p e t i t i o n ,p e o p l ea r cn o tm o r es a t i s f i e dw i t h0 f f i c ea u t o m a t i cs y s t e ma n d c o m p u t e ra p p l i c a t i o n ,w h i c ha r ed e p e n d e n to rs c a t t e r e d e n t e r p r i s en e e d st h e r e s o l v em e t h o d ,w h i c hi sc o m p e t i t i v ea n di n t e g r a t i o n a sat e c h n o l o g yu s e dt o a d m i n i s t r a t ea n di n t e g r a t eg e n e r a lt h i n g s ,t h ep r e s e n to fw o r k f l o wi si n e v i t a b l e i ti sp r o v i d e da sac o n c e p tf o rn o tc h a n g e da c t i v a t e si no r d i n a r yl i f e t h ea i mo f i ti st h a te n h a n c e se n t e r p r i s e sa d m i n i s t r a t es t a n d a r da n dc o m p e t i t i o na b i l i t yb y d i v i d i n gw o r ki n t og o o dd e f i n i t i o nt a s k ,r o l ea n de x e c u t e st h e s et a s ka n dm o n i t o r t h e ma c c o r d i n gt os o m er u l e s t o d a y , m a n ye n t e r p r i s e s d e m a n dd i s t r i b u t e d ,t r a n s a c t i o n a p p l i c a t i o n p r o g r a m a tt h es a m et i m e ,t h eh i g l i e rr e q u e s ti sp r e s e n t e dt ot h es y s t e mo fs p e e d b a l a n c e s e c u r i t ya n ds e r v e r sr e l i a b i l i t y t h et e c h n o l o g yo fj 2 e ep r o v i d ew i t h d e s i g nm e t h o db a s i n go nc o m p o n e n t s ,w h i c hi se x p e d i e n t l yt od e v e l o p ,i n t e g r a t e a n dd e p l o ya p p l i c a t i o np r o g r a m b yt h et e c h n o l o g yo fj 2 e e ,i ti sb e t t e rt o i m p l e m e n tt h es e c u r i t y , e f f i c i e n c y o r r e l i a b i l i t y o fs e r v e rs i d e a n dt h e c o m p o n e n t so fj 2 e eh a v et h eb e t t e ra b i l i t yo fr e u s a b l e ,w h i c ha v o i dc o d i n g o n c e m o r e t h et r a d i t i o n a lw o r k f l o ws y s t e mi ss h o r to fo p e n i n ga n di n t e g r a t i o n b u tt h e n e ww o r k f l o ws y s t e m ,w h i c ha d o p t st h et e c h n o l o g yo fj 2 e e ,w i l ln o th a v et h e s e l i m i t a t i o n s t h ep a p e rb a s i n go nt h ei m p l e m e n t a t i o no fp a nz h ih u as t e e lc o r p s w o r k f l o ws y s t e m ,p r o v i d ew i t ht h er e s o l v em e t h o db a s i n go nj 2 e e sb s f r a m e w o r kf o rw o r k f l o wm i d d l e w a r e f i r s t ,i ti n t r o d u c e st o d a y sr e s e a r c h a c t u a l i t ya n dj 2 e e ss y s t e mf r a m e w o r k i ta n a l y s e st h ew f m c sw o r k f l o w m o d e m ,m i d d l e w a r ea n dc o m p o n e n tt e c h n i q u ef o rs o f t w a r e a n di tc l a r i f i e st h e v i r t u eo f u s i n g t h et e c h n i q u e i tf o c u s e sm o r eo n e x p o u n d i n gm o d e l , i m p l e m e n t a t i o no nw o r k f l o ws y s t e ma n dt h ec o m p o n e n t sd e s i g ns c h e m e ,w h i c h i sp r o v i d e dw i t h a tt h et i m eo fm o d e l i n go nw o r k f l o ws y s t e m ,i ti m p o r t sp e t r i n e t w o r k sm o d e l i n gm e t h o da n ds i m p l i f i e st h em o d e r nf o rv a l i d a t i n gt h e e x a c t n e s so fi t w h e nt h ep a p e ri n t r o d u c e st h et h o u g h to fh o wt o d e s i g n w o r k f l o wc o m p o n e n t s ,i tc o m b i n e sw i t ht h ei m p l e m e n t a t i o ne x a m p l e o h eh a n d 。 i ti l l u s t r a t e sw o r km e c h a n i s mo fw o r k f l o ws y s t e m o nt h eo t h e rh a n d t h r o u g h t h ep r a c t i c a lc o m p o n e n td e s i g n ,i tv a l i d a t e st h ev i r t u eo fs y s t e m se x p a n s i b i l i t y , i o i na n dm a i n t e n a n c ec h a r a c t e r i s t i cw h e nw h od e s i g nw o r k f l o wm o d e lt a k i n g c o m p o n e n t sa sc e n t e r o nt h i sf o u n d a t i o n ,i tp r o v i d e sw i t ht h i st h o u g h t ,w h i c hd e s i g ns o f t w a r e 西南交通大学硕士学位论文第1 i i 页 c o m p o n e n tb a s i n go nc o m p o n e n ta n dt a k ea g e n ta st h ee x h i b i t i o no fc o m p o n e n t a n di tm a k e sar e s e a r c ho nt h em o d e r na n da p p l i c a t i o no fa g e n tm o d e lt os o m e d e g r e e a tl a s t ,i tg i v et h em o d e lo fc o m p o n e n ts y s t e m k e yw o r d s :c o m p o n e n t ;a g e n t ;p e t r i ;j 2 e e ;w o r k f l o w 1 1 背景介绍 第1 章绪论 随着计算机技术的飞速发展和计算机网络的大面积普及,企业信息化 建设逐步深入,企业内部以及企业内部与外部建立起越来越多的业务应用 系统,如何整合企业现有的i t 资源,使企业中独立的计算机应用向集体协 作的方向发展,发挥资源效益的最大化,降低企业成本,正逐渐成为企业 关注的重要问题。 企业的管理模式是由企业的经营管理者所决定的,而激烈的市场竞争 对于每个企业的管理模式要求又不尽相同。这种情况造成大部分应用软件 可能很难适应千变万化的管理需求。 因此,迫切需要一些专业的业务过程管理软件,使企业或开发商能够 在这种开发运行平台上构建适合自己的信息系统,而工作流系统的出现正 是解决这种问题的最好方式。它不但方便快速,并且具有非常好的灵活性 和扩展性。另外,系统运行稳定,从而降低企业管理费用,减少了系统的 维护费用。因而工作流系统己首当其冲的成为构建企业业务信息系统首选。 但是,工作流管理系统的开发随着企业要求的变更要做许多重复性的 工作,这不但减慢了开发人员的开发进度,降低了开发的灵活性。面对不 同的项目开发人员需重新进行需求分析和项目设计实施,而且工作流系统 的运转需要网络的支持,这必然使软件的开发和使用面对的是网络环境这 样的异构平台。在这种分布式环境中,就会有不同的情况出现:不同的硬 件、不同的操作系统、不同的系统软件、应用软件或开发工具。所有这些 问题,对软件项目的开发提出了新要求,尤其是对大规模软件的开发。如 何在异构环境中充分利用资源开发新的应用是一个非常现实的问题。而中 间件软件的使用则可以简化软件开发的难度,提高开发速度。 以j a v a 和面向对象开发为基础的j 2 e e 技术是为开发复杂、分布式企 业级1 1j 应用定义的一套体系结构。j 2 e e 让丌发人员关注于业务逻辑,不用 预先详细了解执行环境而把主要精力放到系统实现上。同时,由于j 2 e e 的 组件化开发方式,鼓励开发人员明确分工,这些都大大降低了开发难度, 促进了分布式企业应用的广泛使用。j 2 e e 的出现,部分的解决了中间件开 发中面临的分布、异构等难题。 在以往的研究中,工作流技术的研究主要集中于进行流程设计和系统 的分析实现,而对工作流中问件的研究较少,特别对工作流技术的基础性 研究更少。一般工作流系统的开发往往要耗费众多的人力、物力,做许多 重复性工作。通过工作流运作机制的基础性研究和软件工程前瞻性探索的 结合能够目的明确的设计出低投资、高复用的软件。本文旨在通过对工作 流运行机制和功能实现的研究,利用组件设计思想实现流程设计组件化, 以组件设计来提高工作流软件扩展性、维护性和代码的复用率,并在此基 础上提出组件到构件的设计实现思想,拓展了软件工程的研究范围,指出 了未来软件发展趋势。 1 2 国内外研究现状 目前国内外在工作流理论与实施技术方面,研究的主要内容包括:1 、 工作流管理系统体系结构的研究;2 、工作流模型与工作流定义语言的研究; 3 、工作流事务特性的研究;4 、工作流实现技术研究:5 、工作流的仿真和 分析:6 、基于工作流的应用集成与互操作;7 、工作流与经营过程重组;8 、 工作流技术的其它应用:研究如何将工作流技术在不同的领域进行应用。 以上研究问题可归结为三个方面:一是工作流的理论基础,包括工作 流管理系统的体系、模型和定义语言( 工作流的建模方法、工作流模型的 形式化表示、工作流定义) 的研究。其次是工作流的实现技术,包括工作 流的事务特性、各种先进软件技术的应用、工作流仿真。这方面研究工作 的目的是提高工作流管理系统的性能,尤其是提高工作流管理系统的可靠 性及其在处理大规模复杂的且具有并行业务的流程方面的能力。最后一方 面是工作流技术的应用,包括工作流实施技术、在不同领域的应用( 如企 业经营过程重组、并行工程、敏捷制造) 和软件的集成等。这方面研究的 目的是发挥工作流管理系统的优势,为解决具体应用领域内的问题提供有 效实现手段。 、 如今我国在工作流技术的研究与应用上,已有不少人员从不同方面开 展了工作流管理和相关技术的研究,但工作流管理技术研究和应用中的许 多关键技术问题相比国外而言还处于不成熟的阶段。 随着工作方式的转变,工作流技术的应用正日益受到人们的重视。很 多大学和研究机构都开展了越来越多的研究项目,并取得了众多的研究成 果。如i b m 公司的a l m a d e n 研究中心研究开发的持久消息队列的分布式 工作流管理系统e x o t i c a f m q m 、佐治亚大学计算机系研究开发的具有 自适应能力的工作流管理系统m e t e o r ( m a n a g i n ge n d t o e n do p e r a t i o n ) 、基于 分布式主动数据库技术的工作流管理系统w l d e ( w o r k f l o wo ni n t e l l i g e n c e a n dd i s t r i b u t e dd a t a b a s ee n v i r o n m e n t ) 以及基于状态与活动图的工作流管理 系统m e n t o ( m i d d l ef o re n t e r p r i s ew o r k f l o wm a n a g e m e n t ) 等等。 当前的工作流产品尚存在以下不足: 1 、标准化程度差:工作流管理系统开发过程中,由于缺乏统一的标准, 大部分工作流产品间互不兼容,不同的系统具有不同的应用程序接口和流 程定义语言。虽然工作流管理联盟提出了套工作流管理系统标准,但要 真正实现不同工作流系统之间的互操作,还需要开展很多的工作; 2 、系统安全性:用户对系统的并发访问是不可避免的,然而当出现并 发访问和错误时,大部分系统缺乏正确、可靠的机制以支持工作流实例的 运行,可能出现多个活动同时访问共享资源的情况,各个活动在数据操作 上也会相互重叠。为了保证系统正常运行,必须进行并发控制。此外,当 工作流非正常中断时,如何恢复数据并保持数据的一致性也是需要解决的 问题; 3 、实现的复杂性:定义一个完整的工作流管理过程,不仅要进行流程 设置研究,开发相应的用户界面,还要指定管理规程和用户操作规范,设 计完善的安全机制等; 4 、大规模业务处理性能差:大多数工作流产品性能不能满足用户每日 处理成千上万、甚至每小时处理几千个业务的需求; 5 、缺乏对工作流进行分析、仿真和纠错的工具。 以上内容分析了国内外工作流的研究现状、相关的工作流产品和目前 工作流产品的不足。 1 3 研究的问题及其科学意义 本课题以攀枝花钢铁公司新钢钒科技管理系统为基础,针对传统的工 作流集成于系统中的固定模式,介绍并实现了采用组件的思想进行工作流 系统的分析与设计,从而达到提高系统灵活性、可扩展性和提高处理效率, 降低维护开发费用的目的。 本文作者开发了一个中间件系统,利用组件低耦合、高内聚、接插式 设计实现特点,旨在简化和解诀目前工作流设计实现复杂、可靠性、重用 性差等问题。并通过对现有工作流系统的设计实现方法的总结和归纳,得 出一个简单易行的流程设计实现方案。在此基础上通过工作流的设计,从 而抽象出组件到构件的软件工程设计思想,并通过设计实例的讲述,最终 达到通过组件设计简化软件开发,实现用户灵活调用组件特定功能的目的。 该软件的成功实施,降低了企业实施信息化建设的成本,加快了工作流系 统的开发速度,具有一定的理论和现实意义。 文章首先对工作流和中间件相关知识进行了阐述,在此基础上重点对 工作流中间件的详细设计与实现进行了介绍。文中比较分析了使用组件进 行工作流设计的优势,并以p e t r i 网为基础对工作流组件建模实例进行了分 析、验证,阐述了工作流组件接口的设计和流程实现原理。在此基础上分 析、论述了采用的关键技术、系统体系架构1 2 】以及详细的业务组件实现。 同时,在应用研究基础上提出以组件为基础进行构件设计的思想,并提出 以a g e n t 接口进行构件设计的必要性和可行性。通过a g e n t 模型1 3 j 的建立和 实际应用方式阐述,说明了构件重用的理论和现实意义。 1 4 本章小结 本章主要对当前工作流技术的应用和研究背景做了简单介绍,分析了 国内外的研究现状,并描述了论文的全貌和主要解决的问题,以及进行本 课题研究的理论和现实意义。 酉亩童通太堂亟堂僮迨窒筮亟 第2 章工作流与中间件 2 1 工作流基本的概念模型 现代办公系统中工作流技术的应用同益广泛,作为系统重要组成部分 的工作流起着控制、管理、协调业务过程的作用。一个作用良好的工作流 能够极大的提高办公效率、简化业务过程。而人们通常所说的无纸化办公 正是工作流技术应用的很好体现。从概念上看,工作流代表了一个办公过 程,一般包括定义完整的任务、活动和他们之间的连接关系。根据工作流 管理联盟的定义,工作流就是自动运作的业务过程的整体或部分,表现为 参与者对文件、信息或任务按照规程采取的行动,并令其在参与者间传递。 工作流系统是流程定义、执行、监控的管理工具,它通过设计良好的工作 流引擎来解释流程定义过程、创建流程实例,完成流程流转。此外,工作 流系统还要负责对相关活动进行调度,与其它工作流系统进行数据交换。 业务流程、 被定义为道管理 流程定义工作流管理系统 人工操作自动处 l 包含 工作单元应用工具 图2 - 1 工作流基本概念间关系 因此,工作流技术已成为实现办公自动化系统的关键,以解决同常办 公中的协作问题,提高效率、节约劳动成本。图2 1 1 4 1 显示了工作流相关的 基本概念问的基本关系。 业务流程( b u s i n e s sp r o c e s s ) :在功能确定的组织结构中,能够实现业务 目标和策略的相互连接的过程和活动集。例如:本系统中的科技项目管理 下的科技项目申报过程就是一个业务流程。 工作流管理系统( w f m s ) :作为企业信息系统中的一部分,工作流管理 系统是能定义、创建、管理工作流定义和执行的系统。就是将现实世界中 的业务过程转化为计算机能够识别的形式表示,即工作流逻辑,并在流程 定义的驱动下完成工作流的执行和管理。使用它可以充分利用企业资源、 有效地跟踪工作过程、提高工作过程定义效率。 流程定义( p r o c e s sd e f i n i t i o n ) :实际业务过程在计算机系统中的表达, 可为文字或图形。它定义的是过程运行中涉及到的各种参数,如业务过程 的开始和终止条件、各个工作环节及相互之间的控制流动与数据流转关系 等。文中图3 1 0 就是一个典型的业务流程定义。 过程实例( p r o c e s si n s t a n c e s ) :指的是某个工作流过程的一次执行所创建 的实例。过程实例由工作流管理系统控制、解释相应的过程定义,生成有 关的活动并根据过程实例中的控制规则协调这些活动实例之间的顺序关 系,同时根据数据流动关系的定义完成活动实例之间的数据传送。从用户 的角度来说,实例的执行实际上是由用户调用相应的应用程序,对他所涉 及的那个环节有关的数据进行处理,处理完之后由工作流管理系统根据相 应的结果决定激活后续的那个环节,并生成相应的工作项,同时通知与此 有关的那些用户对之进行处理。如此反复执行,直至整个过程的完成。过 程实例由流程定义创建和管理,而一个过程实例中可能包含若干活动实例。 活动( a c t i v i t y ) 指的是工作流中的一个逻辑步骤或环节,活动可根据 活动处理方式的不同分为人工处理活动和自动处理活动。活动中包含的信 息有:开始和结束条件;可参与到此环节中的用户;完成此活动所需要的 应用程序或数据:以及完成此活动的一些限制条件。 最后,我们讲解一下工作流模型的定义。 工作流模型( w o r k f l o w m o d e l ) :不同的工作流管理系统所实现的工作流 模型是各不相同的。工作流模型较早的时候是以“硬编码”的方式出现的, 而后来逐渐出现了有向图、条件化有向图、p e t r i 网、语言动作理论、基于 约束条件的形式语言表示以及基于目标的知识表示等。这些建模系统一般 都提供一个可视化的业务过程建模工具,以使用户能够以比较直观的方式 对实际的业务过程模型进行建模,并得到相应的形式化表示,不同的过程 模型各有其不同的特点,良好的模型能够清晰的描述流程定义、易于使用 和修改,适应多变的工作环境。本系统中使用p e t r i 网进行工作流模型建模。 2 2 其他相关概念 除以上概念外,工作流中还涉及以下一些概念: 1 路由关系和原语集:w f m c 己经确定了用来描述工作流的六个原语 集f 4 1 。用这些原语可以描述任何可能发生的工作流这些原语是s e q u e n c e , a n d s p l i t 。a n d j o i n ,o r s p l i t ,o r - j o i n 和i t e r a t i o n 。 廿娃 图2 - 2 工作流四种路由结构 根据工作流管理联盟( w f m c ) 的定义,有以下四种路由关系,如图 2 2 【4 l : ( 1 ) 顺序路( s e q u e n c er o u t i n g ) :一个任务接着另一个任务被顺序的执 行。在图2 2 1 中任务b 在任务a 己经完成之后和任务d 开始之前执行。 ( 2 ) 并发路由( p a r a l l e lr o u t i n g ) :通常开始于a n d s p l i t 结束于a n d j o i n 。 图2 2 2 中任务b 和任务c 并发执行,即任务b 和任务c 同时或以任意顺 序执行。并发路由需要两个组成块:a n d - j o i n 和a n d s p l i t 。在图2 2 - 2 中的a n d s p l i t 使任务b 和任务c 在任务a 已经完成之后开始执行, a n d j o i n 同步两个并发的流程,如在任务b 和任务c 都已经完成后,任务 d 可以开始执行。 ( 3 ) 条件路由( c o n d i t i o nr o u t i n g ) :在图2 2 3 中任务b 或者任务c 互斥 的被执行。为了表示在两个或多个之f b j 选择,使用两个组成块;o r j o i n 和 酉酉窑通太堂亟堂僮途塞墓壁厦 o r s p l i t 。如果任务a 己经被执行,将在任务b 或者任务c 之间选择,任 务d 在任务b 或任务c 完成之后就可以执行。 ( 4 ) 循环路由( c i r c l er o u t i n g ) :有时需要执行一个任务多次。在图2 2 - 4 中任务b 被执行一次或多次。 本文的系统中更多的是使用顺序路由和条件路由,当然在其他两种情 况也有表现。如在会签的处理中要使用到并发路由,而多个负责人的审批 过程就可表示为一个循环路由。 2 角色f r o l e ) :角色是指对某项任务或相关任务集合具有访问权限和 完成能力。在一个业务流程中,角色用来指定工作人员的职责、权限。依 据系统功能设置、组织机构的不同,所属人员具有不同的角色。一个人员 只能有一个对应的角色,而一个角色可能有多个人员使用。例如本系统中 管理员角色具有查询和添加数据能力,而这个角色的人员可能分属于不同 的部门,因而由不同的人员分享同一角色。但具有管理员角色的人员不能 同时成为其他角色。通过这种设置能够灵活的给人员分派任务,实现工作 负载平衡。 2 3w f m c 提出的工作流参考模型 w f m c 提出了如图2 3 所示的工作流参考模型【5 j : 该模型以工作流机为中心,并提供了五个工作流应用编程接口( w o r k f l o w a p p l i c a t i o np r o g r a mi n t e r f a c e ,w a p i ) : 接口1 :过程定义工具接口是工作流服务和工作流建模工具间接口, 不同的工具可能被用于分析、建模、描述或书写业务流程。它包括工 作流模型的读写和解释操作; 接口2 :工作流客户应用接口是工作流引擎和客户应用之间进行交互 的接口,约定所有客户方应用与工作流服务之间的功能操作方式; 接口3 :工作流直接调用应用接口,它允许工作流引擎直接使用特定 的工具来处理特定的活动,它是工作流机和直接调用的应用程序之间 的直接接口; 接口4 :其他工作流执行服务接口即流程交互服务接口,是工作流管 理系统之问的相互操作接口。它能够通过工作流引擎进行流程初始化, 解释、激活流程定义或与不同的活动进行交互; 酉匝童道盔鲎亟雯僮淦窑簋2 亟 接口5 :管理监控工具接口是工作流服务和工作流管理工具之间接口, 它能够实现管理应用与管理域的交互; 工作流机:工作流机即工作流引擎用于交互式服务下的运行环境控制, 它为运行态的工作流实例提供了运行环境。 图2 - 3w f m c 工作流参考模型接口 2 4 工作流系统实现框架 2 4 1 数据层 数据层是工作流系统的工作基础,它通过定义统一的数据结构对外来 数据进行存储。数据层中的数据信息是工作流运转的基石。数据层可由数 据库、文件管理系统、消息队列三部分组成。其中数据库保存工作流系统 中的工作流元模型库、工作流模型库、过程实例库、用户数据库和工作流 相关数据库:文件系统辅助数据库保存文件类型数据,如本系统中各种审 批、申请数据信息:而消息队列则用来存储和管理工作流系统中的业务事 件信息,如待办工作等,需要用户进行消息处理的数据信息。在工作流系 统中引入业务事件的概念使得在过程实例内部或不同的过程实例间,甚至 不同工作流系统间可以通过业务事件方式进行交互。 在数据库中,工作流元模型库用于存储建模所需要的元模型;工作流 酉亩奎通太堂亟堂僮诠室筮! q 及 模型库用于存储建模结果,即工作流模型;过程实例库用于存储工作流模 型运行过程中产生的实例,并保存实例状态;用户信息库用于存储用户i d 、 角色、任务表以及其它相关信息;相关数据库用于存储企业原来的应用或 者其它工作流相关数据信息。 2 4 2 工作流引擎层 工作流引擎作为工作流系统的核心,主要通过预定的逻辑设计实现来 促使工作流流转。它是一个为工作流实例提供运行环境的软件,其主要功 能可以概括为:从工作流模型库读取工作流模型定义,并对模型定义进行 解释:控制工作流实例的生成、激活、挂起、终止等;维护工作流控制数 据和工作流相关数据,控制活动单元的执行和活动单元间的转换,包括串 行或并行的操作、工作流相关数据的传递和解释;调用外部自动应用程序; 支持用户界面;提供控制、管理和监督工作流执行的接口。其中工作流模 型由独立的工作流建模工具定义,保存在工作流模型数据库中。 工作流引擎层结构分为w e b 服务层和应用服务层。各层又由三个组件 构成,分别是w e b 组件、应用程序组件和远程服务组件。其中应用服务组 件是核心组件,它实现了工作流运转的业务逻辑,运行于应用服务器端。 而w e b 组件是实现与用户数据交互的关键,也是工作流的表现形式。用户 能够通过w e b 组件根据需要调用其他组件完成一定的功能,并对这些组件 进行管理。远程服务组件的表现形式并不明显,可以说是一个抽象的概念 组件。它存在与w e b 组件和应用服务组件之间,负责组件间数据的传递、 存储以及与数据库的交互。 依据系统中设定角色的不同,用户对工作流引擎的使用亦有不同。管 理员能够依据需求进行工作流流程设计、处理系统异常、控制流程运转或 给予用户不同的权限或角色。而普通用户仅能依据管理员给予的权限执行 在本职工作范围内的操作,例如查询、添加或下载。一切数据的处理依据 管理员设计的流程,提交给工作流机处理。 2 4 3 应用层 。 应用层是用户接触系统最直观的部分,所有系统提供的功能基本都可 以在应用层完成。大部分工作流系统的设计是基于b s 结构,用户分布于 酋亩窑通太堂亟堂焦途室簋! ! 豆 不同的地方。总的来说,应用层中的用户可以划分为管理员和普通用户两 大类。由于管理员和普通用户拥有不同的权限,因而他们登陆系统后将显 示不同的页面,权限多的用户将有更多可以操作的页面。管理员可以根据 业务需求进行流程设置,用户则依据设定的流程执行本地业务操作。通过 这样的设计使客户、供应商或合作伙伴等整个供应链的参与者方便地参与 企业的业务过程,从而为企业利用现有的信息系统实现电子办公提供了便 利条件;其次,对企业内部员工来说,从w e b 上直接驱动、管理工作流, 更大程度的支持和方便了异地办公,从而提高了劳动效率。 2 5 中间件定义 中间件【6 i ( m i d d l e w a r e ) j z 软件的一大类,属于可复用软件范畴;中间 件在操作系统、网络和数据库之上,应用软件之下,总的作用是为处于自 己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和 集成复杂的应用软件。 在众多的中间件定义中,人们比较普遍接受的定义是:中间件是一种独 立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之 间共享资源,中间件位于客户机和服务器的操作系统之上,管理计算机资 源和网络通信。 目前面对众多的操作系统和硬件平台,以前简单的客户、服务器模式已 日益不能满足实际应用的需要。于是三层和多层体系结构的分布式环境不 断出现,所谓三层结构,就是在原有的“客户和服务器”两层结构之间增加 了一层组件,这层组件包括事务处理逻辑应用服务、数据库查询、数据库 代理等。随着这层组件的增加,两层结构向三层结构转变后,客户端和服 务器端的负载相应减轻了,跨平台、传输不可靠等问题也得到了解决。增 加的这层组件就是我们所说的“中间件”。中间件在三层结构中主要充当中 间层,完成数据传输和保障数据安全,通过负载均衡来调节系统的工作效 率,从而弥补两层结构的不足。在分布式环境中,无沦硬件平台还是软件 平台都不可能做到统一,而应用软件常要求在软、硬件各不相同的分布式 网络上运行。为了更好地开发和应用能够运行在这种异构平台上的软件, 追切需要一种基于标准的、独立于计算机硬件及操作系统的开发和运行环 境,中间件技术就应运而生了。 中间件具有标准的程序接口和协议,可以实现不同硬件和操作系统平 台上的数据共享和应用互操作。在具体实现上,中间件是一个用a p i 定义 的分布式软件管理框架,具有良好的扩充性、易管理性、可用性和移植性。 作为基础软件的一大类,中问件属于可复用软件范畴,可以将网络和 系统软件之上、应用系统之下都视做中间件领域。中间件在分布式的客户 和服务之间承担着承上起下的作用,如事务管理、负载均衡以及基于w e b 的计算等。广义地看,中间件的总体作用是为处于自己上层的应用软件提 供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。 概括的说中间件可以分为数据访问中问件、远程过程调用中间件、消息中 间件、对象中间件、交易中问件、终端仿真屏幕转换中间件、企业应用集 成中间件、工作流中间件、门户中间件和安全中间件等。 2 6 中间件主要功能 鉴于目前中间件的主要应用,可以把中间件的主要功能概括如下【7 l : 实现异构环境下的数据库或文件的联结; 实现远程过程调用1 8 】; 实现异构环境下的消息通信机制; 为软件用户和开发者提供应用级的即插即用的互操作性: 保障分布式交易的完整性、并发性和负载均衡; 用于字符与图形的转换: 设计实现应用服务器软件; 在工作流中用于获得流程实例,监控管理工作流; 用作门户服务器; 提供安全机制和管理功能。 2 7j 2 e e 中间件 作为中间件的一种,j 2 e e 能够构建企业级的应用程序,为用户提供良 好的服务。这些功能复杂的服务能够分布于不同的地方,且可,由不同的客 户端调用。图2 4 简单的说明了j 2 e e 基本的三层体系结构。 酉亩童通太堂亟堂僮论塞箍1 3 页 为了更好地控制和管理这些应用,支持各种用户的业务功能被连接到 中间层,中间层代表着一个被企业信息技术部门紧密控制着的环境。中间 层被指定运行在特定的服务器硬件上,并可涉及企业所有的服务。 j 2 e e 应用模式定义了以多层结构的方式实现应用的一种开发模式,它 避免了以前客户、服务器为主的两层结构的局限性。 j 2 e e 应用方式将实现多层服务所要进行的工作分为两个部分,即为 j 2 e e 提供标准的系统服务业务和表示逻辑。由开发人员完成业务和表示逻 辑,开发人员可以依靠这个平台提供的开发中间层服务来解决实现硬件层 的方案。 j 2 e e 具有良好的可执行性、伸缩性和重用性,其标准化的开发模式加 快了程序员的开发速度,降低了开发成本。在当前网络应用程序为主的情 况下,j 2 e e 由于其稳定的性能和良好的设计思想,成为开发模式的主流。 l 中间层 l 企业信息层 w e b 客户端 i l 倘 i。q _ i 压五斌 l 璺竺 l i j s p s e r v l e te j b ii 图2 4j 2 e e 三层模型 j 2 e e 通过多层结构的应用模式,将复杂问题简单化。各层功能相对独 立,设计实现互不影响,降低了应用程序相互间的耦合度,推动了应用程 序设计实现方式的转变。下面依据图2 4 分别解析j 2 e e 模式中各层的主要 功能: ( 1 ) 客户层 以w e b 浏览器为主作为客户端的j 2 e e ,能够支持多种不同类型的客户 端应用程序,如:j s p 9 】f 1 0 1 、s e r v l e t l l l 】或a p p l e t 。这些服务将通过生成的 h t m l 页面与客户端交互。目前更常见的模式是由j s p 提交数据给s e t v l e t , 由s e r v l e t 与中问层进行数据交互。当然,有些j s p 页面中也会直接嵌入j a v a 代码直接连接中间层。 ( 2 ) 中间层 j 2 e e 应用的最大优势在于中间层的设计。作为业务逻辑实现的中间层 其功能是由j a v a b e a n 组件或e j b l l 3 】【1 4 】组件实现的。这些企业b e a n 让服务 开发者将精力集中在业务逻辑,从而让e j b 为前端提供复杂、可靠、可伸 缩的服务。 j s p 和s e r v l e t 是使用网络模式为客户层表现中间层功能的。j s p 技术 使用户界面的开发工作变得容易,可以为浏览器提供页面的动态生成技术。 s e r v l e t 给以j a v a 技术为基础的应用程序开发者提供了一种手段,可以用 j a v a 语言完整地实现动态表示。 ( 3 ) 企业信息系统层 通常所说的企业信息系统层是指用于对数据进行数据持久化的,也 包括企业原有数据信息系统。中间层必须与企业信息系统进行连接,以实 现数据的存取和更新。下面是标准的j a v aa p i ,它们提供了对企业信息系 统的基本存取功能: j d b c ,用于存取数据的j a v a 标准a p i ; j n d i l l 5 】【“l ( j a v an a m i n ga n dd i r e c t o r yi n t e r f a c e ) ,用于从企业的名字和目录 服务存取信息的标准a p i ; j m s ( j a v am e s s a g es e r v i c e ) ,通过消息中间件发送和接收信息的标准a p i : j a v am a i l ,发送电子邮件的标准a p i ; j a v a l d l ,调用c o r b a 服务的标准a p i 。 2 8 工作流中间件 工作流中间件作为中间件的一种应用于商务流程的自动化,即能够实现 企业办公的自动化。这些工作流软件以消息中问件,或w e b 应用服务器作 为底层支撑。建立在消息中间件之上的工作流软件一般都有能够支持不同 操作系统的客户端,支持与w e b 应用服务器的集成,并提供使用浏览器获 得工作列表、执行流程实例和监控管理工作流的能力。而以w e b 应用服务 器作为支撑的工作流中间件又具有更好的稳定性,提供更加完善、优质的 服务。 酉直童通盍堂亟堂僮诠室整! 亟 根据目前实际的应用情况看,主流的工作流产品以w e b 应用为主。工 作流引擎运行在w e b 应用服务器上,以浏览器作为工作流程中参与人员的 操作界面,流程软件除基本用户角色和基本的权限管理等功能模块外,有 些工作流软件还具备可视化的流程定义工具。软件简单易用,适合于构建 单一组织内的工作流应用,当然依据客户要求和实际的应用也有针对特定 行业应用需要的工作流产品。 2 9 本章小结 本章重点阐述了工作流与中问件的相关知识。其中结合w f m c 制定的 工作流参考模型对工作流系统的运行原理进行了讲解,在对j 2 e e 中间件 进行说明后,以此为基础介绍了工作流中间件产品的应用,并对j 2 e e 体系 结构进行了简单的分析。 第3 章工作流中间件系统设计与实现 3 1 系统功能分析 当前任何一个成熟行业的主要目标都是提供高效的生产能力。对于软 件来说,我们需要这样一种能够提供高效软件生产能力的平台。以前工作 流系统的设计局限于满足特定用户的功能需求,以实现企业内部信息的自 动处理为基本目的。通常设计要根据用户的实际需求“按单定做”,不同的 项目需要进行重新分析、设计、实施。往往重复性的劳动要做多次,而开 发者也只专注于满足客户需要,而不关心工作流系统设计实现的总结归纳, 定义实用、易行的实现框架,以及对功能模块划分的总结描述。因而,进 行基础性或前沿性开发工作的研究,成为一项必不可少的工作。本文以攀 钢具体工作流的实现为基础,提出工作流组件化设计到软件构件化设计的 思想。通过对模型组件的正确性验证和具体实现的详细描述,证明了方法 的可行性。用户能够以实现的组件为基础进行二次开发,不但节省了开发 成本,提高了开发效率,形成了一套完整的软件组件设计方法,而且利用 组件“高度模块化”和“高度整合”的技术优势,为实现产品的“可定制”、“可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论