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

下载本文档

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

文档简介

摘要 工作流管理技术是国际上新兴起的一项对工作流程进行控制和管理的 技术,为此国际上成立了专门的机构( w f m c ) ,对工作流管理技术进行专门 的研究。工作流管理系统( w f m s ) 就是利用工作流管理技术对工作流程进行 控制和管理的软件。随着i n t e r n e t 上电子商务的飞速发展,传统工作流管理 系统越来越不能适应现代企业业务流程管理的要求,主要表现在系统缺乏柔 性和互操作性,难以支持动态的和跨组织的工作流程。 随着网络技术的发展,新兴技术的出现使人们相信:引入t 作流管理系 统必将大幅度提高系统的性能,特别是w e b 及其相关技术,如j a v a 的发展。 计算机原有的体系结构也从两层的c s 结构发展到三层的b s 结构,并逐渐 形成流行的j 2 e e ( j a v a2 p l a t f o r m e n t e r p r i s e e d i t i o n ) 应用体系结构,而基于 e j b 组件的三层次的体系结构是j 2 e e 应用体系结构的重要组成部分。由于 w e b 服务有与生俱来的动态特性和互操作性,它把一切都看作服务,这种服 务可以通过在网络上使用消息传递动态地被发现和组织。 本文探讨了一种工作流技术和工作流参考模型。讨论了该参考模型的重 要组成部分及其功能特点,提出了适合通用企业软件框架器的工作流管理系 统的设计模式。在该设计模式下,遵循j 2 e e 规范,提出了基于e j b 与j s p 相结合的技术来实现的工作流管理系统,使得该系统具有良好的结构,高度 的可配置性和构件的可重用性,动态地生成页面。 本文共分成七章来详细探讨所设计的工作流管理系统。第一、二章详细 描述了工作流管理系统的现状,重点阐述了工作流管理系统的软件的实现框 架,然后介绍了目前企业的需求,分析了传统工作流管理系统的不足之处。 第三章描述了j 2 e e 的应用体系结构。第四章详细阐述了c i l a b 通用企业软 件框架器。第五章详细描述了基于e j b 组件体系结构的构成及其优势。第六 章是本文的重点部分,该章重点提出了一种新的工作流管理系统,并且详细 阐述了该系统的关键部分:工作流引擎是如何设计及其实现。并且对该系统 所涉及到的工作流的流程描述方法、客户端、服务端和各种接口做了详细说 明。第七章是本文的最后部分,是对全文的总结以及以后的展望。 关键词工作流,工作流管理系统,通用企业框架器,j 2 e e ,j s p a b s t r a c t w o r k f l o w m a n a g e m e n tt e c h n o l o g yi san e wt e c h n o l o g yt h a tc a nc o n t r o lt h e w o r k f l o wi nt h ew o r l da n dw f m ci st h e o r g a n i z a t i o n t o s t u d y w o r k f l o w m a n a g e m e n t w o r k f l o wm a n a g e m e n ts y s t e mi s t h es o f t w a r et o c o n t r o la n d m a n a g e t h ew o r k f l o w a st h ef a s te b u s i n e s sd e v e l o p m e n ti ni n t e r n e t ,t r a d i t i o n a l w o r k f l o wm a n a g e m e n ts y s t e m s ( w f m s ) c a n tm e e tt h er e q u i r e m e n to fm o d e r n b u s i n e s sp r o c e s sm a n a g e m e n ta n ym o r e t h e yd o n t p r o v i d ee n o u g hs u p p o r tt o d y n a m i ca n di n t e r o r g a n i z a t i o nb u s i n e s sp r o c e s s e sb e c a u s el a c k i n ga g i l i t ya n d i n t e r o p e r a b i l i ty w i t ht h ed e v e l o p m e n to fc o m p u t e rn e t w o r k s ,o u rs o l u t i o ni s t oi n t r o d u c e o n eo ft h el a t e s t t e c h n o l o g i e s t o i m p r o v e w f m sp e r f o r m a n c e w i t ht h e d e v e l o p m e n t o fw e ba n dr e l a t e d t e c h n o l o g i e ss u c h a s j a v at e c h n o l o g y ,t h e o r i g i n a lc o m p u t e ra r c h i t e c t u r eh a sd e v e l o p e df r o mt h e2 - t i e dc sa r c h i t e c t u r et o t h e3 - t i e db sa r c h i t e c t u r e ,a n db e e n r e a l i z i n gt h ep o p u l a rj 2 e e ( j a v a 2p l a t f o r m e n t e r p r i s ee d i t i o n ) a p p l i c a t i o n a r c h i t e c t u r e t h ee j b b a s e d3 - t i e da r c h i t e c t u r ei s o n ei m p o l t a n tp a r to fj 2 e ea p p l i c a t i o na r c h i t e c t u r e p u b l i s h e da n dd i s c o v e r e d w e bs e r v i c e st h r o u g hs t a n d a r dm e s s a g e sw i l la d dd y n a m i ca n di n t e r o p e r a t i o n a l f e a t u r e st ow f m s i nt h i s p a p e r ,t h et e c h n o l o g y a n dr e f e r e n c em o d e lo fw o r k f l o wa r e i n t r o d u c e d t h e c o m p o n e n t s a n df u n c t i o no fw o r k f l o wr e f e r e n c em o d e la r e d i s c u s s e di nd e t a i l t h ed e s i g n p a t t e r n o ft h ew o r k f l o wm a n a g e m e n ts y s t e m s u i t e df o rg e n e r a ls o f t w a r ef r a m e w o r kb u i l d e rf o re n t e r p r i s ei s p u tf o r w a r d a c c o r d i n gt o t h ed e s i g np a t t e r na n dj 2 e ec r i t e r i o n ,i ti sb a s e do ne j ba n dj s p t h a tt h ew o r k f l o wm a n a g e m e n ts y s t e mi sp u tf o r w a r da n di m p l e m e n t e d i tg i v e s m a n ym e r i t st ot h ew o r k f l o wm a n a g e m e n ts y s t e m ,s u c ha s ,g o o ds t r u c t u r e ,t h e h i g ha d a p t a b i l i t yt op r a c t i c a ls i t u a t i o n sa n dt h er e u s eo fc o m p o n e n t s ,e l i c i tt h e p a g e sa u t o m a t i c a l l y t h i sp a p e ri s c o m p o s e do fs e v e nc h a p t e r s ,a n d t h e d e s i g n e dw f m si s d i s c u s s e di nd e t a i l i nc h a p t e r1a n dc h a p t e r2 ,w ed e s c r i b et h es t a t u so fw f l m s f i r s t l y ,w i t he m p h a s i so nt h ef r a m eo fw f m s t h e n ,t h ed e m a n do fe n t e r p r i s ei s a n a l y z e d ,f o l l o w e db yt h e d i s c u s s i o no ft h ed e f e c t so ft h et r a d i t i o n a lw f m s c h a p t e r 3 m a i n l y i n t r o d u c e st h ej 2 e ea r c h i t e c t u r e a n dt h ec i l a bg e n e r a l s o f t w a r ef r a m e w o r kf o re n t e r p r i s es o f t w a r ei sd i s c u s s e da tl e n g t hi nc h a r p t e r4 a f t e r t h a t ,c h a p t e r5d e s c r i b e s t h ec o m p o s i t i o na n d a d v a n t a g e o fe j ba r c h i t e c t u r e a st h ef o c u so ft h i s p a p e r c h a p t e r6p r o p o s e dan e wt y p eo fw f m s i ni t ,w e e x p l a i nt h ek e yp a r to tt h ef l e ww f m s ,d i s c u s s i n g h o wt od e s i g na n dr e a l i z et h e w o r k f l o we n g i n e b e s i d e st h a t ,w eg i v ead i s c t l s s i o no nt h em e t h o dt od e s c r i b e t h ep r o c e s so fw o r k f l o w ,w o r k f l o wc l i e n t ,w o r k f l o ws e r v e ra n dw o r k f l o wa p i r e l a t e dt ot h en e ww f m s a st h ef i n a lp a r to ft h i sp a p e r ,c h a p t e r7m a k e sa s u l l | a m a r y ,a n dg i v e sav i e wo f t h ef u t u r ew o r k k e y w o r d s w o r k f l o w ,w o r k f l o w m a n a g e m e n ts y s t e m ,g e n e r a l s o f t w a r e f r a m e w o r kb u i l d e rf o re n t e r p r i s e , j 2 e e ,j s p 1 1 1 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:匹五:! 盘2 垒 日期:矿删,年厂月,珀 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使扇学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:陛:塑i 垒导师签名- 签导师签名:! ( 竖 日期:7 彬哼年f 月彦臼 基于j 2 e e 工作流管理系统的设计与实现 1 1 引言 第一章绪论 随着i n t e r n e t 的普及,计算机开始转向支持商务过程,最初的应用软件 是基于在操作系统平台上开发的,这大大限制了企业的更深远的发展。所以, 随着应用规模的不断扩大,常规的应用软件对企业的发展起到瓶颈作用,因 而有必要引入工作流管理系统( w o r k f l o wm a n a g e m e n ts y s t e m ,w f m s ) 。 工作流技术是实现企业业务过程建模、业务过程仿真分析、业务过程优 化、业务过程管理与集成,从而最终实现业务过程的自动化的核心技术。对 企业利用工作流方法进行业务过程的建模和深入分析不仅可以规范化企业的 业务流程,发现业务流程中的不合理的环节,进而对企业的业务过程进行优 化重组,而且所建立的业务过程模型本身就是企业非常重要的知识库和规则 库,可以成为指导企业实施计算机管理信息系统的模型。 工作流管理技术作为一种过程建模和过程管理的核心技术,可以与其他 应用系统有效地结合,生成符合企业需求的各种业务管理系统,因而具有高 度灵活性,可以按照企业的具体需求,快速灵活地生成应用软件系统,并且 在客户业务过程发生变化时,迅速地进行重组来满足客户需求。 目前,基于w e b 的工作流管理系统受到广泛关注,本文是在通用企业软 件框架器fg e n e r a ls o f t w a r ef r a m e w o r kb u i l d e rf o re n t e r p r i s e ,g s f b ) 基础上 完成工作流管理系统的设计和实现的。 1 2 国内外研究现状 工作流是从英文单词w o r k f l o w 翻译得来的,工作流的概念起源办公自动 化领域,是针对日常工作中具有固定程序的活动而提出的一个概念。目的是 通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这 些任务并对它们进行监控,达到提高效率、降低生产成本、提高企业生产经 营管理水平和企业竞争力。实际上,自从进入工业化时代以来,有关过程的 组织管理与流程的优化工作就一直在进行,这是企业管理的主要研究内容之 一,只不过在没有引入计算机信息系统的支持以前,这些工作是由人工来完 成的。在计算机网络技术和分布式数据库技术迅速发展,多机协同工作技术 日臻成熟的基础上,于2 0 世纪8 0 年代中期发展起来的工作流技术为企业更 好地实现这些经营目标提供了先进的手段。工作流技术一出现马上就得到广 基于j 2 e e 工作流管理系统的设计与实现 泛的重视和研究。至今工作流管理技术已成功运用到图书馆、医院、保险公 司、银行等行业,然而它更重要的应用还是在工业领域,特别是制造业领域。 1 9 9 3 年工作流管理联盟( w o r k f l o wm a n a g e m e n tc o a l i t i o n ,w f m c ) 的成 立标志着工作流技术开始进入相对成熟阶段。为了实现不同工作流产品之间 的互操作,w f m c 在工作流管理系统的相关术语、体系结构及应用编程接口 ( w a p i ) 等方面制定了系列标准。 工作流管理联盟给出的工作流定义是:工作流是一类能够完全或者部分 自动执行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不 同的执行者之间进行传递与执行。 工作流管理技术作为一种过程建模和过程管理的核心技术,可以与其他 应用系统有效地结合,生成符合企业需求地各种业务管理系统,目前国外已 有相关产品出现,其主要产品如下: ( 1 ) i b m 的m q s e r i e sw o r k f l o w ( 2 ) a c t i o n 技术公司的m e t r o ( 3 )f i l e n e t 公司v i s u a l o r k f l o ( 4 ) j e t f o r m 公司的i n t e m p o ( 5 ) p a v o n e 公司的e s p r e s s o 目前在国内在这方面的研究还是很热的,主要用于电子政务方面,在这 方面的产品也很多,如上海东兰科技发展有限公司的d l f o 工作流程管理软 件。 尽管经过工作流产品供应商与工作流研究人员十几年的不懈努力,工作 流技术由最初的萌芽逐步发展起来,并取得了相当的成果,但是,从工作流 管理系统的开发最初情况来看,还远远未达到人们所期待的水平。在工作流 管理系统的开发最初阶段缺乏统一的普遍遵循的标准以及限于当时软件支撑 技术水平,导致不同公司的工作流管理系统在功能上以及所采用的支撑技术、 开发技术和接口上都呈现出非常大的不同。这是工作流管理系统存在问题的 主要原因之一。 不少从事工作流技术研究的人员从应用的角度指出了目前工作流管理 系统存在的性能方面的不足,在文献中,m o h a n 等人指出现有工作流管理系 统存在的主要的不足在于:几乎彼此都不兼容;能力有限,对大规模业务无 法胜任( 主要是单一数据库、集中式结构、通信能力有限、审计时缺乏远见 等原因) ;鲁棒性与实用性差( 系统稳定性差,没有强有力的安全保证) 。其 基于j 2 e e 工作流管理系统的设计与实现 主要表现在工作流技术自身的不成熟,主要表现以下几个方面: ( 1 ) 工作流模型描述。 ( 2 ) 5 1 2 作流执行。 ( 3 ) 工作流仿真。 工作流管理技术到目前为止大致经历了三个发展: 认识阶段( 1 9 8 9 1 9 9 2 ) :人们对于工作流过程建模和过程的执行有初 步的了解,开发出能够提供一定工作流功能的工具,并在实践的基础上得出 一些理论和产品原型。 第二阶段( 1 9 9 2 1 9 9 5 ) :人们在第一阶段所获得的各种成功和失败的 经验的基础上,发展了概念模型和系统体系结构。这一阶段明显区别于第一 阶段的是独立的工作流引擎的出现,工作流过程模板的定义和应用程序中过 程的执行,使工作流过程实现动态的改变成为可能。工作流过程的路由、系 统开放性、交互性技术进步成熟,使相关工作流产品不断涌现。具有标志 性意义的是工作流管理联盟( w o r k f l o wm a n a g e m e n tc o a l i t i o n ,w f m c ) 于 1 9 9 4 年1 1 月制定了工作流参考模型,使各种工作流系统有了统一的标准。 不过在这一阶段,工作流系统的灵活性仍然在很大程度上受到过程定义和执 行引擎的限制。 第三阶段( 1 9 9 5 至今) :随着信息技术的发展,协同工作环境要求有更 复杂、更有效、更灵的w f m s ,动态自适应性成为这一领域的前沿课题。动 态自适应性工作流要求工作流模板可以随着应用环境的需要而进行动态的调 节,整个系统能够方便的移植到不同的硬件和软件平台上,并易于系统的扩 展,增加新的功能。i n t e m e t 技术的发展与工作流技术相辅相承,基于w e b 的工作流管理系统就是两者相结合的产物。 1 3 课题研究范围及内容 本课题是在计算智能实验室通用企业软件框架器基础上完成工作流管 理系统的设计与实现的,主要是使通用企业软件框架器更加智能化。通用企 业软件框架器是一种平台软件,它隐藏了基于j 2 e e 平台的开发细节,为开 发人员提供了简单有效的对象接口,并提供集成的开发环境,g s f b 平台集 成对象模型开发工具、逻辑商务开发工具( 工作流、规则) 、页面开发工具( j a v a s e r v e r p a g e s ,j s p 构造器) 、服务器( e j b 、w e b ) 、为使用者提供全方位的开 发环境。 基于j 2 e e 工作流管理系统的设计与实现 1 4 作者在课题中完成的主要工作和成果 本研究课题属于应用研究,所以我的研究方法是理论联系实际,总结大 量实际软件工程项目开发的实践经验,上升到理论高度,阐述上述三个方面 问题的基本理论和实现方案,主要是提出一种新的工作流管理系统的设计模 式。 1 5 论文的组织结构 本论文共分七章: 第一章绪论,主要阐述工作流管理系统的国内外现状,以及本课题的 研究内容。 第二章工作流管理基本知识,主要阐述工作流管理系统的基本概念, 以及相关术语,以及工作流管理系统的整体框架结构。 第三章j 2 e e 应用体系结构,主要阐述j 2 e e 多层结构以及它的优势所 在。 第四章c i l a b 通用企业软件框架器,主要详细阐述该软件的整体情 况,以及在该系统中需要的技术,尤其是工作流方面的。 第五章基于e j b 组件体系结构的构成及其优势,主要描述e j b 组件的 概念,以及构成、优势。 第六章工作流管理系统的设计与实现,重点讨论了基于e j b 和j s p 两 项技术来如何设计所需的工作流管理系统及其是如何实现的。 第七章总结,主要是对本论文的全文的总结和展望。 基于j 2 e e 工作流管理系统的设计与实现 第二章工作流管理基本知识 2 1 工作流的基本概念和定义 1 9 9 3 年工作流管理联盟( w o r k f l o w m a n a g e m e n tc o a l i t i o n w f m c ) 的 成立标志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品 之间的互操作,w f m c 在工作流管理系统的相关术语、体系结构及应用编程 接口( w a p i ) 等方面制定了一系列标准。 工作流管理联盟给出的定义是:工作流是类能够完全或者部分自动执 行的经营过程,它根据一系列过程规则、文档、信息或任务能够在不同的执 行者之间进行传递与执行【。 g e o g a k o p u l o s 给出的工作流的定义是:工作流是将一组任务组织起来完 成某个经营过程。在工作流中定义了任务的触发顺序和触发条件。每个任务 可以由一个或一组人完成,还可以由一个或多个人与软件系统协作完成。任 务的触发顺序和触发条件用来定义并实现任务的顺序、任务的同步和信息流 ( 数据流) 的传递i ”。 还有许多关于工作流的不同定义,如p e o p l e s o f t 公司给出的定义是:工 作流是一个用来实施经营过程实践的机制。i b m a l m a d e n 研究中心给出的工 作流定义是:工作流是经营过程的一种计算机化的表示模型,定义了完成整 个过程所需的各种参数。这些参数包括对过程中每一个步骤的定义、步骤间 的执行顺序、条件以及数据流的建立、每一步骤由谁负责以及每个活动所需 要的应用程序【1 j 。 那么究竟什么是工作流呢? 如何更好理解工作流的概念呢? 工作流系 统就是使协调自动化,可以通过两种途径来了解这一点。一种工作流的观点 是将一组任务指派给组织中某个人( 或程序) 。从以上观点来看,工作流系统 所做的就是协调谁来执行和何时执行。因此,如果我请购一把椅子,我不用 从管理员处获得书面的表单,填好,然后通过内部邮件发送给采购部门,而 只需要启动一个工作流进程。工作流系统知道谁需要不经签字而批准请购, 需要通知谁去采购,并且系统能够相应地创建任务。可以明确地将这些任务 指派给各人,也可以从“部门人员”列表中选择他们。任务完成后,工作流引 擎跟踪下一步将发生的事件。 这是一种观点,另一种工作流的观点是从过程方面:可以将进程看作通 基于j 2 e e , 工作流管理系统的设计与实现 过许多人( 或程序) 的努力而随时间构建起来的数据结构,工作流引擎协调 进程。所以可以发现,工作流引擎也可以作为无数实用w e b 应用的基础、 客户服务状态报告页面等等。如果在对复杂w e b 应用程序进行任何类型的 编码,您有可能已在使用工作流。但如果正式将工作流引入引擎中,可能做 得不够好。 2 2 工作流管理系统 在明确了工作流基本概念的基础上,下面介绍工作流管理系统的定义。 w f m c 给出的关于工作流管理系统的定义是:工作流管理系统是一个软件系 统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻 辑推进工作流实例的执行。 通常,工作流管理系统指运行在一个或者多个称为工作流机的软件上的 用于定义、实现和管理工作流运行的一套软件系统,它和工作流执行者( 人、 应用) 交互,推进工作流实例的执行,并监控工作流的运行状态。工作流管 理系统可以用来定义与执行不同覆盖范围( 单个工作者、部门、全企业、企 业间) 、不同的时间跨度( 分钟、小时、天、月) 的经营过程。这完全取决于 实际应用背景的需求。 虽然不同的工作流管理系统具有不同的应用范围和不同的实施方式,但 它们还是具有许多共同的特性。从比较高的层次上来抽象地考察工作流管理 系统,可以发现所有的工作流管理系统都提供了三种功能【1 1 : ( 1 )建立阶段功能:主要考虑工作流过程和相关活动的定义和建模功 能。 ( 2 ) 运行阶段的控制功能:在一定的运行环境下,执行工作流过程 并完成每个过程中活动的排序和调度功能。 ( 3 ) 运行阶段的人机交互功能:实现各种活动执行过程中用户与i t 应 用工具之间的交互。 图2 - 1 给出了工作流管理系统的三个主要功能之间的关系 基于j 2 e e 工作流管理系统的设计与实现 2 2 1 过程建模 图2 - 1工作流管理系统的特性 工作流管理系统建立阶段的功能主要完成经营过程的计算机化的定义。 在这个阶段,利用一个或多个建模技术与工具,完成实际的经营过程到计算 机可处理的形式化定义的转化,所得到的定义通常可称为过程建模、过程模 板、过程元数据或过程定义。因此,在工作流管理系统建立阶段主要完成过 程建模工作。在w f m c 定义的工作流管理系统中,在过程建模得到的结果统 称为过程定义。过程建模是经营过程分析与经营过程重组的重要基础,过程 建模主要解决如何根据过程目标和系统约束条件,将系统内的活动组织为适 当的经营过程问题。目前较为广泛接受的建模语言有c i m o s a 的经营过程描 述语言、工作流管理联盟w f m c 定义的工作流描述语言、k e l l e r 等人提出的 e p c m 等。 2 2 2 工作流运行控制 在完成了过程模型定义后,所生成的工作流模型将由工作流执行服务软 件进行实例创建并控制其执行过程。工作流执行服务对使用工作流模型描述 的过程进行初始化、调度和监控过程中每个活动的执行,在需要人工介入的 场合完成计算机应用软件与操作人员的交互。这样,工作流执行服务实现了 在模型中定义的经营过程与现实世界中实际过程之间的连接。这个连接通过 工作流执行服务与应用软件、操作人员的交互来完成。实现这个连接的核心 基于j 2 e e 工作流管理系统的设计与实现 功能是工作流管理软件,工作流管理软件又称为工作流机。 工作流机除了完成过程的创建、删除、活动的执行与控制外,它的另外 一个重要功能是完成与应用软件及操作人员的交互。 2 2 3 工作流管理中的人机交互 在工作流管理系统的运作过程中,人和应用是完成整个业务过程的主 题。工作流定义工具、工作流执行服务和任务表管理器都是为完成业务过程 和支持人员工作提供的运行环境和工具。具体说来,在整个工作流执行中, 不同的操作人员需要完成的工作大约可以分为以下几种: ( 1 ) 模型定义:创建、修改和发布企业的业务过程模型,一般是企业 的业务管理部门( 如企管处) 的人员按照企业的业务流程完成。 ( 2 ) 人机交互:按照工作流任务管理器提供的任务项,完成具体的业 务处理工作( 如填写表格、启动一个应用来计算生产计划、查询 库存情况等) ,这个工作由企业的各个业务部门人员完成。 ( 3 ) 系统运行状态的监控:检查、监视系统的执行情况,对于系统中 出现的意外情况进行紧急处理,如终止、恢复某个过程实例的执 彳亍,改变某个活动的状态以便整个系统能够继续执行等。这介工 作由具有较高职务的系统管理人员来完成。 2 2 4 工作流管理系统与群件 群件( g r o u p w a r e ) 是一种计算机软件系统,它的含义和覆盖范围相当广 泛,所有能够支持工作组( 规模可大可小、功能可强可弱、自动化可高可低) 内成员协同工作的软件都可以叫做群件,同样所有支持工作组协同工作的技 术都可以称为群件技术。 2 3 工作流管理系统体系结构 工作流管理联盟提出了有关工作流管理系统的一些规范,定义了工作流 系统的结构及其与应用、管理工具和其他工作流管理系统之间的应用编程接 口,其主要目的是为了实现工作流技术的标准化和开放性,从而支持异构工 作流管理系统与产品之间的互操作,并且使得其他的应用可以使用该结构和 定义好的通用a p i ( 应用编程接口) 访问不同的工作流管理系统提供服务, 实现与其他应用的快速有效集成。 基于j 2 e e 工作流管理系统的设计与实现 图2 - 2 工作流管理系统的体系结构图【1 l 图2 - 2 为w f m c 提出的工作流参考模型的体系结构图。这个参考模型的 体系结构给出了抽象的工作流管理系统的功能组成部件和接口,它能满足工 作流管理系统和产品应该具有的主要功能特征,可为实现工作流产品之间的 互操作提供公共的基础。从图中可以看出,工作流管理系统主要由三类构件 组成: ( 1 ) 软件构件:完成工作流管理系统不同组成部分功能的实现。 ( 2 ) 系统控制数据:工作流管理系统中的一个或多个软件构件使用的 数据。 ( 3 ) 应用与应用数据:对于工作流管理系统来说,他们不是工作流管 9 基于j 2 e e 工作流管理系统的设计与实现 理系统的组成部分,而是属于外部系统和数据,它们被工作流系 统调用来完成整个和部分工作流管理的功能。 2 4 工作流参考模型 图2 - 3 给出了w f m c 提出的工作流参考模型 工作流管理工具 接1 2 1 5 过程定义工具 接口1l 工作流a p i 与交换格式 接1 2 1 2 f 接口3 工作流客户应用il 磊篷蒋机直接调用 图2 - 3 工作流参考模型 如图2 - 3 所示,共由5 个部件组成: ( 1 ) 过程定义工具:用来定义工作过程,是业务过程的计算机形式 表示,也叫工作流模型。 ( 2 )工作流执行服务:是工作流管理系统的核心,它借助一个或者多 个工作流引擎,来激活并解释过程定义的全部或者部分,提供了 过程实例执行的运行环境。 ( 3 ) 工作流客户应用:是指用户操作工作流管理系统分配的任务或者 活动的功能。 ( 4 ) 工作流机直接调用的应用:是指工作流执行服务在过程实例的运 行过程中调用的,用以对应用数据进行处理的应用程序。 ( 5 ) 工作流管理工具:其功能是对工作流管理系统( w f m s ) 中过程 1 0 野其服厂l 4 一 口 一 接一 基于j 2 e e 工作流管理系统的设计与实现 实例的状态进行监控与管理。 上述五个接口统称为w o r k f l o w a p i ( w a p i ) ,主要是完成功能部件之间 以及工作流引擎之间交互的功能。 在上述工作流参考模型中涉及到几种数据,下面将它逐一介绍: ( 1 ) 工作流控制数据( w o r k f l o wc o n t r o ld a t a ) :工作流执行服务i 作 流机通过内部的工作流控制数据来辨别每个过程或活动实例的 状态。这些数据是由工作流执行服务工作流机进行控制的。用户、 应用程序或其他的工作流机工作流执行服务不能对其直接进行 读写操作,它们可以通过向工作流执行服务工作流机发消息请求 来获得工作流控制数据的内容。 ( 2 ) 工组流相关数据( w o r k f l o wr e l e v a n td a t a ) :工作流管理系统通过 工作流相关数据来确定过程实例状态转换条件,并选择下一个将 执行的活动。这些数据可以被工作流应用程序访问并修改。因此, 工作流管理软件需要在活动实例之间传递工作流相关数据。 ( 3 ) 工作流应用数据( w o t k f l o w a p p l i c a t i o nd a t a ) :这种数据是指那些 由应用程序操作的数据。它们是针对应用程序的,是企业完成具 体的业务功能所需要的数据,如产品结构数据、定单数据生产作 业计划等。工作流管理系统无法也不需要对它们进行访问。 在明确了工作流管理系统的基本概念的基础上,我们可以抽象地考察工 作流管理系统,可以发现所有的工作流管理系统都提供了3 种功能: ( 1 ) 建立阶段功能:主要考虑工作流过程和相关活动的定义和建模功 能。 ( 2 ) 运行阶段的控制功能:在一定的运行环境下,执行工作流过程, 并完成每个过程中活动的排序和调度功能。 ( 3 ) 运行阶段的人机交互功能:实现各种执行过程中用户与i t 应用工 具之间的交互。 2 5 本章小结 本章主要介绍了工作流管理系统的基本知识,以及工作流管理系统的模 型,构成,以及相关术语。 基于j 2 e e 工作流管理系统的设计与实现 3 1 引言 第三章j 2 e e 应用体系结构 今天,越来越多的开发人员都想编写分布式的,事务型的企业及应用程 序,以及平衡速度、安全及服务器方面可靠度的技术。如果你已经在这个领 域工作,你应该知道在当今的快速变换及需求的电子商务及信息技术的世界 里,企业应用程序需要设计、编译、产生低价位的、高速的、占用少量资源 的程序。 为了缩减开发成本,快速跟踪企业应用的设计和开发,j 2 e e 技术提供 了基于组件的设计方法,开发、集成、部署应用程序。j 2 e e 平台提供了多层 分布式应用模式,使具有重用的能力,并集成了基于x m l 的数据交换 一个统一的安全模式及灵活的事务控制。 3 2j 2 e e 的概念 目前,j a v a2 平台有3 个版本,它们是:适用于小型设备和智能卡的j a v a 2 平台m i c r o 版( j a v a2p l a t f o r mm i c r oe d i t i o n ,j 2 m e ) ;适用于桌面系统的 j a v a2 平台标准版( j a v a2p l a t f o r ms t a n d a r de d i t i o n ,j 2 s e ) ;适用于创建服 务器应用程序和服务的j a v a2 平台企业版( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n , j 2 e e ) 。 j 2 e e 是一种利用j a v a2 平台来简化企业解决方案的开发、部署和管理相 关的复杂问题的体系结构。j 2 e e 技术的基础就是核心j a v a 平台或j a v a2 平 台的标准版,j 2 e e 不仅巩固了标准版中的许多优点,例如”编写一次、随处 运行”的特性、方便存取数据库的j d b c a p i 、c o r b a 技术以及能够在i n t e r n e t 应用中保护数据的安全模式等等,同时还提供了对e j b ( e n t e r p r i s e j a v a b e a n s ) 、j a v as e r v l e t s a p i 、j s p ( j a v as e r v e rp a g e s ) 以及x m l 技术的全 面支持,其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间 的体系结构。 j 2 e e 体系结构提供中间层集成框架用来满足无需太多费用而又需要高 可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台, j 2 e e 降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强 有力支持,完全支持e n t e r p r i s ej a v a b e a n s ,有良好的向导支持打包和部署应 用,添加目录支持,增强了安全机制,提高了性能。 基于j 2 e e 工作流管理系统的设计与实现 3 3 分布式多层应用程序 j 2 e e 平台使用多层分布式的应用模式,应用逻辑根据其功能分成多个 组件,各种不同的应用组件构成分布在不同的依赖于层的机器上的j 2 e e 程 序。下面列出了位于不同层的组件: ( 1 ) 运行在客户机上的客户层组件。 ( 2 ) 运行在j 2 e e 服务器上的网络层。 ( 3 ) 运行在j 2 e e 服务器上的逻辑层。 ( 4 ) 运行在e i s 服务器上的企业信息层。 尽管j 2 e e 应用程序可以由三层或四层构成,j 2 e e 应用程序通常由三层 构成,因为他们分布于三个不同的位置:客户端,服务器,后台数据库服务 器,通过这种方式运行的三层应用模式拓展了基于客户服务的两层模式。 3 3 1 j 2 e e 组件 j 2 e e 应用程序由组件构成,j 2 e e 组件是一个封装了功能的软件单元, 能够与相关的类和文件一起组成j 2 e e 应用程序,并且可以与其他通信。j 2 e e 规范定义了下面一些组件: ( 1 ) 运行在客户端的应用客户程序及小程序。 ( 2 ) 运行于服务器网络的s e r v l e t & j s p 组件。 ( 3 )运行于服务端的企业逻辑组件e j b 。 j 2 e e 组件用5 a v a 语言编写,通过相同的方法编译。j 2 e e 组件与标准j a v a 类的不同之处在于5 2 e e 组件集成到了应用程序中,证明能很好的组成,与 j 2 e e 规范兼容,并部署到负责运行、管理的j 2 e e 服务器上。 3 ,3 2j 2 e e 客户端 j 2 e e 客户端可以是网络浏览器也可以是桌面应用程序。 3 3 2 1 网络浏览器 网络客户程序由两部分组成:动态网页包含各种标记语言( h t m l ,x m l 等) ,它由运行于网络层的网络组件产生,浏览器从服务器接受信息并反馈到 页面上。 网络客户端又称为瘦客户,瘦客户端通常不运行像查询数据库,执行复 杂的业务规则,或连到合法的应用程序。当你使用瘦客户时,重量级的操作 基于j 2 e e 工作流管理系统的设计与实现 都载入到运行于j 2 e e 服务器上的企业b e a n ,它能够均衡安全,速度,服务 及可靠性。 3 3 2 2 小程序 网页可以包含小程序,小程序是一个较小的用j a v a 语言编写的程序,并 能通过安装在浏览器上的虚拟机运行。 网络组件首选a p i ,它可以创建网络客户层,因为在客户系统中它不需 要插件或安全策略文件,另外,网络组件能提供更干净的、模块化的应用设 计,因为它将程序设计与页面设计相分离,这样,页面设计人员可以进行页 面设计而不需要懂j a v a 程序设计。 3 3 2 3 应用客户端 j 2 e e 应用客户端运行在客户上,它为用户处理任务提供了比标记语言丰 富的接口。典型的是它拥有通过s w i n g & a w ta p i 建立的图形用户界面,基 于命令行的接口也是可以的。 应用客户端可以直接调用业务逻辑层的企业b e a n 。 3 3 2 4j a v a b e a n 组件结构 服务端及客户端也可以包含基于j a v a b e a n 组件来管理客户端与运行于 服务端的组件间的数据流或服务端组件与数据库间的数据流。j 2 e e 规范没有 认为j a v a b e a n 为j 2 e e 组件。 j a v a b e a n 组件有实例变量和g e t ,s e t 方法来设置、获取变量值。 3 3 2 5 网络组件 j 2 e e 网络组件可以是s e r v l e t 或j s p 。s e r v l e t 是j a v a 类,它能动态处理 请求及响应。j s p 页面是基于文档的,能像s e r v l e t 一样执行的能允许更多的 静态页面内容。 静态h t m l 页面及a p p l e t s 域网络组件绑在一起,但j 2 e e 规范没有认为 这些为网络组件。 网络层可以包含j a v a b e a n 组件,来管理用户输入、发送输入到逻辑层 的e j b 加以处理。 3 3 2 6 业务逻辑组件 业务逻辑代码是解决、达到特定业务领域的需求,如银行、零售、金融, 又称为e j b 处理的业务逻辑层。 1 4 基于j 2 e e 工作流管理系统的设计与实现 企业b e a n 可以重新从存储器找回数据,如果必要并处理它,然后发送 到客户程序。 总共有三种e j b :会

温馨提示

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

评论

0/150

提交评论