(计算机应用技术专业论文)基于jbpm引擎的工作流构件的设计与应用.pdf_第1页
(计算机应用技术专业论文)基于jbpm引擎的工作流构件的设计与应用.pdf_第2页
(计算机应用技术专业论文)基于jbpm引擎的工作流构件的设计与应用.pdf_第3页
(计算机应用技术专业论文)基于jbpm引擎的工作流构件的设计与应用.pdf_第4页
(计算机应用技术专业论文)基于jbpm引擎的工作流构件的设计与应用.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 信息技术( i t ) 是当今世界上最先进最活跃的生产力之一,它已经成为当代 社会经济的基础。协同办公系统是政府部门实施信息化建设的非常莺要的系统。 由于政府部门管理模式和业务流程的多样性、复杂性和时变性,它必须具有适 应环境动态多变的能力,即柔性。 本文针对政府部门个性化需求与协同办公系统规模化生产之间存在的矛 盾,研究协同办公系统的柔性化方法,而要实现协同办公系统的柔性,关键是 要寻求实现业务流程的柔性化方法。工作流技术能够在一定程度上满足这方面 的需求。 本文主要工作内容: 1 、利用先进的流程管理技术和软件技术,扩展设计和实现了基于j b p m 引 擎的柔性工作流构件e j b p m 。e j b p m 的主要功能包括:提供了业务流程建模工 具,满足可视化定制各种复杂业务流程的要求;支持业务流程串并行、分支聚 合、父子流程、会签、回退等复杂路由流转功能;提供了流程管理监控功能; 扩展了丰富的集成、应用开发接口。 2 、基于e j p b m 的政府协同办公系统的设计与实现。根据政府部门办公的实 际情况,提出了一种基于j 2 e e 平台新框架的政府协同办公系统设计方案,将工 作流构件e j p b m 、表单系统、基于r b a c ( 基于角色的访问控制) 的用户管理 系统、业务系统、邮件系统等构件集成应用于其中。系统采用构件化和面向流 程的设计思想,对系统内部进行更科学的划分,将系统划分为多个构件,构件 之间通过基于h t t p 的w e b s e r v i c e 总线协议进行通讯。系统将流程的控制逻辑 与业务处理逻辑进行分离,在业务流程的柔性、数据结构与数据表现的柔性、 构件集成方式等方面体现了管理信息系统的柔性,满足了政府部门管理模式和 业务流程的多样性、复杂性和时变性要求。 关键词:信息技术;构件;工作流;协同办公系统:柔性;设计方案 a b s t r a c t a b s t r a c t i n f o r m a t i o nt e c h n o l o g yi so n eo ft h ew o r l d sm o s ta d v a n c e da n dm o s ta c t i v e p r o d u c t i v ef o r c e s ,i t h a sb e c o m et h e c o n t e m p o r a r y s o c i o e c o n o m i cb a s i s c o o r d i n a t i o no f f i c es y s t e mi sav e r yi m p o r t a n ts y s t e mf o rt h eg o v e r n m e n tt o i m p l e m e n ti n f o r m a t i o nt e c h n o l o g y a st h eb u s i n e s sp r o c e s s e s a n dm a n a g e m e n t m o d e l s d i v e r s i t y ,c o m p l e x i t ya n dt i m e v a r i a n to ft h eg o v e r n m e n t ,i tm u s th a v et h e a b i l i t yt oa d a p tt oc h a n g i n ge n v i r o n m e n t a ld y n a m i c s i nt h i s p a p e r , a s t h e c o n t r a d i c t i o nb e t w e e nt h e l a r g e s c a l ep r o d u c t i o n o f c o o r d i n a t i o no f f i c es y s t e ma n di n d i v i d u a ln e e d so ft h eg o v e r n m e n t ,i ta i m st o r e s e a r c hc o o r d i n a t i o no f f i c es y s t e mf l e x i b l ew a y sa n dm e a n s t oa c h i e v et h ef l e x i b l e o fc o o r d i n a t i o no f f i c es y s t e m ,t h ek e yi st ob ea b l et oa c h i e v e :t h eb u s i n e s sp r o c e s s e s c a nb ec u s t o m i z e da n db u s i n e s sf o r m sc a nb ec u s t o m i z e d t h em a i n w o r ko ft h i sp a p e ra r e : 1 ,b yu s i n gt h ea d v a n c e dp r o c e s sm a n a g e m e n tt e c h n o l o g i e s a n ds o f t w a r e t e c h n o l o g i e s ,b a s e do nt h ej b p me n g i n e ,d e s i g na n di m p l e m e n t t h ef l e x i b l ew o r k f l o w c o m p o n e n t ,n a m e de j b p m t h ee j b p mc a nc u s t o m i zb u s i n e s sp r o c e s s e s ,i t s m a i n f u n c t i o n si n c l u d e :p r o v i d e st h ev i s u a l i z a t i o nb u s i n e s sp r o c e s sm o d e l i n gt o o l sa n d m e e tt h ec o m p l e xb u s i n e s sp r o c e s s e s r e q u i r e m e n t s ;s u p p o r tb u s i n e s sp r o c e s s e s c o m p l e xr o u t i n gf u n c t i o n s ,s u c ha s ,s e r i a la n dp a r a l l e l ,b r a n c ha n dp o l y m e r i z a t i o n , f a t h e ra n ds o n p r o c e s s ,c o u n t e r s i g n a t u r e ,r o l l b a c k ,e t c ;p r o v i d e sp r o c e s s e s m a n a g e m e n ta n dm o n i t o r i n gf u n c t i o n ;e x t e n d s t h er i c hi n t e g r a t i o n ,a p p l i c a t i o n d e v e l o p m e n ti n t e r f a c e 2 ,d e s i g na n di m p l e m e n t a t i o no f t h ec o l l a b o r a t i o no f f i c e s y s t e m o ft h e g o v e r n m e n tb a s e do nt h ee j b p m i nt h i sp a p e r ,a c c o r d i n gt ot h ea c t u a ls i t u a t i o no f t h eg o v e r n m e n t ,p r o p o s e san e wd e s i g nb a s e do nt h en e wj 2 e ep l a t f o r mf r a m e w o r k f o rt h ec o l l a b o r a t i o no f f i c es y s t e mo ft h eg o v e r n m e n t ,i n c l u d i n gt h ei n t e g r a t i o n a p p l i c a t i o no ft h ee j b p m ,t h ef o r ms y s t e m ,t h eu s e rm a n a g e m e n ts y s t e mb a s e do n r a b c ( b a s e do nt h er o l e b a s e da c c e s sc o n t r 0 1 ) ,b u s i n e s ss y s t e m ,e - m a i ls y s t e m t h e d e s i g na d o p t st h ec o m p o n e n t - b a s e d sa n dp r o c e s s - o r i e n t e d sd e s i g ni d e a ,a n dc o n d u c t s l i m o r es c l 朗t i f i cd i v i 8 1 0 nw i t h i nt h e s y s t e m a c c o r d i n gt ot h ed e s i g n ,t h es y s t e mi s d l v i d e di n t os e v e r a lc o m p o n e n t s ,a n d h t t p w e b s e r v i c e b a s e db u sp r o t o c o l f o r c o n u n u l l l c a t l o nb e 眦e nt h e m t h ed e s i g n s e p a r a t e st h ec o n t r o ll o g i ca n db u s i n e s s p r o c e s s i n gl o g i co ft h ep r o c e s s e s ;r e f l e c t s t h e m a n a g e m e n ti l l f 0 玎n a t i o ns v s t e m :懿i b i l i t y mt h eb u 8 i h e s s p r o c e s sf l e x i b i l i t y , d a t as t m c 眦a n d 纰p c 盯0 咖a n c e 1 攀蜕1 i 射n t e g 舭da p p r o a c ho fc o m p o n e n t s ;m e e t st h ed i v e r s i t y , c o m p l e x i t ya n d n m e 。v a n a n tr e q u e s t so ft h em a n a g e m e n t a n db u s i n e s sp r o c e s s e so ft h eg o v e m m e n t k e y w b r d s :i t ;c 。m p o n e n t ;w 。r k f l o w ;c 。l l a b o r a t i v e 。f f i c es y s t e m ;f l e x i b l e ;d e s i g n i i i 学位论文独创性声明 学位论文独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得南昌大学或其他教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名( 手写) :劾雕签字嗍卅年i z 月歹口日 学位论文版权使用授权书 本学位论文作者完全了解南昌大堂有关保留、使用学位论文的规定,有权 保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借 阅。本人授权南昌大学可以将学位论文的全部或部分内容编入有关数据库进行 检索,可以采用影印、缩印或扫描等复制手段保存、汇编本学位论文。同时授 权中国科学技术信息研究所将本学位论文收录到中国学位论文全文数据库, 并通过网络向社会公众提供信息服务。 ( 保密的学位论文在解密后适用本授权书) 学位敝储签名c 瑚:装力 _ j 复聊签名c 矧:抛移 签字日期:呻年12 月弓、日 签字日期:莎7 年72 ,月罗。日 第1 章绪论 第1 章绪论 1 1 引言 自二十世纪九十年代以来,工作流技术受到了软件界的极大关注,并得到 迅速发展和广泛应用。工作流是用来实现计算机辅助协同工作的工具,能实现 工作业务流程的全部或部分自动执行和管理功能。便于工作的规范化、人员和 资源的合理配置、工作流程的监督和审查并能提高工作效率。为了满足各种不 同应用领域不断变化的应用需求,根据特定的规范,实现可定制的柔性工作流 系统成为当前研究的热点课题。 随着软件技术的发展,软件开发技术经历了基于算法的程序设计、结构化 的软件开发、面向对象的软件开发和基于构件的软件开发等几个技术阶段。软 件开发技术的发展,促进了软件工程方法的产生和发展,依次出现了传统的软 件工程、面向对象的软件工程和基于构件的软件工程等软件工程方法。自然构 件和基于构件的软件开发技术成为当前软件工程领域中研究的重点。基于构件 的软件开发方法,使得大中型软件系统的开发、变更和维护变得更加简易,可 以极大提高软件的复用度,促使系统进一步解耦,从而降低系统复杂指数、提 高系统开发效率和质量、降低系统开发和维护成本。本文将从轻量、简单易用、 柔性等方面探索工作流构件的设计与实现。 工作流技术在办公自动化领域已应用得比较成熟,目前把可定制的柔性工 作流构件、表单系统、用户管理系统和业务系统等集成应用于协同办公系统成 为必然趋势。然而,可定制的柔性工作流构件的研究和实现,尤其是实现方面 还有很多工作要做,与其它构件和系统的集成应用也还有很多因素要考虑。 管理信息系统的开发经历了传统的构建方式和平台化方式,目前向柔性化 方向发展,以更好的解决管理软件规模化生产与企业个性化、时变性需求之间 的矛盾,同时更好的支持企业业务流程重组问题。由于企业管理模式和业务流 程的复杂性、多样性和时变性,要开发一个能够满足所有行业的所有企业的个 性化需求的通用管理信息系统是不现实的,而只能针对一个行业或一类企业来 研究解决问题的方法。本文将针对政府协同办公系统的设计和实现进行有益的 探索。 第l 章绪论 1 2 工作流系统的研究现状和发展趋势 1 、工作流系统的国内外的研究现状 工作流起源:生产流水线、办公自动化、并行工程和敏捷制造领域。 工作流是一种反映业务流程的计算机化的模型,是能够实现经营过程集成 的业务模型,也是能够实现经营过程自动化的业务模型,它可由工作流管理系 统执行【l 】。工作流也是一种经营过程,这种经营过程能够完全或者部分得到自 动执行。它根据系列化规则,在不同的执行者之间传递文档消息或执行工作任 务。 企j 在进行业务处理和政府在进行公文审批时,都是以流程形式进行的。 在信息化的过程中,企业、政府将这些业务处理、公文审批的过程进行信息化。 而在早期,一般是通过固化代码,来执行这些业务,流转这些公文。但随着不 断出现的复杂业务,不断变化的多样性公文,更进一步是不断变更的需求,固 化代码形式就显然己无法应对,于是工作流管理系统应时诞生了,不断地促进 了工作流管理系统的发展和兴旺。 工作流的目的是:将工作或业务分解,按照定制的规则和过程来执行并实 施监控,从面提高工作效率,极大降低生产或工作成本。 工作流技术的出现,对企、i k 经营和管理都产生了非常重要的影响,表现在: ( 1 ) 能够改变企业业务过程运作的繁琐性和低效率,满足业务过程的可视 化、可定制化建模,以_ 及业务过程的自动化执行和业务的可重组性【l 】; ( 2 ) 能够改变企业间的交流方式,改变企业问的合作形式,使不同企业跨 越空间障碍,同时跨越时间障碍,在网络环境进行无障碍化、随时随地的交流 与合作; ( 3 ) 能够将企业里的信息的处理方式进行改变,使得在计算机辅助下,企 业的信息处理可以是松散耦合的,可以是异步的,甚至是无纸化的i 2 。 ( 4 ) 能够改变不同企业间的不同应用中的工作方式,这种工作方式以工作 流为统一架构,把不同功能的应用集成于其中【3 1 ,从而更有效地协同工作,最终 实现企业的任务和预期目标。 工作流技术在为企业提供服务的发展中,经历过几次非常重要的变革 4 1 : ( 1 ) 诞生到形成:初期以独立的、分散的编码方式进行,面向特定领域的 独立应用系统;形成后向规模化、复杂化的集成软件系统发展,面向协作任务 系统的实现,形成统一应用系统。 第1 章绪论 ( 2 ) 形成到发展:形成时间,采用面向数据的驱动方式,发展阶段转化为 面向过程的驱动方式,后来标准化工作流参考模型【5 】由工作流管理联盟组织提 出,至此工作流系统发展到把过程执行与过程定义进行分离的模式。 目前,工作流技术正处在变革时期,变革方向是从刚性向柔性的转变。变 革的直接原因是:企业发展中新的需求的不断出现,以及需求的不断变更。例 如,有些业务流程过程不是在初期创建时就进行非常具体的定义,而是等到业 务流程在运行过程中,在用户参与下最终来完成定义;也可能是在人为干预下 选择要流转的方向或路径;还可能是根据各种内部和外部因素来变更业务流程 本身,而且这种更改应该要在执行中的业务流程实例中得到及时反映。 以上这些体现了对工作流技术柔性的需求,而与之相对应,以前的需求及 工作流技术显示很刚性,而这种刚性满足不了现如今对柔性需求【6 】:在严格固定 的过程描述面前,用户无法选择自己的操作方式,他们需求的是更适合的操作 方式。刚性系统也缺乏一些应有的处理能力,例如对异常的处理能力和必要时 进行变更的能力。同时,刚性系统也缺少一些应有的处理措施,例如对业务流 程执行过程中的人工干预的处理措施,以及在执行过程中出现异常时可以采取 的补救措施等。很显然,刚性工作流系统都达不到这些需求,而只能由支持柔 性的工作流系统才能提供和实现这些需求,最终满足和实现企业发展中新的需 求的不断出现的需求,以及需求的不断变更的需求,包括在灵活性、多样性和 动态性等柔性方面的需求。 为了解决工作流在满足和实现企业对柔性方面的需求,上世纪九十年代中 期以来,信息技术业界进行了很多不断的调研、研究、探索和实践工作,目的 就是实现和不断提高工作流系统的柔性。 工作流其实质就是它能够进行自动化执行【5 j ,要求在计算机辅助支持下,对 业务工作流程的自动执行。然而,业务工作流程可能其本身会经常变化,其执 行也并非是完全重复的不变的执行。导致这些变化的原因,可能是环境因素的 影响,例如商业环境因素、法律环境因素和科技环境因素等的变化;也可能是 工作业务流程本身的因素,例如工作业务流程需求中的不正常情况,或者工作 业务流程在执行中的不正常情况。这些原因而且不仅限于这些原因都可能造成 业务过程的执行偏离于甚至背离原定义的过程【7 】,这种情况我们把它称之为工作 流变更或异常。那么我们认为的工作流系统的柔性,最起码要能够具备灵活和 动态地处理工作j 也务流程变更和异常的能力。 第1 章绪论 概括地认为能够支持工作业务流程变更和异常处理的工作流系统即可认为 是具有柔性的工作流系统。在研究中,有3 个特性与之相对应,即灵活性 ( f l e x i b i l i t y ) 、自适应性( a d a p t a b i l i t y ) 和动态性( d y n a m i s m ) 。一般地,可以不严格 地交替使用它们,也可以将它们的含义进行严谨地加以鉴别或是区分【引。 ( 1 ) 灵活性可以认为是在工作流系统里业务流程执行过程中可以进行过程 重定义或更精确定义的能力。在执行前进行业务流程的创建时,有的部分不希 望精确说明定义的,也有的部分是不能精确说明定义的,这些不希望或是不能 精确说明定义的部分将根据运行时实际情况的差异被实例化为不同的实例。由 此而产生的的问题是:采用什么样的不完全定义或说明的形式,使得能够在过 程定义时就涵盖尽可能多的情况甚至是所有可能的情况? 这成为了研究和探索 工作流系统柔性的重点之一。再进一步是工作流程定义变更可能引起的问题。 当工作流程的定义发生了变更,过程定义的单个实例可能会受到影响,甚至有 的时候不仅仅是这样,而是对整个过程定义产生影响。例如,对于执行周期较 短的过程定义来说,当工作流程定义发生了变更,要激活新的流程实例的话, 不是马上去激活,而是先等待,直到先前以原流程定义激活的正在执行中所有 实例都执行完成了以后再激活新的流程实例。相对而言,对于执行周期较长的 过程定义来说,如果也按执行周期较短的过程定义的相同处理方式,这样做就 会导致一些不希望发生的后果,即很有可能在较长的一段时间内,同时存在许 多的同一流程的实例,但可能它们是以同一工作流程定义的不同版本被激活的。 这可能是不期望的结果,为流程实例管理带来不利,要管理好这些实例也是非 常困难的。这其实是工作流系统的动态性问题。如何解决这个问题呢? 办法不 是没有,只是比较麻烦,目前也还有较大困难。例如理论上可以这样来做:可 以针对先前那些按照工作流程的旧定义激活的流程实例进行调整,调整为与新 过程定义及相关数据和状态相一致而继续执行,问题就可望得到解决了。 ( 2 ) 动态性,如前所述,工作流系统支持工作流过程定义的变更,不仅如 此,在变更的时候,对于那些在变更前已存在的但仍在执行的流程实例,可以 根据相应的工作流变更及相关规则和措施将它们向新定义进行演进且可以继续 正常执行完成,即按照旧过程定义激活的流程实例调整为与新定义相一致而继 续正常执行。 。 ( 3 ) 自适应性是指工作流系统对流程执行过程中可能发生的异常情况做出 反应以及进行处理的能力。 第1 章绪论 2 、工作流系统发展趋势 如前所述,工作流系统正在经历着由刚性向柔性变革时期,理论上提出了 许多的方法,但是还存在着许多问题,尤其是在柔性技术的实现上,需要进一 步进行探索、研究和改进,显然工作流系统在理论和实现中的柔性化问题是近 年来,同时也会是将来较长一段时间内的热点问题。目前工作流系统存的有待 进一步进行探索、研究和改进主要问题有: 第一,过程的正确性验证 工作流过程尤其是柔性工作过程的正确性是非常重要的条件,它是关系到 系统能否成功运行以及运行维护效率等方面的问题。文献【9 】从工作流系统的柔性 角度,给出了质量评价框架的三个重要方面,其中正确性就是其中之一,另外 两个方面是工作流系统的描述能力和可理解性。工作流建模过程复杂,也容易 出错,而且考虑到工作流系统的柔性,对工作流过程进行再设计、变更或动态 调整时,其复杂性可能会进一步增加,也可能出现更多的错误,具体表现在【l o - 1 4 】: 工作过程变更本身的错误,变更操作过程中引起的错误,先前已经激活的正在 执行中的实例可能对进行动态调整后的工作过程不适合,即使适合那么实例的 动态调整过程都还可能引起出错。目前还比较欠缺相应的正确性验证和保证机 制。因此,目前或将来一段时期还要做大量的的工作,主要集中在对验证体系 研究,对验证目标完备集合的探讨,以及发展实用有效的验证方法等。 第二,柔性工作流系统的产品化 目前对工作流柔性技术的理论研究成果并没有完全成功地应用到产品实现 中去,还没有将柔性工作流技术的优势挖掘出来【l5 1 。可喜的是国内、国外已经 进行了一些工作流柔性技术研究,但是在系统实现和产品化方面还非常有限, 有实现的产品在应用领域也是比较狭窄、单一的,在统一应用集成方面仍然缺 乏实用、有效的方法。 第三,工作流引擎的轻量化 工作流系统是非常复杂的,加上对柔性需求的处理和控制,工作流系统将 进步复杂化。如果再考虑到工作流系统要能够达到异构性和规模性等方面的 要求,工作流系统将变得更加复杂。因此,有必要通过一些原则和策略对工作 流系统进行简化,这里与之相适应的概念是轻量。可以采取的原则和策略是: 功能够用而灵活、低成本,使工作流引擎小型化,降低工作流引擎的控制负载, 达到引擎控制的轻量和建模工作的轻量。这些方面体现了工作流的柔性,当然 第l 章绪论 这些都有很待进一步的研究和发展。 第四,工作流技术和网格技术的综合研究和实践 工作流技术的发展过程中,受到了网格技术的很大影响。同时,两者是相 辅相成的,工作流技术可以用来控制和管理网格中的很多服务。例如工作流的 柔性技术能够满足和实现网格环境下跨域和动态的特征。既可利用传统工作流 发展相对成熟的技术,例如在工作流定义、执行和调度等,也要发挥工作流的 柔性特点,不过有待进一步深化研究和实践。 以上讨论得出,工作流技术有待进一步研究的有较大研究空间和重要实用 价值的几个方向【1 5 】: 过程的正确性验证; ( d 柔性工作流系统的产品化; ( 爹工作流引擎的轻量化; ( d 工作流技术和网格技术的综合研究和实践。 1 3 论文研究的目的及意义 1 、工作流技术和构件化软件复用技术的研究和实践:实用、灵活、轻量、 可定制的柔性工作流构件e j b p m 的设计与实现。 2 、以政府协同办公系统为例对管理信息系统柔性化技术进行探索与应用实 践:工作流构件e j b p m 与表单系统、用户管理系统和业务应用系统等构件在政 府协同办公系统中的集成应用。 总的来说,本文主要面向软件设计和实现,对于工作流柔性化技术、构件 化软件复用技术和管理信息系统柔性化技术的研究、实现和应用,具有较大的 实践意义与实用价值。 1 4 论文的主要工作内容 l 、基于j b p m 引擎的工作流构件e j b p m 的设计与实现 ( 1 ) 可视化流程建模工具的设计与实现。其目标是用户通过可视化流程建 模工具以鼠标拖放、配置等方式即可设计包括串行、并行、条件流转、分支、 聚合、父子流程、会签等在内的各种复杂业务流程的模型;并可将模型部署成 流程定义,实现持久化。 第1 章绪论 ( 2 ) 基于j b p m 引擎的功能扩展。在j b p m 引擎基础上,实现包括回退、 会签、父子流程、任务指派等在内的流程的各种复杂路由流转功能,以及权限 控制功能、流程管理监控功能。 ( 3 ) 工作流构件e j b p m 集成应用开发接口的设计与实现。设计和实现工作 流构件e j b p m 的目的是为了应用,在具体应用中,涉及到与表单系统、用户管 理系统、业务应用系统等子系统的集成,为此工作流构件e j b p m 必须提供相关 接口。 2 、基于e j b p m 的政府协同办公系统中的设计与实现 ( 1 ) 政府协同办公系统的架构、设计方案的研究与探索。 ( 2 ) 工作流构件e j b p m 与表单系统、用户管理系统、业务应用系统等构件 在政府协同办公系统中的集成应用。 1 5 本章小结 本章首先提出了研究的问题。接着工作流系统的研究现状和发展趋势进行 分析,指出工作流系统中的柔性研究是近年来的热点问题,但仍然存在着许多 问题需要迸一步进行研究、发展和改进,得出了有较大研究空间和重要实用价 值的有待进一步研究的方向。最后,阐述了本文研究的目的、意义及研究的主 要内容。 第2 章工作流技术概述 第2 章工作流技术概述 2 1 工作流技术的基础 1 、工作流管理联盟( w f m c ) 工作流管理联盟于1 9 9 3 年成立,它是一个国际标准组织,由多家公司联合 成立,其目标是为提高不同工作流产品之间的连通性和协同工作能力,制定工 作流技术标准。通过使用标准,可以使不同的产品之间协同工作,也可以改善 工作流产品与其他i t 服务( 电子邮件、文档管理) 之问的集成。 工作流管理联盟由三个委员会组成,分别是技术委员会、对外关系委员会 和筹划指导委员会,目前有2 7 0 多个成员组织,遍布世界各地。经过该组织的 不懈努力,工作流标准的制定和推广工作进展得非常迅速。目前,多数工作流 产品的生产厂商已经在产品中遵循了全部或部分标准。 2 、工作流管理系统( w f m s ) 工作流管理系统负责工作流程的定义、部署和管理,能够按照定义好的工 作流逻辑进行工作流实例的创建、执行和监控等。工作流管理系统不是企业的 业务系统,而是为企! i 卫的业务系统的运行提供了一个软件的支撑环境。 工作流管理系统通过对业务、公文流转进行分析以及抽象,将不变和变化 的部分进行划分,用户可轻松的通过可视化的工具对事项的流程、流程环节涉 及的人员或角色、流程环节的表单、流程环节的操作进行修改,从而达到了应 对不断变化的需求的目的。同时工作流管理系统提供的流程监控、查询统计模 块更是极大程度的为用户优化流程提供支持,以提高企业、政府的工作效率。 3 、工作流管理系统参考模型 工作流管理联盟( w 肌c ) ,作为工作流技术标准化的工业组织,提出的工 作流管理系统参考模型,为各家工作流软件厂商的系统设计规划提供了最权威 的参考乃至标准。工作流管理系统参考模型如图2 1 所示: 第2 章工作流技术概述 固团 图2 1工作流管理联盟工作流管理系统参考模型 ( 一) 工作流引擎( w o r k f l o we n g i n e ( s ) ) 工作流引擎就是整个工作流系统的q 心脏”,因为所有的工作流系统都要使用 工作流引擎来: ( 1 ) 为运行中的流程实例解释流程定义,这些定义一般都是由接口1 ( i n t e r f a c e1 ) 获得的。 ( 2 ) 组织调度流程的实例,推进工作流程的前进,这包括条件流转、分支 聚合、父子流程等。 ( 3 ) 处理工作任务的分配、接受、提交等行为。为无论是人工干预或自动 执行的任务,提供计算的支持。 ( 4 ) 管理调用其他的4 个接口,这可能包括解释工作流程定义的一些脚本。 工作流引擎做的工作就像心脏把血液不断的送到我们身体的各个部分一 样。关于工作流引擎是如何架构和设计的相当复杂。 ( 二) 五大接口 接口1 ( i n t e r f a c e1 ) 流程定义工具( p r o c e s sd e f i n i t i o nt o o l s ) 使用它来定义业务流程,所谓的业务流程定义一般来说就是一段x m l ,它 遵循x p d l ( x m lp r o c e s sd e f i n el a n g u a g e ) 标准或b p e l ( b u s i n e s sp r o c e s s e x e c u t i o nl a n g u a g e ) 标准或厂商自定义的标准等等。 事实上可以把它理解为一个产生x m l 的图形化建模工具。这种图形化建模 第2 章工作流技术概述 工具各个厂商的技术实现可谓五花八门,国内的一些厂商,例如西安协同采用 的是j a v as w i n g ,j o i n w o r k 使用的是f l a s h :国际上的一些开源项目,如j b p m 使 用的是基于e c l i p s e 的插件,s h a r kw o r k f l o w 使用的则是j a w e ( 一种基于j a v a 技术实现的x p d l 建模工具) 。而我要做的工作流系统将使用的是j a v a s c r i p t 。 当然,它们的目的都是产生x m l 形式的流程定义。 用户用图形化的建模工具通过拖放等方式来绘制流程( 系统会自动产生对 应的x m l 格式的流程定义文件) ,并通过对于环节的配置来实现环节操作、环 节表单、环节参与者的配置。 接口2 ( i n t e r f a c e2 ) 工作流客户端应用( w o r k f l o wc l i e n ta p p l i c a t i o n s ) 当业务流程设计好并运行起来,那么人如何与工作流引擎交互呢? 工作流 引擎就通过接口2 提供各种各样的工作任务列表、工作表单、流程列表以及一 些查询功能。通过这个接口,就可以办理任务、填写表单从而与工作流引 擎沟通。 接口3 ( i n t e r f a c e3 ) 应用程序执行服务( i n v o k e da p p l i c a t i o n s ) 工作流引擎通过这个接口去执行一些外部的或面向专f - j l 积, 能领域的应用程 序,例如财务系统、报表系统等,让这些第三方系统参与进来,从而完成定义 的工作流程。 接口2 和接口3 的界定很模糊。荷兰工作流大师a a l s t 在其著作中写道“建 议每个应用程序都由此应用程序执行服务打开“,意即接口2 和接口3 可合并 为一个接口。 接口4 ( i n t e r f a c e4 ) 与其它工作流系统的定制交互服务( o t h e rw o r k f l o w e n a c t m e n ts e r v i c e ( s ) ) 接口4 用来处理若干自治工作流系统之间的工作交换,例如案例转移、工 作项外包等。事实上,w f m c 组织的初衷是想通过这个接口来连接各个不同的 工作流引擎系统,使它们在一个统一的标准下工作和交流。到目前为止,接口 4 基本不被支持,也就是说,各大厂商的工作流产品并不能用同一种语言对话。 接口5 ( i n t e r f a c e5 ) 管理和监控工具( a d m i n i s t r a t i o n & m o n i t o r i n gt o o l s ) 最能体现工作流系统在管理上应用价值的就是这个部分。它主要被用来搜 集管理信息,这包括诸如工作流系统功能管理工具、流程实时监视和控制工具 以及工作效率分析和流程覆盖面分析等各种商业智能工具。这为提升企业的管 理能力、优化重组企业的业务流程、分析企业内部的工作效率瓶颈等提供了重 第2 章工作流技术概述 要的量化数据支持。这个接口提供的功能解放了企业领导和决策者们智力,而 这正是信息化的初衷,工作流的最终价值所在。 五大接口各自强调:接口1 ( 流程) 定义;接口2 强化工作列表和 应用程序集成;接口3 ( 外部应用程序的) 参与;接口卜( 不同工作流 系统间的) 连接;接口5 搜集管理信息。 2 2j b p m 工作流引擎介绍 l 、j b o s sj b p m 简介 j b o s s 是一个运行e j b 的j 2 e e 应用服务器,它是开放源代码的项目。j b o s s 项目最初是从一个e j b 容器发展起来的,经过多年的发展,它发展成为一个w e b 操作系统,该w e b 操作系统遵循最新的j 2 e e 规范,体现了j 2 e e 规范中最新的 技术。 j b p m ,全称是j a v ab u s i n e s sp r o c e s sm a n a g e m e n t ( 业务流程管理) ,是一种工 作流管理系统,基于j 2 e e ,且是轻量级的。它是可执行流程语言框架,覆盖了 多个领域,包括业务流程管理、工作流和服务协作等。j b p m 是公开源代码项目, 使用它要遵循a p a c h el i c e n s e ,包括了j a v aa p i 、工具和定义语言,可以充当 w e b 应用或者独立的j a v a 应用。j b o s sj b p m 相当于业务分析人员和开发人员之 间的中介,为他们提供了名为j p d l 的通用流程定义语言。j b p m 不仅灵活的, 而且是易扩展的。j b p m 于2 0 0 4 年下半年升级为2 0 版本,并在同一时间加入 了j b o s s ,从此成为了j b o s s 企业中间件平台的一个组成部分,它的名称也改成 j b o s si b p m 。随着j b p m 加入j b o s s 组织,j b p m 也将进入一个全新的发展时代, 它的前景是十分光明的。 2 、j b o s sj b p m 特点 j b o s sj b p m 为设计及开发工作流和业务流程管理系统提供了一个先进的平 台。由a p i 、特定领域的语言和图形建模工具组成的框架让开发人员和业务分析 人员能够使用通用平台进行沟通及操作。 j b p m 最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如 w f m c sx p d l ,b p m l ,e b x m l ,b p e l 4 w s 等,而是采用了它自己定义的j b o s s j b p mp r o c e s sd e f i n i t i o nl a n g u a g e ( j p d l ) 。j p d l 认为一个商务流程可以被看作 是一个u m l 状态图。j p d l 就是详细定义了这个状态图的每个部分,如起始、 第2 章工作流技术概述 结束状态,状态之间的转换等。 j b p m 的另一个特色是它使用h i b e r n a t e 来管理它的数据库。h i b e m a t e 是目 前j a v a 领域最好的一种数据持久层解决方案。通过h i b e r n a t e ,j b p m 将数据的 管理职能分离出去,自己专注于商务逻辑的处理。 总的来讲,j b p m 的特点: 没有采用w f m c 的规范( 尤其是业务定义部分) ; 强大的业务逻辑描述能力( j p d l 流程定义语言) ; 核心组件是流程处理引擎; 轻量级,c o f ee n g i n e 无须运行于j e e c o n t a i n e r ; 采用h i b e r n a t e 作为数据持久化的工具,兼容多种数据库: 简单易用、灵活、可扩展,同一需求有多种解决方案。 3 、j b p m 工作流的主要概念 ( 1 ) 流程定义( p r o c e s s d e f i n i t i o n ) :根据业务需求预先定义的业务过程逻辑, 它以一个流程图为基础。这个流程图由许多节点、转换和动作组成。每个节点 在这个流程图里都有着各自特殊的类型,这些不同的类型决定了节点在运行时 的不同行为。 ( 2 ) 流程实例( p r o c e s s i n s t a n c e ) :流程定义的一次执行,是业务过程逻辑的 实际流转过程。一个流程定义可以对应多个流程实例。 ( 3 ) 参与者( a c t o r ) :流程执行过程中任务的操作者,这里可能是人,也可 能是角色或是组织机构。 ( 4 ) 任务( t a s k ) :业务过程逻辑上呈现出来的待参与者进行处理的事务或元 素。 ( 5 ) 任务实例( t a s k i n s t a n c e ) :业务过程逻辑实际流转过程中生成的需要参 与者进行处理的实际环节或内容。 ( 6 ) 工作流引擎( e n g i n e ) :是工作流系统的核心组件,它对要负责生成和维 护流程运行过程中的各种实例及数据,以及监视和管理流程的运行。 ( 7 ) 工作列表:根据实际应用的需求,展示给参与者的任务实例列表,待 办任务列表为其最具代表性的例子。 4 、使用j b p m 开发工作流的一般流程 ( 1 ) j b p m 的运行需要数据库的支持,因此系统设计时要选定所用数据库。 只要是h i b e r n a t e 支持的数据库,j b p m 就支持。数据库的初始化可以由j b p m 第2 章工作流技术概述 自动完成,也可以通过a n tg e n e r a t e d d l 任务生成s q l 语句,在j b p m 外部自己 创建所需的表。 ( 2 ) 使用j p d l 定义工作流,生成p r o c e s s d e f i n i t i o n x r r d 文件。可以采用g u i 工具g p d l ,但目前只支持j b p m l 0 ,而且b u g 很多。x m l 的d t d 定义文件在 j b p m 下载包中。 ( 3 ) a mc r e a t e p o e 生成p d e 包的工作目录。将p r o c e s s d e f i n i t i o n x m l 文件和其 它需要的文件放在指定的目录下,使用a n t b u i l d p r e c e s s a r c h i v e s 生成p d e 包。p d e 包的格式采用j a r 。 ( 4 ) 更改p d e 工作目录s r c c o n f i g j b p m p r o p e r t i e s 的相关属性,主要是设定 相关的数据库连接信息。注意要将数据库的j d b c 驱动放在p d e 工作目录的l i b 目录下。 ( 5 ) a m d e p l o y p r o c e s s a r c h i v e s 将刚才生成的p d e 部署到数据库。实际上就 是向数据库插入一些相关数据。 ( 6 ) 利用j b p ma p i 函数开发相应的工作流程。 5 、j b p m 流程的一个基本的处理步骤 ( 1 ) 加载( 部署) 流程定义 加载( 部署) 流程定义是这样一个过程:通过j b p m 的d e s i g n e r 插件,或者 是用其他工具,创建出流程定义( p r o c e s s d e f i n i t i o n ) ,然后将其加载( 部署) 到 应用中。流程定义可以是s t r i n g ,可以是包文件,也可以是流数据。这个加载可 以是写入内存中,也可以是直接写入数据库。 ( 2 ) 启动流程 启动流程即调用创建流程实例的方法创建流程实例的过程。具

温馨提示

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

评论

0/150

提交评论