




已阅读5页,还剩53页未读, 继续免费阅读
(计算机应用技术专业论文)基于soa工作流引擎的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要曼曼曼曼曼曼曼曼曼曼曼皇曼曼曼曼曼皇曼曼皇曼皇曼曼曼皇曼曼皇曼鼍曼詈曼曼曼曼曼量! 曼曼曼詈曼曼葛蔓曼皇曼曼曼曼曼皇曼曼t i 曼曼曼曼鼍曼詈曼曼曼舅摘要随着企业高速发展的业务需求和快速转变的经营模式,对于软件的可扩展性和复用性提出了更高的要求。传统的架构模式已经无法满足这些要求,那么如何提供一个高速,灵活,跨平台的,可靠的架构模式呢? 此时,企业提出了以业务流程为核心管理系统,可以根据业务改变进行流程的重组,采用工作流技术实现了业务流程的自动化,规范化。工作流引擎是工作流管理系统的后台核心,主要负责流程运转,工作项处理,流程建模,流程监控等工作。但是,随着多系统集成模式发展,企业之间的系统异构平台的业务协作也逐渐频繁。对于当前自主研发的c a p i n f o 的工作流引擎存在封装颗粒度小,柔性弱,同时采用了r m i 远程调用方式,使得系统局限于j a v a平台。为了解决以上问题,本文提出了基于s o a 架构的工作流引擎。s o a 是一个组件化的分布式软件架构。具有松散耦合的特点,有利于系统之间的互操作和重用。基于这些特点,s o a 无疑推动了工作流协同技术可扩展性和灵活性等方面的提高。本文认为,将s o a 思想注入到工作流引擎中是提高现有工作流系统性能的一种最可行的技术途径。所以,首先本文对s o a 的基本概念以及它的实现技术进行概述。然后分析传统工作流技术和工作流管理系统体系结构。其次在深入分析了工作流系统的心脏工作流引擎后,针对首信工作流复用性差的特点,本文将基于s o a 的构件思想引入到工作流引擎中,将工作流引擎划分为多个独立构件。再次探索提出了使用服务封装工作流的元模型基础上,分别对组织模型和过程模型,数据模型进行形式化描述,并对原有的工作流引擎按颗粒度要求进行重新设计,达到工作流管理系统的松耦合,技术无关性,灵活的要求。关键词工作流引擎;s o a ;构件;服务a b s t r a c ta b s t r a c tw i t ht h er a p i dd e v e l o p m e n to fe n t e r p r i s eb u s i n e s sa n dr a p i d l yc h a n g i n go fb u s i n e s sm o d e l ,t h e r ei sah i g h e rd e m a n do nr e u s a b i l i t ya n ds c a l a b i l i t yo fs o f t w a r e t h et r a d i t i o n a ls t r u c t u r eh a sb e e nu n a b l et om e e tt h e s er e q u i r e m e n t s ,8 0h o wt op r o v i d eal l i g h - s p e e d ,f e x i b l e ,c r o s s p l a t f o r ma n dr e l i a b l es t r u c t u r em o d e l ? t h i st i m e ,e n t e r p r i s ep r o p o s e dt h a tt h eo p e r a t i o nf l o wi st h ec o r ef o rt h em a n a g m e n ts y s t e m ,w h i c hr e c o m b i n e dp r o c e s sw i t ht h eb u s i n e s sc h a n g e w o r k f l o wt e c h n o l o g yr e a l i z e sa u t o m a t i o na n ds t a n d a r d i z a t i o no fb u s i n e s sp r o c e s s e s w o r k f l o we n g i n ei sac o r eo ft h ew o r k f l o wm a n a g e m e n ts y s t e m ,w h i c hi sr e s p o n s i b l ef o rr u n n i n gp r o c e s s e s ,w o r ki t e mp r o c e s s i n g , p r o c e s sm o d e l i n g , p r o c e s sm o n i t o r i n ga n ds oo n h o w e v e r , w i t l lt h ed e v e l o p m e n to fm u l t i - m o d es y s t e m si n t e g r a t i o n , t h eb u s i n e s sc o l l a b o r a t i o nb e t w e e ne n t e r p r i s e sh e t e r o g e n e o u sb u s i n e s sc o l l a b o r a t i o np l a t f o r mi sg r a d u a l l yf r e q u e n t t h ec a p i n f ow o r k f l o we x i s tp r o b l e ms u c ha ss m a l lp a r t i c l es i z e ,w e a kf l e x i b l e ,a n di tu s e dr m it h a tm a k e st h es y s t e ml i m i t e dt oj a v ap l a t f o r m t os o l v et h i sp r o b l e m ,t h i sd i s s e r t a t i o np r o p o s e st h ew o r k f l o we n g i n eb a s e do ns o a s o ai sad i s t r i b u t e dc o m p o n e n t b a s e ds o f t w a r ea r c h i t e c t u r e ,w h i c hh a st h ec h a r a c t e r i s t i c so fl o o s e l yc o u p l e da n di sb e n e f i c i a lt oi n t e r o p e r a b i l i t yb e t w e e ns y s t e m sa n dr e u s e b a s e do nt h e s ec h a r a c t e r i s t i c s ,t h e r ei sn od o u b tt h a ts o ap r o m o t e dt h ei m p r o v e m e n to f w o r k f l o w ss c a l a b i l i t ya n df l e x i b i l i t y t h i sd i s s e r t a t i o nh o l d st h a tt h ei n t r o d u c t i o no fs o ai n t ot h ew o r k f l o we n g i n ei so n eo ft h em o s tf e a s i b l et e c h n i c a lw a yt oi m p r o v ep e r f o r m a n c eo fw o r k f l o ws y s t e m f i r s to fa l l ,t h i sd i s s e r t a t i o ns u m m a r i z e dt h eb a s i cc o n c e p t sa n di m p l e m e n t a t i o nt e c h n o l o g yo fs o a ,a n dt h e na n a l y z e dt h et r a d i t i o n a lw o r k f l o wt e c h n o l o g ya n dw o r k f l o wm a n a g e m e n ts y s t e ma r c h i t e c t u r e s e c o n d ,a f t e rd e e pa n a l y s i so ft h eh e a r to ft h ew o r k f l o ws y s t e m w o r k f l o we n g i n e ,a c c o r d i n gt ot h ep o o rr e u s a b i l i t yo fc a p i n f ow o r k f l o w t h i sd i s s e r t a t i o nu s e dc o m p o n e n tt e c h n o l o g yt op a c k a g ew o r k f l o we n g i n e ,w h i c hi sd i v i d e di n t oan u m b e ro fi n d e p e n d e i l tc o m p o n e n t s b a s e do nw o r k f l o ws e r v i c ee n c a p s u l a t i o n ,t h i sd i s s e r t a t i o ng i v e st h ef o r m a l i z a t i o nd e s c r i p t i o n so fo r g a n i z a t i o nm o d e la n dp r o c e s sm o d e l ,d a t am o d e l ,a n dr e d e s i g n e dw o r k f l o ws y s t e mb yp a r t i c l es i z er e q u i r e m e n t st oa c h i e v el o o s ec o u p l i n g , t e c h n o l o g yi n d e p e n d e n c ea n df l e x i b i l i t yo fw o r k f l o ws y s t e m k e yw o r d sw o r k f l o we n g i n e ;s o a ;c o m p o n e n t ;s e r v i c el i l独创性声明本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。签名:衅吼畔删关于论文使用授权的说明本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部分内容,可以采用影印、缩印或其他复签名:导师签名日期:第1 章绪论第1 章绪论1 1 本课题来源及意义1 1 1 本课题的课题来源工作流管理技术被称为下一代信息处理技术,它在各个行业的不同事务中的应用不断增多。工作流管理系统的主要特征是能自动控制人机参与的活动的流程,特别是那些和i t 应用程序及工具交互的流程。本课题是源于首都信息发展有限公司的“首信工作流引擎”产品。产品自开发成功以来,已逐步应用于多个电子政务应用系统的开发项目中,其核心技术得到了实际验证。但在具体电子政务应用系统开发中也暴露出一些不足,主要表现为:一方面,原有的工作流引擎复用性差,无法满足平台无关性的要求;另一方面原有的建模方式使得工作流模型中任务与任务之间,任务与组织结构之间,工作流中控制流与数据流之间相互紧密耦合n ,一旦将来某个部位或某个环节需要变动,都可能导致工作流系统出现偏差,无法达到要求,从而导致整个系统难以修改和难以扩展。为此,迫切需要进行“首信工作流引擎”产品的改进。s o a 技术作为目前流行的跨平台的新技术,不断得到完善与发展,拥有较好的发展前景。因此,把面向服务技术与传统的工作流技术相结合来开发面向服务的工作流管理系统,不仅增加了工作流管理系统自身的可伸缩性,而且能基于标准开放的集成企业应用。课题组在总结和分析原产品的基础上,以工作流管理联盟( w f m c ) 的参考模型和原有接口为基础,改进性能,把软件构件思想引入工作流系统的研究开发中,分析、设计并实现了基于构件技术的工作流引擎模型。其意义在于提高工作流软件的开发效率和开发质量,提高系统的可靠性、通用性,降低软件的开发费用和时间,避免开发过程中的重复劳动。1 1 2 本课题研究意义目前工作流系统的推出得到了越来越广泛的应用,同时得到了相当的成果。同时,工作流系统不断地采用越来越多的新技术,使得工作流系统更加的稳定、强大和更好的适用于复杂的商务逻辑。目前国内、外的软件开发商纷纷推出自己的工作流产品,例如:金蝶、用友、i b m 、m i c r o s o f t 和b e a 等,例如s h a r k 、o s w r o d ( f l o w 等。这些工作流都能很好的完成工作流联盟w f m c 提出的工作流规范,但是从实际意义上并没有达到人们所期望的水平。我们从两方面来看【z j :北京t 业大学t 学硕七学位论文从企业用户角度,主要表现在:工作流的运行必须要有底层的通讯基础结构的支持性能问题系统安全问题实现的复杂性不容易和其它系统很好的集成很难对已有的工作流产品重用从工作流系统的设计和开发人员角度,主要表现在:标准化程度差很难对已有的工作流系统进行二次开发,可扩张性比较差对于不同的系统很难重用同一个工作流产品从上述两方面的阐述,针对以上的不足,本文提出了基于s o a 的工作流引擎,它的设计实现主要完善了以上的一些缺点,主要表现在:可以改善工作流的可重用性,缩短软件开发周期,减少开发成本。采用标准化的服务构件模型,提高系统的松耦合性。支持不同平台实现的业务模块。开发人员可以很容易的进行二次开发,调试。1 2 国内外研究进展1 2 1 工作流技术的国内外发展现状目前,工作流技术的研究和应用在我国尚处于起步阶段,虽然有不少研究人员从不同的角度开展了工作流管理及其相关技术的研究,但是,有关工作流管理技术研究和应用中的许多关键技术问题还处在探索阶段。近年来,工作流管理方面的学术研究十分活跃,东北大学、浙江大学、清华大学、国防科技大学、上海交通大学等高校都进行了一定的研究工作。随着工作流技术日益得到重视,工作流技术的研究正在向更深的层次进行。主要表现在【3 叫:1 ) 过程理论和过程建模的研究。寻找更为灵活的过程模型,抽象出更为简单工作流系统。2 ) 面向对象的w f m s 。面向对象( o o ) 的思想反映了人类思维的一般特征( 从特殊到一般及从一般到特殊) 。进入9 0 年代,基于这一思想而发展起来的各种技术,如o o a ,o o d ,o o p 等在计算机领域得到了广泛的应用。随着w f m s 研究的不断深入,o o 思想也被引入进来,逐渐形成了面向对象的w f m s ( o o w f m s ) 。关于w f m s 的研究有两个层面。其一是指w f m s 本身的实现使用了0 0 的方法,即将w f m s 系第l 章绪论曼曼曼曼曼曼曼曼曼曼! 曼曼皇曼曼曼! 量曼曼曼皇曼鼍曼曼皇曼曼曼曼曼曼曼曼曼曼皇曼皇曼! 曼曼量量曼曼皇i i imi 曼曼曼皇统中的各种元素以对象的形式加以描述,并在某种环境下加以实现;w f m s 研究的另一个方面是关于面向对象的过程模型,即使用面向对象的方法来完成业务过程的分析建模,并得到相应的对象表示。3 ) 智能化的w f m s 。人工智能( a i ) 所使用的经常是启发式或扩张性的方法。这种方法使得系统中的信息能够随人机交互过程的进行而动态增长( 学习过程) ,而不是在一开始就将系统中所有的信息都定义好。考虑到用户的工作过程实际上是业务过程的具体体现,因此可能通过实例学习的方法完成业务过程的自动建模。这要求w f m s 系统本身具有学习的功能,能够从各用户的实际工作中( 如开始对某些数据的处理,指定将处理结果传递给另外的用户继续处理,如此直至最后一个用户指示此过程的完成) 提取出各种参数而得到相应的过程定义。4 ) 分布式的w f m s 。分布式数据管理是w f m s 系统的一个重要功能。但w f m s 目前的系统很多都是基于某种d b m s 系统而建立起来的,它们本身在数据管理方面的能力比较差。因此带来的一个问题就是d b m s 本身不理解它所管理的数据语义,因此对数据的管理不可能达到理想的效果。为了同分布式的体系结构相适应,同时也是为了增强w f m s 在数据管理方面的能力。目前的一般做法主要是引入一种数据复制机制。例如将工作流管理系统中的不同过程按其重要程度的不同分成三类( 关键性的、重要的及普通的) ,对每一类分别采取不同的复制策略:热备份、冷备份和不备份。另外在将过程的执行分配到多个w f m s 上完成时,需要考虑过程实例状态查询和用户工作项维护上的一些优化策略。5 ) 对同步协作的支持。w f m s 的基本功能是对异步的结构化协作的支持,即将一个用户工作完之后生成的结果数据自动传递给下一个环节的用户进行处理。而同步协作则是各参与者实时地交流思想,最终得到某个结果的过程。为提供此种能力,可以从两个不同的方面着手。首先可以提供使多个用户能够按同步协作的方式完成工作流形式化定义的能力。另一方面,就是突破现有w f m s 中各工作项都是由某个特定的用户完成的限制,让它同时出现在多个用户( 或某个用户组中所有用户) 的工作项列表中,并能够被这些用户同时打开进行处理。这种同步协作能力的引入对过程定义、工作项的维护和分配以及客户程序提出了新的要求,例如服务器保证被处理的工作项的数据与状态的一致性,客户应用应该能够提供对同步协作的支持等。6 ) 事务型的w f m s 。这方面的研究主要是试图将一些高级事务模型( 如s a g a ,f l e x i b l et r a n s a c t i o n )等应用到工作流系统的过程实例的执行中,以提高w f m s 的可靠性,如保证过程实例中各活动执行的完整性。事务型工作流研究的一个重要方而是过程补偿,北京t 业大学工学硕上学位论文也即当活动执行失败时如何将其影响撤消,这将涉及到对某些活动的撤消及另外一些活动的重新执行。由于活动的补偿和重新执行都具有较高的开销,因此在过程补偿时应尽量减少这两种活动的数目。7 ) 基于w e b 的w f m s 。w e b 技术因其界面的一致、简单及与平台的无关性而在其出现之后就得到了迅猛发展。i n t e m e t 的发展及企业i n t e r n e t 的建构为人们提供了一个理想的协同工作环境,同时也使得基于w e b 建立工作流管理系统成为可能。这方面的研究一般是使用h t m l 页而通过w e b 浏览器向用户表示w f m s 中的各种信息,如用户的工作项列表、待处理的数据、过程的进行状态等。而在w e b 服务器端,则通过c o e m a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) ,j 2 e e ( j a v a 2e n t e r p r i s ee d i t i o n ) 和n e t 等技术完成工作流引擎与w e b 服务器之间的信息传递。8 ) 对移动用户的支持。移动办公使得员工能够随时随地处理他们的业务。移动计算设备( 如笔记本及手持设备) 的普及为这种办公方式的实现提供了良好的硬件条件,而w f m s 则为之提供了一种理想的软件环境。但早期的w f m s 系统一般都是基于l a n 环境而构造起来的,它一般要求用户一直保持同w f m s 的连接。为了支持此功能,需要在w f m s 客户程序与工作流引擎之间定义相应的协议。对该协议的基本要求是在尽可能增强移动用户自主性( 能够在断开同系统连接的情况下继续对其工作项进行处理) 的同时保证不会有多个用户同时对同一个工作项进行处理。这方面比较早的研究是让工作流的设计者指定一个过程中哪些活动是可按“断连”方式进行处理的。比如一个三阶段协议( 断连前、断连中以及重新连接阶段) 以便用户能够方便地将工作项及其相关的数据下载到本地,在断开与系统连接的情况下对之处理完后重新建立同w f m s 的连接,并将处理完后的工作项保存到w f m s中。这种方式将极大的提高用户的自主性与灵活性。9 ) i 作流系统之间的互操作。w f m s 互连的关键性问题包括三个不同的方面。首先是互操作模型的确定,即一个工作流引擎上过程实例与另外一个工作流引擎上过程实例的执行关系。w f m c 参考模型给出了四种不同的互操作模型( 链式、嵌套、对等及并行同步) 。其次,对不同的互操作模型,需要确定所需的互操作一致性级别。w f m c 一共定义了八种级别。在最后选定的互操作模型和级别上,可定义一组操作集来实现之。1 2 2s o a 和工作流引擎如今,s o a 架构和w e b 服务技术日益成熟,这为跨组织的复杂业务过程管理提供了一种新型的解决方案,如何在s o a 架构和w e b 服务技术基础上管理分布的松散祸合的业务过程,并且创建支持这种过程管理的工作流管理系统依然是第1 荦绪论当前工作流领域的研究热点【删。s o a ( s e r v i c e - o r i e n t e d a r c h i t e c t u r e ,面向服务的体系结构) 是指为了解决在分布式环境下应用集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。s o a 的核心思想是创建一个组件模型,把每个功能单元定义为一个构件,通过构件之间定义良好独立的接口和契约,对服务进行重用和扩展以及构造新的应用,把它们组织起来构建起整个应用系统。将s o a 面向服务的思想用于工作流引擎中,结合工作流分层描述模型,设计和实现工作流引擎。这使得工作流引擎实现了用户的业务领域知识与程序设计人员的程序设计领域知识的分离,屏蔽了两者对于工作流考察的角度与考察层次的不同,使业务应用者专注于业务过程的设计和优化,不必考虑采用哪一类服务或者资源,降低了系统设计的复杂性p 1 3 】。管理层与业务服务层的分离,为灵活构建业务流程以及业务服务的重用提供了可能。1 3 研究的主要内容和工作在分析s o a 相关概念和实现技术,根据首信工作流引擎的改造需求,提出了基于s o a 的工作流系统解决方案,引入s c a 的构件思想对工作流引擎系统中,并采用服务构件的方式封装工作流引擎以及业务逻辑。本文研究的主要工作包括:1 ) 阐述了s o a 的相关概念,体系机构和它的实现技术,探讨s o a 架构的技术和优点,并指出当前工作流系统的不足之处。2 ) 针对当前工作流的不足之处,提出了基于s o a 工作流系统的软件架构,分析了工作流引擎的工作原理。将引擎按功能分成九大模块。结合s o a的技术和工作流流程推动机制,提出使用服务来封装工作流引擎和工作流的模型,提供相应的封装原则和开发流程;在使用服务封装工作流的模型基础上,分别对组织模型和过程模型,数据模型进行形式化描述。3 ) 工作流引擎的实现,分别以从工作流引擎各个构件展开,以s c a 方式对服务进行封装。最后以工时管理系统为例,利用上述关键技术实现该功能模块的构建,包括服务的描述,流程的创建。最后根据该实例的构建过程,给出构建系统其他功能模块的一般步骤。1 4 本文的内容安排与组织结构本论文主要有五章组成。第一章绪论。本章主要描述课题背景、课题来源以及研究意义,阐明国内外研究现状,并简要介绍了课题的主要工作。第二章s o a 面向服务技术基础理论与关键技术实现。本章主要介绍s o a5 北京t 业大学t 学硕:j j 学位论文定义和体系机构等相关理论知识,阐述了实现s o a 的关键技术,包括w e bs e r v i c e原理,s o a 编程模式的铁三角,即s c a + s d 0 牛b p e l 。第三章工作流管理系统的总体分析。分析了工作流管理系统的概念,功能,体系结构和参考模型。第四章面向服务s o a 技术下工作流引擎的设计。结合s o a 的技术,针对工作流系统的分析提出了基于s o a 架构的工作流引擎。对系统的整体架构上进行设计。提出使用服务来封装工作流引擎和工作流的模型,提供相应的封装原则和开发流程;在使用服务封装工作流的模型基础上,分别对组织模型和过程模型,数据模型进行形式化描述。第五章系统的实现。根据工作流引擎各个构件,详细说明了工作流引擎系统的实现。然后以基于s o a 工作流引擎的工时管理系统为例,利用上述关键技术给出了业务流程的建模过程,实现了服务之间以松耦合的方式进行业务通讯,完成业务流程的柔性执行。最后一章结论。总结本文的主要内容和工作成果,并对下一步的研究进行了展望。第2 章s o a 面向服务技术理论0 关键技术第2 章s o a 面向服务技术理论与关键技术在上一章节我们分析了现有工作流引擎存在的不足,并给出了s o a 技术引入工作流引擎所带来的显著优点,所以本章将围绕s o a 技术,阐述它的概念,体系结构和实现技术等内容。2 1s o a 概述2 1 1s o a 的定义s o a 是指为了解决在分布式环境下应用集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。面向服务的体系结构( s o a ) 建立在分布式计算技术的基础上,这种体系结构本质上是动态的,它提供对服务的登记、发现和调用的支持。许多行业分析家和专家将s 以定义为多种不同的形式,因而对s o a 有着不同的理解。其中,比较权威的g a r t n e r 这样定义s o a :服务面向架构是一种c l i e n t s e r v e r 软件设计方法,其中应用含有软件服务和软件服务使用者( 也称为客户或服务请求者) 。s o a 不同于通常的c l i e n t s e r v e r 模型,它更强调的是软件组件之间的松散耦合和使用分散的标准接口。s o a 只不过是一种体系结构。在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程。s o a 的核心思想是创建一个组件模型,把每个功能单元定义为一个构件,通过构件之间定义良好独立的接口和契约,对服务进行重用和扩展以及构造新的应用,把它们组织起来构建起整个应用系统。2 1 2s o a 的体系结构s o a 可以通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。为实现这种软件方案,s o a 提供了服务提供者( s e r v i c ep r o v i d e r ) 、服务请求者( s e r v i c er e q u e s t e r ) 、服务代理者( s e r v i c eb r o k e r ) = _ 种角色。三种角色分别承担了不同的任务:发布( p u b l i s h ) 、查找( f i n d ) 、绑定( b i n d ) 它们之间的关系见图2 - l所示。1 ) 服务请求者:服务请求者是需要使用服务的应用程序或其他的服务。通过对注册中心u d d i ( u n i v e r s a ld e s c r i p t i o n ,d i s c o v e r ya n di n t e g r a t i o n ) 的服务进行查询后,根据接口说明信息,使用某种传输协议与服务绑定并执行服务功能。北京t 业大学l t 学硕士学位论文图2 - 1s o a 体系机构图f i g u r e 2 - 1t h ef r a m e w o r ko fs o a2 ) 服务提供者:服务提供者是创建服务的实体。可以从服务消费者处接受请求并可以远程执行所请求服务。通过向注册中心发布服务接口信息以供服务消费者发现和访问服务。3 ) 服务注册中心:服务注册中心处于中心位置提供了展示服务的功能。消费者通过查询存储有服务信息的注册中心以找到感兴趣的服务接口信息。在面向服务的体系结构中每个实体的角色并非固定,可以同时充当以上三种角色中的一个或多个。2 2s o a 实现技术随着s o a 思想的出现和发展,将s o a 思想应用于具体的软件系统建模和构建过程成为当前软件业发展的重要方向。但如何将s o a 思想准确应用于实践?具体到如何将s o a 思想与实际的项目需求相结合,进而将其转化为具体的编码? 这样的问题很快成为了业内关注s o a 发展的有识之士的讨论热点。2 2 1w r e bs e r v i c e 技术目前业界最为广泛接受的s o a 技术就是w e b 服务( w e bs e r v i c e ) t 1 4 1 。把w e b服务技术和以前的分布式计算技术进行对比的话,它具有更好的可靠性、扩展性、易用性以及协议开放性【l5 1 。事实上w e b 服务并非直接等同于s o a ,也并非是实现s o a 的必需组件【1 6 1 。但由于它所具有的上述优势使其在实现s o a 时具有非常重要的地位,实现s o a 过程中往往被优先考虑采用。w 曲s e r v i c e 的是由w 3 c 组织( w o r l d w i d ew 曲c o n s o r t i u m ) 制定的国际标准,它是由u r i ( 统一资源标识符) 标识的软件应用程序,其接口和绑定可以通过x m l 构件进行定义、描述和发现,w 曲s e r v i c e 支持通过基于因特网的协议使用基于x m l 的消息与其它软件应用程序直接交互。也就是说w e bs e r v i c e 体系结构最基础的支柱是x m l 消息传递。当前x m l 消息传递的行业标准是s o a p 。s o a p 是一种简单的、轻量级的基于x m l 的机制,用于在网络应用程序之间进第2 章s o a 面向服务技术理论与关键技术行结构化数据交换,这使得不同操作系统、不同语言的数据交互成为可能。由于w e b 服务在s o a 中的地位举足轻重,它也被称作s o a 的协议。w e b 服务接口描述规范( w e bs e r v i c ed e f i n i t i o nl a n g u a g e ,w s d l ) 也是基于x m l 的。w s d l 描述服务交互需要的全部信息,包括消息描述( 服务操作、输出、输入、异常) ,位置和传输协议;同时隐藏了服务实现的细节。由此w e b 服务拥有了松耦合、分布式和跨平台的特性。w e bs e r v i c e 体系结构基于三种角色( 服务提供者、服务注册中心和服务请求者) 之间的交互。服务提供者定义w e b 服务的服务描述并把它发布到服务请求者或服务注册中心。服务请求者使用查找操作来从本地或服务注册中心检索服务描述,然后使用服务描述与服务提供者进行绑定并调用w e b 服务实现或同它交互。w e b 服务的兴起并非偶然。互联网自诞生以来就是异构的,w e b 服务在这种异构的客观现实下解决了分布式系统领域部分的互操作的问题,因此得到了大力推广。2 2 2s o a 编程模式的铁- - 角( s c a + s d o + b p e e )w e b 服务使用w s d l 统一了服务接口的描述,使用s o a p 统一了数据传输和交换格式。但其缺少了一种数据的标准模式,于是产生了s d o ;同时,w e b 服务提出没有构建w e b 服务的统一标准,解决这一问题恰恰是s c a 的使命之一。如何将已有的服务组装起来定义真正的业务流程,这就成为产生b p e l 的契机。s c as c a 的英文全称是s e r v i c ec o m p o n e n ta r c h i t e c t u r e ,翻译成中文即为“服务组件架构”,是i b m 和b e a 等公司提出来的一套面向服务的s o a 编程模型或者说编程架构,是s o a 思想的一种实现方式。s c a 最突出的特点在于它已经把与业务无关的内容,如传输协议等,交给s c a 的运行环境去处理了,因此s c a 所描述的接口是纯粹的与业务相关的接口。在s c a v l 0 装配规范中,相对较为独立的组件只有三个,粒度由小到大分别是服务组件( c o m p o n e n t ) 、服务模块( c o m p o s i t e ) 和服务域( d o m a i n ) m j 。其他如服务( s e r v i c e ) 、参考( r e f e r e n c e ) 、连线( w i r e ) 等都是辅助性的元素。这些辅助性的元素作为三个独立的组件中的组成部分,为组件与外部数据传输、对外提供服务和引用外部资源提供了实现途径。三个不同的组件,分别对应系统的三个不同层面:c o m p o n e n t 组件对应实现层,c o m p o s i t e 组件对应架构层,d o m a i n 对应业务层。s c a 体系结构图如图2 2 所示。北京t 业大学t 学硕1 二学位论文i is e r v i c eb i n d i n gs e r v i c eb i n d i n gw e bs e r v i c ew e bs e r v i c ey m sj m ss c as c a图2 2 s c a 体系机构图f i g u r e 2 - 2t h ef r a m e w o r ko fs c as d o服务数据对象( s e r v i c ed a t ao b j e c t s ,s d o ) 是由i b m 和b e a 联合制定的一种数据应用程序开发框架,包括的体系结构和相应的a p i ,定义了统一的方法来访问和操作来自异构数据源的数据,包括关系数据库( r d b ) 、实体e j b 组件、x m l页面、w e b 服务、j c a ,j s p 等。最新的s d o 版本为2 i ,并己提交给o s o a 组织。s d o 框架的核心是数据对象( d a t ao b j e c t ) 。数据对象是一个业务对象的一般表达,并且没有和特殊的持久化存储机制绑定。s d o 能简化数据编程,并可以在整个应用程序体系结构中使用。s d o 可作为一个应用逻辑数据来代替各种数据访问,使用统一的抽象模型来创建、检索、更新和删除供服务实现使用的业务数据,通过s d oa p i ,能够处理来自多种数据源的数据,屏蔽了数据源的物理位置及不同的技术细节;在利用x m l 的简易性同时,没有引入x m ls c h e m a 的复杂性或序列化的性能问题;静态和动态a p i 、元数据、内省和支持非连接( d i s c o n n e c t e d )的数据编程模型等特点,使s d o 能很好的支持s o a 的数据编程与通信。b p e l面向w e b 服务的业务流程执行语言( b p e l 或b p e l 4 w s ) 是一种使用w e b 服务定义和执行业务流程的语言。b p e l 可以通过组合、编排和协调w e b 服务自上而下地实现面向服务的体系结构( s o a ) 。b p e l 提供了一种相对简单易懂的方法,可将多个w e b 服务组合到一个新的复合服务( 称作业务流程) 中。2 3 本章小结本章在上一章节的相关概念的基础上,首先介绍了s o a 的定义,特点和它的系统结构,得出了将s o a 面向服务的思想用于工作流引擎中会带来业务流程第2 章s o a 面向服务技术理论与关键技术的高效性和敏捷性的好处。然后阐述了当前s o a 的实现技术,并以此为系统的s o a 架构改造奠定理论基础。第3 章- t 作流管理系统总体分析第3 章工作流管理系统总体分析3 1 工作流的基本概念工作流技术的历史可以追溯到上个世纪7 0 年代末的办公自动化和任务批处理,第一次使用工作流术语可追溯到8 0 年代初,1 9 9 3 年,w f m c 的成立标志着工作流技术开始进入相对成熟的阶段【l 引。工作流是针对工作中具有固定程序的常规活动而提出的一个概念,是作为一种面向过程的系统集成技术而出现的,它通过将工作活动分解成定义良好的活动、角色、规则和过程来进行执行和监控,达到提高生产组织水平和工作效率的目的,因此工作流技术为企业更好地实现经营目标提供了先进的手段【1 9 1 。工作流所关注的问题是处理过程的自动化,它根据一系列定义的规则,把文档、信息或任务在参与者之间传递,以达到某种目的【2 0 1 。根据w f m c 的定义,工作流是一个全部或者部分,由计算机支持或自动处理的业务过程。工作流技术是实现企业业务过程建模、业务过程仿真分析、业务过程优化、业务过程管理与集成,最终实现业务过程自动化的核心技术【2 ,企业利用工作流进行业务过程的建模和深入分析不仅可以规范企业的业务流程,发现业务流程中的不合理的环节,进而对企业的业务过程进行优化重组,而且所建立的业务过程模型本身就是企业非常重要的知识库和规则库,可以成为指导企业实施计算机管理信息系统的模型。在深入分析企业需求基础上建立的企业业务模型可以在最大程度上提高企业实施e r p 或者其它管理信息系统的成功率。一般地,在建立工作流模型时,应使工作流模型包含三个方面的信息,对应于三个子模型2 2 1 :1 ) 组织模型( o r g a n i z a t i o nm o d e l ) :描述了组织内部各个实体及其相互关系。2 ) 数据模型( d a t am o d e l ) :描述了业务过程所访问的数据及其视图。3 ) 过程模型( p r o e e s sm o d e l ) :描述了业务过程结构中的各种实体及其约束关系( 包括控制流和数据流) 。3 2 工作流管理系统功能工作流管理( w o r k f l o wm a n a g e m e n t ,w f m ) 是人与计算机共同工作的自动化协调、控制和通讯,在计算机化的业务过程上,通过在网络上运行软件,使所有命令的执行都处于受控状态。在工作流管理下,工作量可以被监督,分派工作到不同的用户达成平衡。根据工作流管理联盟( 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 ) 的定义,工北京工业人学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 ) 通过软件定义、创建工作流并管理其执行。它运行在一个或多个工作流引擎上,这些引擎解释对过程的定义,与工作流的参与者( 包括人或软件) 相互作用,并根据需要调用其他的软件工具或应用。总的来说,实际企业中运作的工作流管理系统,是一个人机结合的系统,如图3 1 所示。它的基本功能体现在几个方面1 2 2 2 5 】:1 ) 建立模型( b u i l d t i m e ) 功能:定义工作流,包括具体的活动、规则等,这些定义是同时被人以及计算机所能够“理解 的。2 ) 运行阶段( r u n - t i m e ) 的控制功能:按照工作流的定义创建和运行实际的工作流。3 ) 运行阶段的人机交互功能:实现各种动作执行过程中用户与应用程序( 工具) 之间的交互。为完成上述功能,工作流管理系统需要考虑众多因素,w f m c提供了一个工作流管理系统的体系结构模型,包括过程定义工具、过程定义、工作流执行服务( w e s ) 和工作流引擎、工作流控制数据、工作流相关数据、工作表和工作表处理程序、应用程序和应用数据等。图3 1 描述了上述功能间的关系【2 引。图3 - 1 工作流管理系统层次图f i g u r e 3 1w o r k f l o wm a n a g e m e n ts y s t e ml e v e ld i a g r a m工作流管理系统( w f m s ) 是一个真正的“人机”系统,用户是系统中的基本角色,是直接的任务分派对象,他或她可以直接看到电脑针对自己列出的“任务清单”,跟踪每一项任务的状态,或继续一项任务,而不必从一个模块退出,进入另一个模块,搜索相应任务的线索。前者是面向功能或对象的,而后者是直接面向用户的。这样,用户的任务分派和任务的完成状态,可以被最大程度地电脑化。耋:薹;:,篓耋虿耋鉴量錾2 翟3 3 工作流管理系统的体系结构尽管市场上的工作流产品是各种各样的,但是w f m c 组织已证明可以构建一个通用的工作流系统实现模型,这个模型可以适用于市场上的大多数产品,因此为开发协同工作的工作流系统奠定了基础。通用工作流系统的主要功能组件如图3 - 2 所示,其中有一下几种类型的组件唧:# # 目*口h $ 1 # w图3 - 2 工作漉管理系统体系结构翻f i g u r e 3 - 2 w o r k f l o w m a n a g e r a e n ts y s t e ma i g h i t e c t u r e d i a g r a m1 1 过程建模工具过程定义是用来创建一个计算机可以处理的形式化的过程描述。工作流过程建模工具,可能作为工作流产品的一部分、也可能作为业务过程分析产品的一部分来提供给用户。作为业务过程分析产品一部分,会有其他的组件来负责处理业务过程的分析或者模型,这时,必须要有兼容的转换格式,与运行时期的工作流软件进行过程定义的相互转换。通常商用过程定义工具都是可视化的图形定义工具。2 1 过程定义过程定义包含工作流执行软件运行过程所需过程的所有详细信息。包括过程的开始和结束条件、组成活动、在活动日j 进行导航的规则、需执行的用户任务、可能会被调用的应用程序、所有工作流相关数据的定义等。过程定义可能会涉及到一个组绷角色模型,模型包含组织结构和组织中的角色等信息。工作流执行、辱旦北京丁业大学t 学硕一l :学位论文服务器负责把工作流运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医药企业研发外包(CRO)模式人工智能与机器学习应用报告
- 2025年新能源企业股权激励计划实施过程中的风险与应对策略报告
- 康复医疗器械市场研究报告:2025年创新产品与市场需求预测报告
- 2025年新能源行业工业互联网设备健康管理优化报告
- 2025年甘肃陇南事业单位预计将于5月中旬发布模拟试卷及答案详解(全优)
- 2025年太阳能光伏产业链协同创新研究报告
- 2025年泉州市考试录用公务员暨公开遴选公务员集中工作模拟试卷及一套参考答案详解
- 2025国能包头煤化工有限责任公司高校毕业生招聘人员考前自测高频考点模拟试题及1套完整答案详解
- 2025甘肃定西市岷县人力资源和社会保障局招聘城镇公益性岗位人员11人模拟试卷有答案详解
- 2025年城步苗族自治县事业单位公开选调工作人员模拟试卷附答案详解(完整版)
- 四川省挤塑聚苯板建筑保温工程技术规程
- 升降机风险辨识及防范措施
- 中医治未病健康宣教
- Ice-O-Matic CIM登峰系列制冰机培训手册
- 《穴位埋线疗法》课件
- 【大型集装箱船舶港口断缆事故预防应急处理及案例探析7500字(论文)】
- 发展汉语-初级读写-第一课-你好
- 律师事务所人事管理制度
- 高中英语完形填空高频词汇300个
- 脑梗塞并出血护理查房
- 鲁班锁制作技术
评论
0/150
提交评论