已阅读5页,还剩60页未读, 继续免费阅读
(计算机科学与技术专业论文)面向业务流程的服务组合技术研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 企业信息集成解决了企业“信息孤岛”的问题,然而在实现基于业务流程的集 成方面还有待进一步发展。s o a 提出了面向服务的业务流程集成框架,如何在该 框架下,扩展e s b 平台,实现服务组合及业务流程的整合和管理具有重要的研究 意义。本文提出的面向业务流程的服务组合设计,为开发服务组合支撑平台以及 在此基础上构造服务组合应用系统提供了基础框架。流程管理系统基于j b i 规范 实现,集成在e s b 平台上,具有松散耦合,标准统一的优点,符合新一代企业业 务流程集成的主要趋势。 本文深入研究了面向服务的软件体系架构和基于j a v a 技术的标准企业服务总 线的实现规范,以s y l l c h r o e s b 为平台,分析服务组合的处理机制,比较了业务 流程和规则的描述语言,采用b p e l 和d r o o l s 作为业务流程建模描述语言设计服 务组合模型,根据j b i 规范设计执行业务流程的服务组件,以第三方b p e l 执行 引擎插件驱动流程执行。同时提供了一个基于j m x 的管理控制模块,通过它可以 对正在运行的流程实例以及历史数据进行控制和管理。 实现的企业服务总线平台软件系统不仅具有基本的消息整合功能,还实现了 面向业务流程的服务组合功能,并在此基础上对商业流程进行管理和活动监控。 系统实现遵循相关规范又符合当前流行的业界标准,其性能可靠又有保证,这些 为该产品的成功商业运营提供了保障,相信该产品肯定能获得预期的市场效益。 关键词:企业应用集成,面向服务体系架构,企业服务总线,服务组合, 业务流程,j a v a 业务集成 a b s t r a c t e n t e i p f i k f o 珊a t i 彻i n t e g r a t i s 毗l 懿圮p r o b l e mo f f o 肌a t i i s l 卸d , 缸ds t i nr e q u i r e sf i l 】r n l e r 抵r c l 叩m ti i lt h e6 e l do fm e g r a t i o nb 够c d b 鹏i n 鹤s p r o c 髓s s a 、,i c e - 伽锄t e d 觚l l i t c c t 嗽( s o a ) p r o p o 瞄as e 潞o r i e n t c db 璐i n 嘲 p r o c 懿h t e g r a t i o n 仔锄洲o r k h o wt 0e x p 椰ee s bp l a t f o h n ,i m p l 锄饥t 也cs e i c e c o m p o s i t i o n 趾d i n t e 孕a l c b 璐i i l e s s p r o c e s s i so f、,i t a l s i g n i 矗c 锄c e t h e 卿v i c e o r i e l l t e dp r o c e s sm 锄a g 锄e mi nl h i sp a p w 1 1 i c hi si n t e g r a t c d e s b p l a t f o 皿柚db 鹪c d j b ii m p l 跗t a t i ,i sl o o s e l yc o 叩l e d nt mt h ea d v 姐孵so f 硼d f i c ds t a l l d a r d 卸da c c o r d 、i t l lt h en e w 鲫e m t i o fb l l s i m s sp r o c c s si m e g r a t i w i t l l l e m a i n 的1 d t t l i sd i s s 删i o n 佗a r c h e sd e 印l yt l l e脚a r es y s t e l i l ss c n r i c e - o r i c n t e d 戤赫t c c t u r e 姐dn l ei i l l p l 锄锄t a t i o fs t a n d a r de s bb a s c do nj a v at e c h n 0 1 0 9 y b 够e d o nm ep l a t f o 肋o fs y n c h r o e s b ,“b e g i l l st o 锄l y z em e c h a j l i 锄f o r 鹊s e m b l i n g s e r v i c 嚣,t l l c i lc 伽n p a r c st l l eb 哪i i l 铭sp r o c 嚣s e s 锄dm l 船d e s c r i p t i l 觚g i l a g e ,矗n a l l y d e s i 目坞姐di i n p l 锄铡【协t l l es c r v i c ec o m p o s i t i r n o d e lw 1 1 i c hw ep r e s 饥ti l lt l l i sp a p a d 叩t sb p e l 觚dd r o o l s 鹅t 量l em o d e l i n gl 锄g i l a g e s 矗”b u s i n e 豁p r o c 船s ,d c s i 髓s 怆 s e r v i c ec o m p o n c i l i 协j i n p l e m e n t c db 璐i n e s sp r o c e s s ,即c 印s u l a t t l l et l l i r d p a n y 胁a 硒t 1 1 cb p e le n g i n e c ra n di n s e r t si ti n t ot h ej b ie n 、,i r o 姗e mt oc x e c u t e p r o c e s s m e a n w l l i l e ,w ep r o p o s eam 锄a 蹦n 锄tm o d u l eb 鹤e d j m xc 孤m 砌t o r 锄dc o n h d lt l l er u 珊i i l l gp m c e s si 1 1 s t a n c e sm l dp r o c e s s l l i s l o r y 纰 t l l i se s b 脚黜s y s t 锄b 勰e do nt l l es c i c ec o m p o t i m d e ln o t 砌y c 硎e so u tt h ef i l 眦t i o no f i n f o 肌a t i i m e f a t i o i l , b u ta 1 c o n t a i 璐m e i m p l 锄a 删o no f b 璐i i l 豁sp r o c e s sm 姐a g e m e m 觚d 石、,i t ym o i l i t o r i n g o i l rs o 疗w a r e i sd 髓i 弘e d 锄di m p l 锄e n t c df o l l o w i n gt l l e l a t e di m p l 锄t a t i o 璐b u ta l a c c o r d 谢m t l l ep o p u l 盯i n d u s 仃ys t 锄d 盯d s n s h i g hc a pa _ b i l i t y 舭dr e l ia _ b i l i t y 目l a 瑚m t e 韶t h e p r o d u c t sm a r k c tp r o s p e c t s o ,w eb e l i e 、,ei tw i l lh a v eag o o dm a r k e tp m s p e c t k e yw o r d s :e a i ,s o a ( s e 砖o r i e n t e da r c h i t c c t u r e ) ,e s b ( e n t c r p r i s es c r v i c e b u s ) ,s e r v i c ec o m p o s i t i o n ,b u s i n e s sp r o c e s s , j b i i i 西北工业大学业 学位论文知识产权声明书 本人完全了解学校有关保护知识产权的规定,即:研究生在校攻凄学位期间论文【作的 知识产权单位属于西北工业大学。学校有权保留并向国家有关部门或机构送交论文的复印件 和电子版。本人允许论文被查阅和借阅。学校可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时本人 保证,毕业后结台学位论文研究课题再撰写的文章律注明作者单位为西北工业大学。 保密论文待解密后适用本声明。 学位论文作者签名:;g 互 净3 月1 1 日 艚挪签名超至灰 汐7 年弓月z 日 西北工业大学 学位论文原创性声明 秉承学校严谨的学风和优良的科学道德,本人郑重声明:所呈交的学位论文,是本 人在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用的内容 和致谢的地方外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果, 不包含本人或其他已申请学位或其他用途使用过的成果。对本文的研究做出重要贡献的 个人手h 集体,均已在文中以明确方式表明。 本人学位论文与资料若有不实,愿意承担切相关的法律责任。 学位论文作者签名址 纠年 月1 2 日 西北工业大学硕士学位论文第1 章绪论 1 1 背景、目的及意义 第1 章绪论 随着现代信息技术和i n t e r n e t 技术的飞速发展,越来越多的企业开始逐步实 旌企业资源计划e r p ( e m e r p r i s er c u r c cp l 孤) 、客户管理系统c r m ( c u s t 锄e r r e l a t i o n s h i pm 锄g 锄e n t ) 、供应管理、产品数据管理以及b 2 b ( b u 咖e 鹞t o b l l s i n e 豁) 电子商务等各种企业信息系统,来增加企业的竞争力。然而,在企业 实施信息化技术的发展过程中,由于技术环境的差异性,各种信息化实施的阶段 性,以及其它经济和人为因素的影响,使各种信息系统彼此分离、独立,互操作 困难,导致“信息孤岛”现象的存在。“信息孤岛”造成系统中存在大量冗余数据、 垃圾数据,无法保证数据的一致性,不能共享各系统的数据,不能对企业的整体 业务流程进行统一的管理,从而降低信息的利用率。解决各机构之间已存的大量 异构信息的交互和共享问题已经成为目前信息化过程的一个关键。 解决企业内部信息系统的“信息孤岛”问题通常是采用企业应用集成e a i ( e m e i p r i a p p l i c a t i o nh l t e 伊a t i ) 技术,它是企业实现业务自动化的基础并成 为近几年应用程序和信息系统开发的主要技术。但传统e a j 缺乏灵活性,并且不 是基于标准,因此就可支持需求不断变化的企业r r 环境而言,不能起到推动作用。 面向服务的构架s o a ( s e r v i c e - o r i e n t e d a r c l l i t c c t u r c ) 作为一种新的软件系统 架构模型应运而生,它的核心概念是“重用”和“互操作”,从而使企业的系统拥 有极大的灵活性。其另一层意义就是整合,它将企业的r r 资源整合成标准的、可 操作的服务,使其能被重新组合和应用。在这种架构下,r r 系统的复杂性并没有 增加,相反,随着系统的不断完善,整个系统的架构会变得更加清晰。企业服务 总线e s b ( e n t e i p r i s e n ,i c eb 璐) 是s o a 架构的一个支柱技术,作为实现s o a 的底层基础架构,为企业提供了一个基于标准的,松散耦合的,灵活性和扩展性 非常高的平台,用来实现企业业务的整合和流程管理。 对e s b 平台进行扩展,实现基于s o a 的业务流程,保证了无论是开发人员 还是最终用户,都可以将已有的服务以一定的业务流程逻辑进行组合,从而获得 新的、复杂的服务,形成更强大、更完整甚至动态的业务流程。这会大大的推动 服务的使用率,提高服务的重用性,加速应用项目的开发。目前研究面向业务流 程的服务组合问题主要是研究对于与相关的各服务组件和基本服务,怎样定义它 们之间的逻辑时序关系,以实现复杂服务执行的自动化;研究怎样实现服务组件 1 西北工业大学硕士学位论文第1 章绪论 和基本服务之间的动态交互、协调及状态保持,以保持服务执行的有序性【l 】。服 务组合学术研究在复杂服务的组织和描述问题包括服务组合描述语言的设计和优 化,还处于比较模糊的阶段,而基于业务流程的商业规范较为完善,已经能够较 好的满足商业上流程描述和流程执行的需要,但对于在e s b 平台上实现服务的组 合和业务流程的动态执行和管理,仍有待进一步研究。 事实上,作为未来的技术趋势之一,s o a 企业应用集成尚处于开始阶段,用 s o a 作为未来应用程序和业务流程的实现框架,是软件工程上一个新的热点,也 是未来几年一种主流的软件工程实践方法【2 l 。 1 2 课题来源 本文作者参与的国家发展与改革委员会高新技术产业项目“协同服务总线平 台s y n c l 聃e s b ”是一个企业应用集成的开发、部署、运行、管理和维护的e s b 平 台,符合j b i 、j t a 、w 曲s e n ,i c e 、x s l t 、s s l 等主流规范,利用标准j m s 消息 通信机制和高性能的p e * p e e r 通信技术,实现了服务之间的通信、连接、组合和 数据集成,为企业应用提供了便捷、一致、安全并符合标准的丰富接口,保证服 务之间信息的可靠传送,实现不同厂家的数据库、中间件运行平台及其基于这些 平台之上开发的应用软件的服务集成。 本人自从2 0 0 6 年上半年参与课题以来,查阅了大量相关文献,系统学习了 s o a ,e s b 和w 曲服务相关知识以及腰i 、j m s 的技术规范。在实际设计开发过 程中,积极认真地开展工作,设计了基于j b i 和b p e l 规范的组合服务流程模块。 通过不断地学习和实践,成功地将此模块运用于s y n c h r o e s b 系统中,使该系统 的功能能够从基本的e s b 扩展到了业务流程的集成和管理。 1 3 论文研究的主要内容 木文的研究工作以基于s o a 框架下的业务流程集成为背景,围绕服务组合的 理论、方法和关键技术展开工作。深入研究了面向服务的软件体系架构和基于j 绷 技术的标准企业服务总线的实现规范,针对s y n c h r o e s b 的框架体系结构,建立 面向业务流程的服务组合模型,实现了基于e s b 平台上的业务流程的集成和管 理,最后通过对一个应用场景测试系统软件的业务流程运行和管理功能。本文的 工作涉及以下几个方面: 1 服务组合的科学理论和实现技术的研究 在课题研究期间,作者在分析企业应用集成和面向服务计算技术的基础上, 2 西北工业大学硕士学位论文 第1 章绪论 针对面向业务流程的服务组合的基础理论和实现技术两方面展开了较为深入的研 究和探索工作。服务组合是把己有的相对简单的服务,按一定的业务流程逻辑合 成起来,成为复杂的组合服务,从而提供更强大、更完整的商业功能。本文针对 服务组合的构成、建模、部署及管理进行了研究分析。 2 面向业务流程的组合服务模型分析理论与方法研究 组合服务模型在实施服务组合的过程中处于核心地位,组合服务模型的正确 性对于保证组合服务的正确执行至关重要。但是目前,关于基于e s b 平台的组合 服务建模方法的研究还很不成熟。本文以s y n c h r o e s b 为平台,展开服务组合技术 的研究与相关模块的设计与实现,采用b p e l 作为业务流程建模的描述语言,根据 j b i 规范设计执行业务流程的服务组件,以第三方b p e l 执行引擎插件驱动流程。 3 服务组合的流程管理设计与实现 参照j b i 规范,为流程设计生命期,通过对流程生命期状态的切换和监视实 现流程的起、停、部署、卸载、监控等操作。在实现上,一个流程由一个到多个 服务组合s a ( s e r v i c ea s s 脚l b l y ) 组成,而一个s a 又由一到多个服务单元s u ( s e i c eu i l i t ) 组成,采用j m x 规范,设计s a 和s u 的生命周期实现对应的 m b e a i l 接口,通过管理这些m b e a i l 进而管理流程。 1 4 论文结构 第一章阐述了文章的研究背景、目的及意义,概括了本文的研究内容。 第二章说明了企业应用集成的现状和发展趋势正向面向服务架构的业务流程 集成过渡。对s o a 的基础平台架构即企业服务总线及其基于j a v a 集成的规范进 行了深入的分析和研究。 第三章提出了基于s o a 架构的企业服务总线s y n c t e s b 的设计,描述了其 系统架构和功能结构,并针对其实现业务流程的功能,简要描述各个模块如何协 作并实现一个业务流程。 第四章在对服务组合的基础理论和实现技术研究的基础上,提出了基于 s y i l c h m e s b 的面向业务流程的服务组合设计方案,从组合服务的建模、部署、执 行和流程管理方面进行阐述。 第五章针对组合服务核心模块的实现,介绍其实现功能和关键技术。从模块 的结构、功能和接口设计方面进行阐述,并通过一个简单的应用场景测试对业务 流程的管理效果。 第六章对全文内容进行总结并提出后期工作展望。 3 西北工业大学硕士学位论文第2 章面向服务体系结构技术综述 第2 章面向服务体系结构技术综述 在本章,主要对与本文研究内容密切相关的一些技术和标准进行概述,分析 运用到课题的各项技术的目的和意义。 2 1 企业应用集成现状与技术分析 2 1 1 企业应用集成概念和发展 e a j 的概念在r r 界提出和讨论已经有几年的历史了,最初大家谈到的e a i 概念,相对后来e a j 的发展来看,可以说是一个狭义的e a j ,仅指企业内部不同 应用系统之间的互连,即通过应用整合实现数据在多个系统之问的同步和共享。 随着e a i 技术的不断发展,它所被赋予的内涵变得越来越丰富,已经被扩展 到业务整合的范畴,业务整合相对e a i 来说概念更宽泛,它将应用整合进一步拓 展到业务流程整合的级别。业务整合不仅要提供底层应用支撑系统之间的互连, 同时要实现存在于企业内部应用与应用之间,本企业和其它合作伙伴之间的端到 端的业务流程的管理,它包括应用整合,b 2 b 整合,自动化业务流程管理,人工 流程管理,企业门户以及对所有应用系统和流程的管理和监控等方面p 】。 企业应用的集成经历了几个发展阶段,早期大容量数据处理的企业,例如电 信和银行部门,主要是基于数据库系统的数据集成。采用数据仓库、消息中间件、 丰富的连接与转换技术以及全面的元数据管理与应用能力,将互相关联的分布式 异构数据源集成到一起,使用户能以透明的方式访问和操作各类数据源,解决了 信息共享与信息交换的问题,同时也使企业的r r 系统容易维护与管理。然而这种 技术所解决的问题更多地集中在数据层面,而不是业务层面,不符合企业业务发 展的趋势。 2 0 世纪9 0 年代中后期,企业业务的迅速发展以及与电子商务的结合对应用 集成解决方案提出了更高的要求,局限于信息集成的第一代e a j 技术很难实现企 业业务流程的自动处理、管理和监控,因此,基于业务流程管理集成的第二代 e a j 技术应运而生。这一代e a i 技术通过实现对企业业务流程的全面分析管理, 可以满足企业与客户、合作伙伴之间的业务需求,实现端到端的业务流程,顺畅 企业内外的数据流、信息流和业务流。 目前,e a j 技术正向第三代集成技术演变,这就是“预制集成”,它根据不同 4 西北工业大学硕士学位论文 第2 章面向服务体系结构技术综述 行业集成技术的特点,推出基于行业的预建构集成包,预先解决行业共性的问题, 从而缩短e 朋项目开发周期。预制集成产品的关键点在于它的“可重用性”、“可扩 展性”和“灵活性”,这样一来才能保证在产品化的同时,企业又能基于自身业务的 需求进行灵活的配置和扩展。 2 1 2 企业应用集成层次 企业应用集成从集成层次上可以分为数据集成,应用集成,基于业务流程的 集成。在企业业务发展的过程中,基于不同技术层次的集成能够解决不同方面的 问题,但都存在各个方面的缺陷: 1 数据集成 数据级集成是一种简单的企业应用集成方式,一般是多个同构或异构数据源 之间的集成,属于面向信息的集成方式。主要有数据仓库和联邦数据库两种数据 级的集成技术。 数据仓库技术是将各个数据源的数据复制到同一处即数据仓库。用户像访问 普通数据库一样直接访问数据仓库。其显著优点是应用简单,执行效率高,特别 是在面对大容量数据的查询情况下。然而,数据仓库需要经常更新数据,实时一 致性差。采用此种方法的主流产品有s a p 公司的b l l s i n e s sw 哦h o u s e 【4 】和m m 公 司的d b 2d a t aw a r e h o t l s e 【5 1 。 联邦数据库系统是由半自治异构数据库系统构成的集合,各数据库系统相互 之间分享数据,相互提供访问接口【6 】。同时,联邦数据库系统分为紧耦合和松耦 合两种情况,紧耦合提供统一的访问模式,一般是静态的,在增加数据源上比较 困难,而松耦合则不提供统一的接口,但可以通过统一的语言访问数据源,其中 核心是必须解决所有数据源语义上的问题。采用该技术开发的产品有m m 的d b 2 d a 诅j o i n c r 和e 口( e n t e r p d s ei i l f 0 皿a t i o np o n a l ) 川。 数据级集成需要交互的应用程序之间共享或合并数据库,这就需要被集成的 应用程序具有相同类型的数据库或能够转换成相同类型的数据库。若共享的应用 程序数据库的类型不相同,则不适合采用这种方法。 2 应用程序接口集成 应用程序接口集成是指应用程序之间通过调用彼此的应用程序接口,即a p i 实现集成,属于面向接口的集成方式。它涵盖了普通的代码( 例如c 抖、j a v a ) 撰写、a p i s 、远端过程调用r p c 、分布式中间件如分布式组件技术d c o m 、公共 对象访问中介c 0 r b a 、j a v a 远端方法调用i t m i 、面向消息的中间件以及w 曲服 5 西北工业大学硕士学位论文第2 章面向服务体系结构技术综述 务等等各种软件技术【s 】。 这种技术的集成方式需要调用者对被调用的接口非常熟悉。调用者只有在对 a p i 熟悉的基础上,才能对它们进行调用和修改。当对a p i 接口进行修改时, 将导致新的、大量的调试工作量,也可能会增加现有应用系统的不稳定性,而且 各种技术由于紧耦合,绑定平台等缺点,之间互操作较难,为技术的推广发展带 来局限性p j 。 3 基于业务逻辑的集成 基于业务逻辑的方法改进了e a j 。在这种情况之下,业务流程流引擎用来和 消息总线或中间件一起来运行流程流,这些流程流执行不同系统的多步事务处理。 主要是采用商业基础中间件,作为底层的中间件开发平台,虽然基础中间件的使 用在一定程度上简化了代码开发量,而且大大提高了e a j 系统的运行时可靠性和 效率,但其本质上仍是零散的定制开发,其集成框架和设施缺乏完整的适合企业 应用集成的特点,各个模块之间往往仍然是紧偶合的并绑定特有基础中间件的, 而且,有些时候基础中间件的使用反而会增加系统的技术复杂性。典型代表是 m m 的w 曲s p h e r e 、b e a 的w 曲l o 百c 和w 曲m e t l l o d s 的e a i 系统等。 2 1 3 企业应用集成体系结构 应用集成在体系结构上也在不断改进。传统应用集成采用点对点的集成方式, 应用系统间都应清楚对方的结构,相互之间通过接口相连,无须对系统进行大的 修改,编码的工作量不大。随着需要集成的应用系统的增加,这种接口问题变得 非常复杂,这时产生了消息代理集成的体系结构,应用系统只需与消息交换平台 进行互连,这大大减少了接口的连接数量,同时在系统改变或增加新系统时,只 需改动消息代理那一部分即可,增加了系统的可扩展性,降低了系统维护和升级 的复杂性。 1 点对点集成 在点对点的集成方法中,每个企业信息系统e i s ( e n t e r p r i h l f o n n a t i s y s t 锄) 都紧密地与其它e i s 通过点对点方式连接在一起,用户只着眼于解决眼 前的一个系统和另外一个系统的互连互通,并不考虑这个系统的合理性和可扩展 性【们。它的优点是容易理解并且当只有少量系统需要集成时可以快速实现。但如 果一个e i s 发生改变就会打破与它有关的应用集成,另一个缺点是每个e i s 都要 求有足够多的整合点来支持更多的系统集成,如果有5 个互相集成的e i s ,就需 要1 0 个不同的整合点,如图2 1 所示。因此,这种方法很难集成大量的应用系统, 6 西北工业大学硕士学位论文第2 章面向服务体系结构技术综述 且集成的系统越多维护就越困难。 图2 1 点对点集成 2 消息中间件 数据仓库和数据联邦库主要是针对企业数据库的集成,不能满足企业业务流 程的整合和扩展,而点对点的集成,方法复杂、成本高且难于维护,于是引入了 另外一种基于消息总线,代理或者中间件的集成方法。在这种情况下,各个企业信 息系统和消息中间件之间的连通性是用消息总线a p i 和应用程序a p i 来实现的【9 1 , 见图2 2 。 图2 2 基于消息中间件的集成 消息中间件和应用程序之间的紧密耦合使所有的应用程序都需要了解与其集 成的其它应用程序的内部工作方式。系统之间的集成都是细粒度的,并且通过消 息类型紧密耦合。业务流程管理工具是私有的,这阻碍了最优产品的应用。 2 1 4 企业应用集成的新趋势 上一节的几种集成方式都是非功能层的集成方式,属于紧耦合的应用系统集 成方式。这些紧祸合的集成方式影响系统的灵活性和扩展性,阻碍业务的流程调 整和优化,不利于企业的业务发展。因此,为了解决上述问题,需要一种面向功 能层的企业应用集成方式。该方式不仅能保证原有系统的数据安全性和逻辑安全 7 西北工业大学硕士学位论文第2 章面向服务体系结构技术综述 性,而且还能够实现各系统之间的松耦合,方便系统流程的重组和优化。这种方 式就是基于s o a 的企业应用集成方式。 s o a 改变了过去开发应用的模式,将软件按照业务需求定义成“服务”,作为 共享资源,提供以服务为中心的应用软件设计方法。这种方法不同于点对点和消 息中间件的体系结构,它具有跨平台、语言独立、松散耦合等优点,能够提高r r 对业务的响应能力,使企业得以实时支持业务的变化,最终帮助企业转变为服务 驱动型企业。s o a 的架构只是实现和解决了服务模块间调用的互操作问题,为了 更好的服务于企业应用,引入了企业服务总线的应用架构。它提供了一个基于标 准的松散应用耦合模式,支持异构环境中的服务、消息,以及基于事件的交互, 并且具有适当的服务级别和可管理性,通过企业服务总线,各个应用系统只要挂 接到总线上,就可以很容易的集成起来。 2 2 面向服务体系结构s o a 当前r r 企业的现状是不同种类的操作系统,应用软件、系统软件和应用基础 结构相互交织。现代企业需要能对业务的变化做出快速的反应,利用对现有的应 用程序和应用基础结构的投资来解决新的业务需求,为客户、商业伙伴以及供应 商提供新的互动渠道,并呈现一个可以支持有机业务的构架。s o a 凭借其松耦合 的特性,使得企业可以按照模块化的方式来添加新服务或更新现有服务,以解决 新的业务需要,提供选择从而可以通过不同的渠道提供服务,并可以把企业现有 的或已有的应用作为服务,从而保护了现有的r r 基础建设投资。 2 2 1s o a 的概念和特点 s o a 是指为了解决在i n t 锄c t 环境下业务集成的需要,通过连接完成特定任 务的独立功能实体实现的一种软件系统架构。s o a 是一个组件模型,它将应用程 序的不同功能单元定义为“服务”,通过“服务”之间标准中立的接口和契约联系起 来,并独立于实现“服务”的硬件平台、操作系统和编程语言。这使得构建在各种 这样的系统中的服务可以以一种统一和通用的方式进行交互。 s o a 的关键是“服务”的概念,w 3 c 将服务定义为:“服务提供者完成一组工 作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变 化,但也可能使提供者的状态改变,或者双方都产生变化。” g a m l c r 则将s 0 a 描述为:“客户端服务器的软件设计方法,一项应用由软 件服务和软件服务使用者组成。s o a 与大多数通用的客户端服务器模型的不同 8 西北工业大学硕士学位论文第2 章面向服务体系结构技术综述 之处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口。” 虽然不同厂商或个人对s 0 a 有着不同的理解,但是仍然可以从上述的定义中 看到s 0 a 的几个关键特性:一种粗粒度、松耦合服务架构,服务之间通过简单、 精确定义接口进行通信,不涉及底层编程接口和通信模型。 从s o a 的定义中可以总结归纳出以下特剧9 】: 1 服务的封装 将服务封装成用于业务流程的可重用组件。它提供信息或简化业务数据从一 个有效的、一致的状态向另一个状态的转变。封装隐藏了复杂性。服务的接口保 持不变,使得用户远离具体实施上的变更。 2 可重用的服务及服务接口设计管理 s o a 采用可重用的原则设计服务,使应用变得更加灵活。可重用服务采用通 用格式提供重要的业务功能,为开发人员节约了大量时间。为了实现可重用性, 服务只工作在特定处理过程的上下文中,独立于底层实现和客户需求的变更。 3 服务的互操作性 互操作并不是一个新概念,在c o i m a 、d c o m 中就已经采用互操作技术了。 在s o a 中,通过服务之间既定的通信协议进行互操作。主要有同步和异步两种通 信机制。s o a 提供服务的互操作特性更利于其在多个场合被重用。 4 松散耦合 s o a 具有“松散耦合”的组件服务,这一点区别于大多数其它的组件架构。该 方法旨在将服务使用者和服务提供者在服务实现和客户如何使用服务方面隔离开 来。服务提供者和服务使用者间松散耦合背后的关键点是服务接口作为与服务实 现分离的实体而存在。服务请求者不必关心服务提供者实现服务的细节,两者之 间采用基于标准的协议例如s o a p ,j m s 传输消息。 5 标准化的接口 s o a 对服务接口标准化描述,从而使得该服务可以提供给在任何异构平台和 任何用户接口使用。该接口隐藏了实现服务的细节,允许独立于实现服务基于的 硬件或软件平台和编写服务所用的编程语言使用服务。近年来出现的两个重要标 准垤l 和w 曲服务增加了全新的重要功能,将s o a 推向更高的层面,使得服 务得以通过标准化接口( w s d l ) 提供,并可基于标准化传输方式( h r r p 、j m s ) 、 采用标准化协议( s o a p ) 进行调用。 6 位置透明性 位置透明性要求s o a 系统中的所有服务对于它们的调用者来说都是位置透 明的,也就是说每个服务的调用者只需要知道它们调用的是哪一个服务,但并不 9 西北工业大学硕士学位论文第2 章面向服务体系结构技术综述 需要知道所调用服务的物理位置在哪里。服务位置的透明使得服务可以被动态的 绑定,也可以被静态调用,这样方便了调用者对服务的使用。 2 2 2s o a 的参考模型 _ 表示层匕 6 匕 服 务 消 f 业流程层( 重三三季三) ) ,等待一条消息来响应由某人从外部进行调用的服务接口的操作 ( ) ,把数据从一个地方复制到另一个地方( ) ,指明某个地方 出错了( ) , 定义一个循环( w l l i l c ) ,执行几条可选路径中的一条( ) 。以及指明 一组步骤应该并行地执行( ) 。在并行地执行的一组活动中,您可以通过 使用链接( 1 i i l l 【) 来指明执行顺序方面的约束。 b p e l 允许递归地组合结构化活动,以表达任意复杂的算法,这些算法表示 了服务的实现。 2 d r o o l s 规则 业务规则比业务本身更改更频繁,而更改和管理嵌入的业务规则是一个复杂 问题,并超出了大多数分析员的能力范围。因此,随着业务规则的更改,程序员 通常要消耗大量时间来执行该任务。大多数组织缺少中央规则信息库。因此,策 略中任何涉及到组织范围的更改都无法运用到所有业务流程中。业务流程无法重 用规则。因此,r r 人员最终要为每个流程设计规则,这通常导致不一致性或冗余。 避免这些问题的最佳方法是使用规则引擎将业务流程与业务规则分离。在该 3 4 西北工业大学硕士学位论文 第4 章s y n c h r o e s b 的服务组合设计 方法中,规则公开为服务,而b p e l 流程在到达决策点时通过查询该引擎来利用 这些服务。该方法更为灵活:可以通过图形方式操作规则,而不是在编程语言中 或在流程内部对规则进行编码。业务用户可以使用工具自行编写规则,并且无需 i t 人员的协助即可进行部署后的规则更改。由于大多数更新和功能增强是由业务 用户执行的,因此可以显著减少维护成本。 d m o k 是一个基于c t m l 髓f o r g y s 的r e t e 算法的,专为j a v a 语言所设计的 规则引擎。r e t e 算法应用于面向对象的接口将使基于商业对象的商业规则的表 达更为自然。d r 0 0 l s 是用j a v a 写的,但能同时运行在j a v a 和n c t 上。 d m o l s 被设计为可插入式的语言实现。目前规则能用j a v a ,p y t l l o n 和g r o o v y 实现。它提供了声明式程序设计,并且使用域描述语言d s l ( d o m a i l ls p e c i f i c 1 a i l g i l a g c s ) 定义了某种模式的x m l ,用来描述各种业务领域。d s l 包含的x m l 元素 和属性代表了其中的各种要素。 一个开放的规则引擎可以嵌入在应用程序的任何位置,不同位置的规则引擎 使用不同的规则集,用于处理不同的事实对象。规则引擎的基本机制是:对提交 给引擎的事实对象进行检索,根据这些对象的当前属性值和它们之间的关系,从 加载到引擎的规则集中发现符合条件的规则,创建这些规则的执行实例,这些实 例将在引擎接到执行指令时依照某种优先顺序依次执行。使用规则引擎可以通过 降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本 【2 5 1 。 采用d r o o l s 规则引擎,能够有效地把业务规则和基本的技术实现分离【2 6 】。特 别适用于业务规则复杂且变动比较频繁的应用。相比较传统的配置文件和脚本语 言定制的方式,规则引擎不仅更加灵活,而且在大规模规则集的情况下,也能够较快 地完成规则匹配( 基于i 唧e 算法) ,不会成为系统性能的瓶颈。 3 技术路线 s y n c h m e s b 总体设计参考j b i 规范,采用s p f i l l g 的框架支持,实现业务流程 的整合,需要解决业务流程和业务规则分离的问题,达到业务流程重用、减少企 业成本的功能。 d r o o l s 规则引擎和b p e l 是两种互补技术,在服务组合设计中,s y n c h r o e s b 提供应用开发工具来显示、设计和管理b p e l 流程,而d r o o l s 规则引擎使复杂 的业务逻辑可以用类似英语的语法表示,并由非程序员领域专家对其进行编辑。 如图4 5 所示,业务逻辑被分布到三个不同的i t 基础架构层中:业务流程、 w 曲服务和规则。其中,w 曲服务层和业务流程层的设计同s o a 参考模型一直, 规则层中的规则引擎将规则从业务中抽离出来,公开为服务,由业务流程来调用。 3 5 西北工业大学硕士学位论文第4 章s y n c h r o e s b 的服务组合设计 图4 - 5 流程描述设计方案 b p e l 和d r o o l s 的属性和实现方面有以下共同点: 1 ) 实现业务逻辑描述的功能。b p e l 是实现w c b 服务组合的标准规范语言, 而d r o o l s 是专为j a v a 开发提供的业务逻辑分离工具,它基于j a v a 的组件接口, 减少了软件开发的复杂性。 2 ) 基于江l 语言格式,使开发人员容易上手,便于维护。d d o o l s 提供由1 来描述业务规则,它通过类似j m ,a 的规则描述语言( x m l 、也) 制定。b p e l 是基于讧l 定义的流程描述语言,它位于几个讧l 规范之上:w s d l1 1 、讧l s c h e i i l a1 o 和a m l o 。其中w s d l 消息和) ( 1 l s c h 锄a 类型定义提供了b p e l 流程所用的数据模型:a m 为数据处理提供支持;所有的外部资源和伙伴被表 示成w s d l 服务。 3 ) 工作引擎都可以集成到s p i n g 框架中,b p e l 引擎和d r 0 0 l s 规则引擎 支持s p m g 框架,都可以封装为一个服务组件,来执行业务流程。 4 2 服务组件设计 通过对组合服务的技术研究,组合服务由组件服务和基本服务构成,服务组 件封装了相应的服务功能和适应的数据,它们之间相对独立,是一种面向服务的 应用程序。 在s y n c h m e s b 系统中,组件作为p e e rs e r v e r 的一部分,用于对外部的遗留 西北工业大学硕士学位论文 第4 章s y n c h r o e s b 的服务组合设计 应用进行包装和适配,将外部的应用系统连接进入服务总线,使其能够以标准的 消息交换与其它的程序组件和应用系统进行交互,或者作为业务逻辑、转换等服 务的提供者。 组件分为两类:标准组件和轻量级组件。 标准组件是容器级的构件,满足嵋i 规范定义的所有构件特征,支持服务单 元部署,代表为b p e l 执行引擎、轻量级容器和规则引擎。一个标准的m i 组件 可以j 盯包的形式通过自动安装机制部署到p e e r s e r v 盯上。此类组件要求熟悉j b i 规范,开发也较为复杂。 轻量级组件( 如p o j 0 ) 是实现j b i 规范定义的标准构件,通过配置文件部署到 轻量级容器上,它既可以实现数据库适配,文件读写等技术功能服务,也可以实 现银行查询等商业服务。轻量级组件不可以在运行时部署( 没有j b i 打包描述符) , 也不支持服务单元部署利用。通过开源的s e r v i c e m i x 提供的开发轻量级j b i 组件 框架,可以开发出该类组件,容易被没有接触过j b i 规范的开发者掌握。 鉴于开发难度和应用场景,s y n c t 啪e s b 系统采用轻量级组件,并将其分为轻 量级服务组件l w s e ( l i g h tw e i g h ts e r v i c ee n g i n e ) 和轻量级绑定组件l w b c ( l i g b tw e i 班b i n g i n gc o m p c n t ) 。 s y l l c l 啪e s b 提供“预制服务”的功能,即预先开发一些较为常用的轻量级服 务组件以j 盯包的形式存放在u s 的组件仓库,用户在设计业务流程时可以直接通 过配置文件将其部署到s y n c h r 0 e s b 上。开发一个轻量级的组件只需要继承 s e n ,i c e m i x 提供的支持类c o m p o n e i l t s u p p o f t ,图4 - 6 是c o r n p o n e n t s u p p o n 类继承 其它支持类和实现j b i 规范中接口的类图。 图4 击c o n 】p e n t s u p p o r t 及其祖先类的类图 3 7 西北工业大学硕士学位论文第4 章s y n c h r o e s b 的服务组合设计 4 3 组合服务建模和部署 s p o 作为s ”c h r o e s b 最主要的用户接口,是应用开发用户用来设计、部署、 和管理整个运行在s y i l c h r o e s b 上的服务组合流程的主要工具。组合服务的建模 和部署主要通过s p 0 生成三种文件并打包,再将其部署到其它模块执行完成。 4 3 1s p o 生成的文件格式 1 流程描述文件 s p o 作为组合服务的建模工具,提供了业务流程编辑器的功能,流程设计人 员可以在s p o 上通过简单的图形拖放和线条连接生成服务组合流程图。此外,s p o 必须实现由服务组合流程图转换流程文件的功能。本系统采用b p e l 作为组合服 务的唯一流程描述语言,需要将图形化文件装换成b p e l 格式的流程文件,便于流 程执行引擎解释执行。 2 服务描述文件 b p e l 流程指定了参与组合的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 4184:2025 EN Belt drives - Classical and narrow V-belts - Lengths in datum system
- 陕西省汉中市十校2025-2026学年高二上学期期中联考语文试题含答案
- 2026年中国安防行业发展展望及投资策略报告
- 新能源汽车的营销策略分析-以智己为例
- 安徽省合肥市百花中学等四校联考2025-2026学年高一上学期11月期中考试生物试卷
- 广西名校联考2025-2026学年高三上学期11月考试政治试卷
- 四川省泸州市2025-2026学年高三上学期高考一模11月考试地理试卷
- 2025年苏州美术招聘真题及答案
- 复变函数形考试题及答案
- 2025年网络策划营销真题及答案
- 2025贵州贵安商业资产运营管理有限公司招聘11人考试笔试备考题库及答案解析
- 2025年陕西省行政执法证考试题库附答案
- 学堂在线医学英语词汇进阶(首医)作业单元测验答案
- 儿童共同抚养协议书范文
- DL5000-火力发电厂设计技术规程
- 基于网络流量分析的威胁检测研究
- 艾梅乙健康教育知识讲座
- 体质测试教案
- 15D501建筑物防雷设施安装图集
- 水库工程建设征地移民安置监测评估本底调查报告
- 多参数监护仪产品技术要求三瑞
评论
0/150
提交评论