(计算机应用技术专业论文)基于esb的企业信息集成方法和技术研究.pdf_第1页
(计算机应用技术专业论文)基于esb的企业信息集成方法和技术研究.pdf_第2页
(计算机应用技术专业论文)基于esb的企业信息集成方法和技术研究.pdf_第3页
(计算机应用技术专业论文)基于esb的企业信息集成方法和技术研究.pdf_第4页
(计算机应用技术专业论文)基于esb的企业信息集成方法和技术研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

摘要 企业信息系统在适应变幻莫测的市场需求时必须能够有效的集成已有软硬件及数据资 源,由于原有信息集成技术的能力不足逐步显现,使得基于e s b 的企业信息集成方法与技 术已成为当前众多i t 企业和科研院所研究的热点。本文在讨论了s o a 、e s b 及信息集成后 将研究重点定位在了满足企业信息集成的e s b 的设计和构造上。本文吸收了已有开源e s b 及s o a 最新标准的优点后设计了e i e s b 系统并构造了e i e s b 的轻量级实现j s s o a 系 统。 e i e s b 系统的显著特点在于: 1 拥有良好可扩展性的消息处理引擎、基于构件的服务开发模型、全系统内服务透明 调用的能力、丰富的系统固有服务; 采用公共消息标准和传输协议、容器化管理不同技术实现的服务及根据需求路由消 息,使得e i e s b 在集成各种异构系统时游刃有余; 拥有功能相对完备的系统控制台,使得e i e s b 在分布式部署环境下具有很好的可 管理性; 集成a c t i v eb p e l 引擎以支持b p e l 流程服务的执行,使得e 1 e s b 具有业务敏 捷性; 对用户的访问进行认证和权限检查,支持单点登陆; 采用主一从组件部署机制确保特定管理域内各e s b 结点间组件的一致性; 采用服务间依赖关系全局视图为信息集成系统的进一步进化提供指导: 采用合理的服务粒度及组合度的量化方法为信息集成系统的进化原则提供理论依 据,并在此基础上提出了衡量s o a 系统的两个量化指标:s o a 系统服务复杂性离 散度和系统组合度。 j s s o a 系统实现了e i - e s b 的核心功能,此外j s s o a 系统除了像e i e s b 一样关注业务 逻辑的集成外还实现了信息系统用户界面的集成,从而为企业用户提供了访问信息集成系统 的统一界面。作为用户界面的一个实现也作为e i e s b 系统的一个重要组成部分系统控 制台已在j s s o a 系统中实现,其在管理j s s o a 系统的分布式部署和运行上发挥了重要作用。 关键词:e s b , r e f e r e n c e ,服务透明调用, 主一从部署机制, 服务粒度,服务组合度 2 3 4 5 6 7 8 a b s t r a c t e n t e r p r i s ei n f o r m a t i o ns y s t e mm u s tb ea b l et oe f f i c i e n t l yi n t e g r a t ea l lr e s o u r c e s ,s u c ha s s o f i w a r e s ,h a r d w a r e sa n dd a t aw h e ni ta d a p t st ou n p r e d i c t a b l em a r k e tc h a n g e s b e c a u s et h e c a p a b i l i t y o ft h eo r i g i n a li n f o r m a t i o ni n t e g r a t i o nt e c h n o l o g yi sl i m i t e dw h e ns o l v i n gt h e i n t e g r a t i o nr e q u i r e m e n t sf r o mt h ee n t e r p r i s e ,t h ee n t e r p r i s ei n f o r m a t i o ni n t e g r a t i o nm e t h o da n d t e c h n o l o g yb a s e do ne s b i st h er e s e a r c hh o tc u r r e n t l yi nm a n ys c i e n t i f i cr e s e a r c hi n s t i t u t e sa n di t c o m p a n i e s t h i sp a p e rm a k e st h er e s e a r c hp r i o r i t i e sf o c u so nt h ed e s i g na n dc o n s t r u c t i o no fe s b w h i c hs a t i s f i e st h er e q u i r e m e n t so ft h ee n t e r p r i s ei n f o r m a t i o ni n t e g r a t i o na f t e rd i s c u s s i n gt h e r e s e a r c hc o n t e n to fs o a ,e s ba n de a i a b s o r b i n gt h ea d v a n t a g e so fa no p e ns o u r c ee s ba n d t h el a t e s ts o as t a n d a r d s ,t h i sp a p e rd e s i g n st h ee l - e s bs y s t e ma n dc o n s t r u c t si t sl i g h t w e i g h t i m p l e m e n t a t i o n - - j s s o as y s t e m n en o t a b l ef e a t u r e so fe i - e s bs y s t e ma r ea sf o l l o w s : 1 h a v i n gam e s s a g e p r o c e s s i n ge n g i n e 、i mg o o de x t e n s i b i l i t y , s e r v i c ed e v e l o p m e n t m o d e lb a s e do nc o m p o n e n t ,c a p a b i l i t yo ft r a n s p a r e n ti n v o c a t i o no ft h es e r v i c e si nt h e w h o l es y s t e m ,r i c hi n h e r e n ts e r v i c e si ns y s t e ml e v e l ; 2 a d o p t i n gt h ec o m m o ns t a n d a r d sf o rm e s s a g ea n dt r a n s p o r t a t i o np r o t o c o l s ,m a n a g i n ga l l t h es e r v i c e si m p l e m e n t e d 谢t l ld i f f e r e n tt e c h n i q u e si nt h ec o r r e s p o n d i n gc o n t a i n e r s ,a n d r o u t i n gm e s s a g e si nc e r t a i nc o n d i t i o n s ,t h ea b o v et h r e ef e a t u r e sm a k ee l e s bq u a l i f i e d t oi n t e g r a t em a n yh e t e r o g e n o u ss y s t e m s ; 3 h a v i n gas y s t e mc o n s o l e 谢t hr e l a t i v e l yc o m p l e t ef u n c t i o n s ,w h i c hm a k e se i - e s bq u i t e m a n a g e a b l ew h e ni ti sd i s t r i b u t e do ns e v e r a ls e r v e r si nan e t w o r k ; 4 i n t e g r a t i n g “a c t i 、呢b p e le n g i n e ”t os u p p o r tt h ee x e c u t i o no fb p e ls e r v i c e ; 5 a u t h e n t i c a t i n gu s e r s ,c h e c k i n gu s e r sa c c e s sr i g h t ,a n ds u p p o r t i n gs i n g l e - s i g n - o n ; 6 a d o p t i n gt h em a s t e r - s l a v ed e p l o y m e n ts c h e m et og u a r a n t e et h a tt h ec o m p o n e n t so n d i f f e r e n te s b si nac e r t a i nm a n a g e m e n td o m a i nc a nb cc o n s i s t e n t ; 7 v i s u a l i z i n gt h ed e p e n d e n c yr e l a t i o n sb e t w e e na l lt h es e r v i c e si nt h ew h o l es y s t e mt o p r o v i d et h eg u i d e l i n e sf o rt h ee v o l u t i o no ft h ei n f o r m a t i o ni n t e g r a t i o ns y s t e m ; 8 a d o p t i n gar e a s o n a b l eq u a n t i t a t i v em e t h o df o rs e r v i c eg r a n u l a r i 哆a n dt h ec o m b i n a t i o n d e g r e eo fas e r v i c et op r o v i d et h e o r e t i cb a s i sf o re v o l u t i o ng u i d e l i n e so ft h ei n f o r m a t i o n i n t e g r a t i o ns y s t e m ;b a s e do nt h ea b o v eq u a n t i t a t i v em e t h o d ,t h i sp a p e ra l s op r o p o s e s t w oq u a n t i t a t i v ei n d i c a t o r st om e a s u r es o as y s t e m :d e v i a t i o nd e g r e eo ft h es e r v i c e c o m p l e x i t yf o rs o as y s t e ma n dc o m b i n a t i o nd e g r e ef o rs o as y s t e m j s s o as y s t e mr e a l i z e st h ec o r ef e a t u r e so fe i e s b b e s i d e st h ei n t e g r a t i o no ft h eb u s i n e s s l o g i c sw h i c hi sd o n eb ye l e s b ,j s s o as y s t e ma l s oi m p l e m e n t st h ei n t e g r a t i o no fg r a p h i cu s e r i n t e r f a c e s ,w h i c hp r o v i d e st h eu n i f o r mu i sf o ra l lk i n d so fu s e r si nac o m p a n y a s a n i m p l e m e n t a t i o ns a m p l eo ft h eg u i ,s y s t e mc o n s o l e ,w h i c hi sa l s oa ni m p o r t a n tp a r ti ne i e s b , h a sb e e ni m p l e m e n t e di nj s s o as y s t e ma n di tt a k e sa ni m p o r t a n tr o l ei nm a n a g i n gt h ed i s t r i b u t e d r u n n i n go fj s s o as y s t e m k e y w o r d s :e s b ,r e f e r e n c e ,t r a n s p a r e n ti n v o c a t i o no fs e r v i c e ,m a s t e r - s l a v ed e p l o y m e n t s c h e m e , s e r v i c eg r a n u l a r i t y , c o m b i n a t i o nd e g r e eo fs e r v i c e i i 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 研究生签名:纠赂导师签名: i i 身织 日 期: 第一章绪论 1 1 研究背景 第一章绪论 企业当前面临的问题主要是: 1 集成企业不同时期利用不同技术开发的基础平台、系统软件和应用软件,使他们能够互 联、互通、共享数据信息,提高资源利用率; 2 能够利用企业内已有的r r 资源敏捷高效地应对捉摸不定的用户需求变更; 3 能够在企业联盟中与其他成员的n 系统实现业务协同。 上述三个问题都是为了集成企业内部或外部资源来满足企业或用户的需求,具有深刻的内在 联系。针对上述三个问题,相关企业都已提供了解决方案,如e a i 、b p m 和企业协同工具,但它 们之间缺乏深入的交互,甚至在一些使用环境中是相互独立的,不能相互灵活有效地利用彼此所 提供的服务,这严重阻碍了企业实现自身业务价值的最大化。 最近几年逐渐流行的s o a 的架构理念为解决上述问题提供了全新的方案,并且随着国外一些 s o a 系统的成功研发和部署,对s o a 架构实现技术的研究在国内也成为了热点。i d c 的( 2 0 0 7 年 中国企业s o a 应用调查显示,7 7 5 接受调查的中国企业开始考虑或着手实现s o a 架构,其 中已经部署s o a 项目的企业占1 0 ,已经规划或正在部署的占3 0 ,正在进行s o a 项目论证的 占3 7 5 t 1 1 。在实施s o a 进行系统集成时,美国企业主要对已有系统中的功能进行提取和包装并形 成标准的服务,而i d c 的s o a 中国路线图的制定者们通过调查认为,中国s o a 的主要任务除了要 整合历史上所建设的大量生产型系统外,最根本的任务是需要新建大量的服务性系统,这一点在 构造中国s o a 系统时是必须关注的。 当前,支持s o a 架构的实现技术主要包括企业界主导的w e bs e r v i c e 以及最初由学术界主导、 后与企业界结合的o g s a ( o g s i 1 w s r f ) 网格技术,其代表平台就是g l o b u st o o l k i t3 2 4 0 。其 中w e b 服务的研究和使用较为广泛,而且基于w e b 服务的s o a 架构已由原始的基于服务注册库 的简单架构发展到了基于企业服务总线( e n t e r p r i s es e r v i c eb u s ,e s b ) 的复杂架构。由于e s b 具 有基于公共标准实现、基于消息处理事务、支持分布式部署及易于管理等特性,它逐步引起了人 们的关注并成为了实现s o a 的主流支撑技术。作者所参加的由金思维公司和作者所在实验室共同 承担的江苏省科技成果转化基金项目“基于s o a 的新一代企业管理软件研发与产业化”( 科研经 费3 2 0 0 万元) 便是基于e s b 建立服务基础架构,并以此来支持在s o a 整个生命周期里对异构服 务的部署、配置、保护和管理等。该新一代企业管理系统将会首先在较粗粒度上实现该公司现有 企业管理软件系列j s e r p 、j s s c m 、j s c r m 、j s o a 、j s d r p 等向s o a 的迁移和整合;然后考虑 对核心产品j s e r p 及相关产品现有组件库的整理和重组,创建更合理的面向业务的服务体系,实 现企业内部基于s o a 、能够“随需应变”的信息系统;最后将实现与第三方供应商的专业服务、 以及外部其它企业信息系统的整合与互操作,从而可以方便快捷地实现动态企业联盟、供应链管 理、b 2 b 电子商务应用等,以达到比较理想的目标。本文的研究将以该项目为背景逐步展开。 1 2 研究现状 目前,国内外对e s b 的研究都比较积极,m m 的i s v 、b e a 的a q u a l o g i es e r v i c eb u s 、开源 的m u l e 和c e l t i x 、i o n a 的a r t i x 等,都是企业服务总线的具体实现。其中a q u a l o g i cs e r v i c eb u s 在 a h l 金融公司成功实施,a r t i x 在北京移动成功实施。 在国内,文献 2 ,3 ,4 , 2 0 都对e s b 的设计进行了研究,但这些研究依然都处在概念层次上并没 有落实到一个具体系统上。 l 东南大学硕士学位论文 为深入研究本文的主题,本文分析了开源e s b 系统c e l t i x 。研究发现,该系统虽然为s o a 的实现提供了一个基于消息的、分布式的基础设施,能够基于w s d l s o a p 等标准发布访问服务, 路由消息并集成各种异构应用和服务,但由于为了保持自身的通用性,它并没有处理或仅简单处 理了用户访问控制,服务注册和查询,服务流程组合及在分布式环境下的服务部署及服务管理等 诸多方面的问题,而这些问题正是企业信息集成系统所关心的。 此外,在中国的企业信息集成系统中重要的工作还包括构建大量新的服务。在构造服务时, 2 0 0 7 中国s o a 路线图的倡导者们建议采用基于构件的技术,而s o a 的国际标准s c a s d o 为这 一建议的实施提供了具体方案。为了支持上述服务在e s b 中运行,还需对e s b 作相关扩展。 1 3 研究目标 本文将在开源e s b 项目c e l t i x m u l e 的基础上设计用于企业信息集成的e s b ,使之拥有“集 中式管理,分布式运行”的工作模式,能够对用户进行认证并向用户提供单点登陆能力,能够对 用户进行访问控制,能够查找调用系统内部署的服务,能够向用户提供位置透明、“实现技术” 透明和“传输协议”透明的服务调用。目标系统还将能够管理集成系统中的用户信息和访问权限 信息,以及系统中所有结点上服务的部署与发布,以提高信息集成系统的可管理性;目标系统还 将能够呈现集成系统中服务间依赖关系的全局视图并通过相关量化指标来指导整个集成系统的进 一步进化。目标系统还将能够集成b p e l 设计器和b p e l 引擎,以方便用户构造和执行流程服务, 从而提高集成系统的业务敏捷性。目标系统还将能够部分遵循s c a 标准来开发服务,以适应企业 内大量服务的工业化生产。更重要一点是,目标e s b 系统还将具有开放性,即能够使系统可以访 问外部资源,也可使外部系统受限地访问内部资源。总之,目标e s b 系统在进行企业信息集成时 将能够符合一定的s o a 原则,其上所部署的服务在一定程度上能够满足自治、透明、互操作和可 发现等基本属性,以便于整个系统灵活的面对将来未知的企业信息集成。 在上述e s b 设计需求的基础上,本文将实现一个轻量级但功能相对完备的、可运行的e s b 系统,以验证本文设计的可行性及正确性。 1 4 本文组织结构 第一章介绍研究背景,分析了本文涉及问题的研究现状,在此基础上确定研究目标。 第二章综述s o a ,指出s o a 领域研究的相关问题,并在s o a 的大背景下对本文的研究内容进 行定位,以指导本文将精力放在s o a 更有意义的研究点上;随后介绍一个e s b 开源项目c e l t i x , 分析其功能和系统架构,透析其实现细节,总结其实现优点,为设计本文的e s b 提供素材;而后 简述传统e a i 面临的问题,最终讨论基于e s b 的企业信息集成方法并限定本文的研究主题,同时 还明确了本文研究所处的计算环境。 第三章论述基于e s b 的企业信息集成架构和e s b 引擎,分析该架构的元数据管理,探讨e s b 中的服务调用、用户访问状态的管理、全系统内服务透明调用等核心问题的解决方法。在该章的 讨论中还将涉及服务端编程模型。 第四章重点论述第三章集成架构在信息集成时面临的关键问题,如在分布式环境下的用户认证 与权限检查、服务部署,同时详细讨论了如何构造信息集成系统中服务间依赖关系的全局视图, 并在此基础上通过量化服务粒度和组合度来指导信息集成系统的进一步进化。 第五章介绍e i e s b 的一个轻量级实现i j s s o a 系统及其分布式应用。 第六章对本文做总结,并指出了进一步的研究工作。 2 第二章s o a 、e s b 与企业信息集成 2 1s o a 第二章s o a 、e s b 与企业信息集成 1 9 9 6 年g a r t n e r 提出s o a ,目的是让企业业务更加敏捷,软件系统变得更有弹性,使企业能快 速响应需求的变化,但限于当时的环境与技术,s o a 仅停留在思想层面。随着x m l 、s o a p t 3 s j 和 w s d l l 3 9 等语言和协议的标准化及w 曲服务在电子商务领域的广泛使用,很多组织开始意识到w 曲 服务可以成为一种架构平台的基础,而不仅仅是提供分布式应用的能力,因此以w e b 服务为实现 技术的s o a 变得普遍,而u d d i 4 0 i 的出现进一步扩展了s o a 。随后,在众多软件厂商的积极开发 和协作下,第二代w 曲服务规范1 w s 事规范2 逐渐被提出,使得w 曲服务技术平台逐渐达到企业级 水平,尤其是w s b p e l 的提出,使得传统的业务流程( b p ) 可以方便地由服务组合来实现,填补 了业务系统分析与实现间的空白。这样,s o a 在企业级架构中的重要地位逐渐显现,而且s o a 基 础设施的实现也由基于服务注册表的模式转向了基于企业服务总线( e n t e r p r i s es e r v i c eb u s ,e s b ) 的模式。 除了对s o a 基础设施的研究外,对在s o a 基础设施上运行的面向服务的业务应用 ( s e r v i c e o r i e n t e db u s i n e s sa p p l i c a t i o n ,s o b a ) 系统的分析与设计的研究也在紧锣密鼓的进行。 文献【5 】给出了在服务建模及业务流程设计过程中可以遵循的一些重要的原则和有效的方法论,其 讨论的核心是如何根据系统业务需求进行服务的划分与组合。针对服务划分问题,其核心任务是 在分析与设计过程中如何确定一个服务的功能大小服务粒度【6 。7 8 9 】。本文不对服务划分问题提 供解决方案,而是基于已划分好的服务集合提出一种服务粒度及服务组合度的量化的方法,并从 这两个维度对服务划分结果进行可视化分析,以此为信息集成系统的服务进化提供参考建议。针 对服务组合问题,业界讨论更多的是基于w s b p e l 的业务流程编排,基于w s c d l 的服务编导, 以及对上述流程服务的执行与管理,如b p e l 4 1 引擎和b p m ( b u s i n e s sp r o c e s sm a n a g e m e n t ) 。而本 文仅对b p e l 设计器及b p e l 弓i 擎与e s b 的关系进行初步探索。 不管服务如何划分,服务终究是要实现出来并在s o a 系统中运行的,只有这样s o a 系统才能 进一步采用相关技术组合服务及构造业务流程( 或协作流程) 。当前服务的实现技术主要有j a v a 普 通类、e j b 、n e t 等,但不管用什么技术来实现服务,都应使服务具备自治、松耦合、互操作等 基本特性。2 0 0 7 年初o s o a 组织发布t s o a 的编程模型s c a s d o b o a h ,为多种技术描述了构造服 务的方法。s c a 的核心概念是服务及其相关实现。服务( s e r v i c e ) 由接口定义,而接口包含一组 操作。服务则实现为组件( c o m p o n e n t ) 并可以引用其他服务,称为引用( r e f e r e n c e ) 。服务可以 有一个或多个属性( p r o p e r t y ) ,这些属性是可以在外部配置的数据值。s c a 另外两个重要概念是 组合( c o m p o s i t e ) 和域( d o m a i n ) 。组合服务是多个组件( c o m p o n e n t ) 服务通过配置获得的, 这些组件可以在一台主机上的同一个进程中运行或多台主机上的多个进程中运行。而将同一软件 供应商的s o a 基础设施部署在多个网络结点上并采用统一的管理方法而构成的网络环境称为一个 域,在一个域中可以有多个c o m p o s i t e 。为构建面向服务的应用程序,s c a 有两大步骤l lr 2 j :实现组 件以提供服务和使用其他服务;通过“引用”来组装组件。s c a 支持使用多种编程语言编写的服 务实现,这既包括常规的面向对象和过程的语言,如j a v 一、p h p 、c 阡、c o b o l ,也包括b p e l 和x s l t 等以x m l 为核心的语言,还包括s q l 和x q u e r y 等面向问题的语言。s c a 还支持 各种编程样式,除了同步调用返回样式外,还包括异步样式和面向消息的样式。s c a 支持到各 种用于调用服务的访问机制的绑定( b i n d i n g ) ,包括w e b 服务、消息传递系统和c o r b ai i o p 。 1 第一代w e b 服务规范包括w s d l ,s o a p 和u d d i 。 2w s 规范包括了w s 寻址,w s 可靠消息传递,w s 策略框架( 包括了w s 策略附件和w s 策略断言) ,w s 元数据管理,w s 安全,w s 通知,w s 一通知框架( 包括了w s 基本通知,w s 主题和w s 一代理通知) ,w s 事件, w s 协调,w s b p e l ,w s c d l 等系列规范。 3 东南大学硕士学位论文 绑定是以声明方式处理的,独立于实现代码。s c a 还促进使用服务数据对象( s d o ) ,s d o 是高 度抽象的业务数据模型,主要描述业务数据对象及其内部各种粒度的数据对象之间的关联,以统 一的方式访问或操作不同类型的数据源,并进行持久化。可以看到,上述s c a s d o 的各项能力都 对s o a 基础设施的实现提出了较高的要求。 当前s o a 架构发展不断成熟使得很多企业纷纷将自己的业务逻辑和技术策略发布成w e b 服 务,但是s o a 并非仅仅是w 曲服务【1 3 l 。d a n n ys a b b a h 说:“s o a 是1 的服务,9 9 的治理”d 4 , 可以看出,治理在s o a 中的重要作用。随着众多公司丰富s o a 实践经验的积累,s o a 质量和管 理被提出并与s o a 治理一起作为研究对象并成为研究热点。 对于s o a 治理、质量和管理( g o v e r n a n c e ,q u a l i t ya n dm a n a g e m e n t - - - - - g q m t 怕1 ) 的定义当 前并不统一。w e b m e t h o d s 在文献 1 5 】中对s o a 治理进行了定义并提出了s o a 治理的实现架构包 括了注册,信息库,策略实施,治理规则引擎和服务生命周期管理等五个部分。m m 则认为s o a 治理应能综合人、过程和技术等各方面能力为一体,确保s o a 的成功构造和实施,其主要包括重 复执行的四个连续阶段:计划( p l a n ) 、定义( d e f i n e ) 、使能( e n a b l e ) 和度量( m e a s u r e ) i l4 1 。 而s u n 认为s o a 治理是让所有服务符合企业制订的策略和规则,其在提供s o a 治理解决方案【1 3 1 时指出s o a 治理包含:设计、部署及运行时治理,服务生命周期管理,服务发现和服务仲裁,服 务管理和监控等四个方面。而h p 则针对g 、q 、m 分别构造了相关工具,如文献 1 6 】,【1 7 和 1 8 】 所述,h p 认为s o a 治理主要是为了寻找可互操作的对象并在他们间建立恰当的信任关系,s o a 质量是为了保证服务在功能上能正确执行且具有可扩展性,而s o a 管理主要用来监控服务性能和 可用性,监测系统负载及实施策略。值得一提的是z a p t h i n k 公司在分析s o a 治理软件的市场分 布图时将s o a 治理软件分成了五类:注册库存储库、服务生命周期管理平台、策略管理工具、 设计时和运行时s o a 治理工剥1 9 1 。本文不对o q m 进行严格定义,也不对g 、q 、m 间内在的关 系进行深入探讨,而是在第四章中具体讨论本文在o q m 中涉及到的若干关键问题。 2 2e s b 企业服务总线e s b 的意义在于使s o a 有了一个可实现的基础设施而且能满足一些企业级应 用需求【4 2 j 。当前,在e s b 的实现上各家企业都有自己的特色并且对e s b 的功能定义也没有统一。 一些软件公司认为e s b 可以作为独立的中间件产品来出售,而m m 认为e s b 是一个提供通信、 整合、安全、事务支持和服务质量控制等s o a 功能的基础架构,可以有多种表现形式【2 lj 。本文 观点比较倾向于后者。 为了对e s b 作深入的研究,本文研究了开源项目c e l t i x 的系统功能,并对c e l t i x 源码作了深 入的分析。 2 2 ic e l t i x 功能结构 c e l t i x e s b 是一系列j a v a 开源组件的有机统一体,主要包含五个组成部分:c e l t i x 服务引擎、 容器、消息路由器、消息服务器及相关工具集,其组件图如图2 1 : 4 痢= s o ae s b 与企业信息集成 晕孽晕 r ,7 1 7 一 4 卜蓬卜翟卜| 鼋卜雹卜4 卜1 图2 ic e l d x 组制酬“ c e l r i x 服务引擎主要负责,接受从j a x w s j a v a 对象d a v a s c r i p t 脚本蒋类型的客户端通 过h t 丁p 或j m s 等协议发来的s o a p 及x m i 稍息请求,词川相关服务后将结果返叫给客户 端。在架构上其支持新的消息类l ! 或消息传输类型的加入。c e l t i x 服务引擎由于引用了开弹 项口x f i r e ,冈而般电称为c x f ( c e t t i x + x f i 佗) 。 c o n t a i n e r 主要负责加载c e h i x 服务引擎并启动它米完成客户端的请求。当前,c o n t a i n e r 土要包括a p a c h e i n c u b a t o rs e r v i c e m i xj b ic o m a i n 盯、t o m c a t5 xs e r v l e tc o s t a i n 盯和轻馘级的 基fs p r i n g 的c o n t a i n e t 及j 2 e e 相关容器。 消息路由器主要有如下路由功能1 :基丁操作的路南( o p e r a t i o n - b a s e dr o u t i n g ) 、协议转 换路由f t r a n s p o r lb r i d g i n g ) 、消息格式转换路由( m c s s a g cf o r m a ts w i t c h i n g ) 、f a i l - o v e r 路由 ( f a i lo v e rr o u t i n g ) 、消息广插( m 髂s a g e b r o a d c a s t i n g ) 、负载平衡路由( 1 0 a db a l a n c er o u t i n g ) 、 基r 内容的路由( c o n t e n t - b a s e dr o u t i n g ) 、链式处理路由( c h a i n e d p r o c e s m n gr o u t i n g ) 、线路分 裂路由( m u t i n gs l i pm u t e s ) 、根据接收者列表路由消息( r e c i p i e n tl i s tr o u t c s ) 等,r 述功能 c e l t i x 通过渊用另一开游e s bm u l e 米实现对m u l e 的论述参见文献1 2 3 】; 消息服务器主要是为了支撑e s b 系统山对异步消息请求的处理使得c e l t i x 咖向消息 的架构模式成为可能。当前与c d t i x e s b 兼容的7 自息服务器包括a c t i v e m 0 4 和q p i d 3 。 相荧1 具集主要提供了开发服务井在e s b 上部署服务的丁具,丌发客户端w 序的1 其, 艟监控e s b 上运行服务的t 具。 22 2c e h l x 引擎结构 通过分析c e l t i x 核心组t f c e 【t l x 服务引擎的相关代码后,得到丁c e l t i x 务引擎的体系 结杜j 蚓如图2 - 2 所吓: 搿黼嬲黧毒篡嚣:裟嚣黯一h t t p 。”“”“4 “。“ “2 十:“9 “h c o 叫。“u e n 。“却1 叫4 叫口时1 8 肾o “m 帅 ;端 东南大学硕士学位论文 l d e s t i n a t i o n f1 1 h 卜 1 s e r v i c e l n v o ki 服务请 消息处理程序 e r i n t e r c e p t o r | 卜 j a v a 类 求者 传输监听嚣 l鲫埘u 托卜( 三p 二y _ _ _ _ _ ,少 图2 - 2c e l t i x 服务引擎 从图2 - 2 可以看到,c e l t i x 服务引擎主要包含2 个部分:传输监听器和消息处理程序。传输 监听器包括d e s t i n a t i o n 和c o n d u i t 对象:d e s t i n a t i o n 对象负责接收消息,c o n d u i t 对象负责发送消 息。消息处理程序包括一系列截断器( i n t e r c e p t o r ) ,每个截断器处理消息的一个方面( 采用了面 向方面的编程思想) ,处理输入消息的截断器称为输入截断器( 或h l 截断器) ,处理输出消息的截 断器称为输出截断器( 或o u t 截断器) ,在消息处理过程中会调用目标服务对象执行业务逻辑。具 体来讲,c e l t i x 服务引擎的工作流程包含五个阶段: 1 监听到服务请求者发送的消息,根据消息请求的u r l 路径将消息传递给恰当的 d e s t i n a t i o n 对象; 2 d e s t i n a t i o n 对象将利用相关程序创建h l 截断器链,对进入引擎的消息进行一系列处理, 随后将会准备o u t 截断器链; 3 h l 截断器链随后会根据消息内容调用指定服务的指定操作,执行相关业务逻辑,并将处 理结果返回; 4 启动步骤2 准备好的o u t 截断器链对步骤3 中的返回结果进行处理,最终采用与输入消 息一致的协议将其输出给c o n d u i t 对象: 5 c o n d u i t 对象将步骤4 的输出消息按步骤l 中使用的传输协议传递给服务请求者; c e l t i x 服务引擎为了支持多协议的消息侦听与传输,构造了多类d e s t i n a t i o n c o n d u i t ,如 s e r v l e t d e s t i n a t i o n 、j m s d e s t i n a t i o n ,为使整个消息处理流程中与外界通信时都采用相同协议,每 个d e s t i n a t i o n 都内建与之匹配的c o n d u i t 。 图2 2 中,消息处理程序构造了两个截断器链,分别对输入消息和输出消息进行处理。为使 消息处理程序能够处理多种消息类型,如s o a p l 1 、s o a p l 2 、x m l 或用户自定义消息类型,消 息处理程序的输入和输出截断器链都是可以根据消息类型来动态构造的。输入输出消息截断器链 的动态构造使得其拥有很强的灵活性和扩展性,c e l t i x 对消息的不同调用方式和编码风格 ( r p c e n c o d e d ,r p c 几i t e r a l ,d o c l i t e 黜址,d o c l i t e r a i w r a p p e d i j 川) 的处理也 同样采用类似的解决方法。 为支撑c e l t i x 强大的消息处理能力,其构造了大量的( i n o u t ) 截断器。为了在处理消息时 获取配置恰当且能有序执行的截断器链,需要对截断器链的构造过程进行管理。为此,c e l t i x 为 每个截断器均设定一个阶段( p h a s e ) 状态,标识其在截断器链中的位置;同时c e l t i x 有一截断器 管理器( i n t e r c e p t o rm a n a g e r ,i m ) ,其根据具体需要负责从不同的截断器提供者( i n t e r c e p t o r p r o v i d e r ) 处获得截断器并根据截断器状态对之排序,形成截断器链。这样c e l t i x 服务引擎在执行 消息处理时只要顺序执行截断器链中的每个截断器即可。为处理截断器链在执行过程中的异常, 截断器管理器( i m ) 还为输入输出截断器链配备了输入输出错误处理截断器链( i n o u tf a u l t 截 断器链) ,即当输入输出截断器出错时截断器管理器会调用f a u l t 截断器链进行处理。i n o u tf a u l t 截断器链的维护方法与i n o u t 截断器链的一致。 对于h l 截断器或输入错误处理截断器( 称为i nf a u l t 截断器) ,它们所处的阶段依次如下: r e c e i v e 、p r e s t r e a m 、u s e r s t r e a m 、p o s t s t r e a m 、r e a d 、p r e p r o t o c o l 、 u s e r p r o t o c o l ,p o s z p r o t o c o l ,u n m a r s h a l ,p r e l o g i c a l ,u s e r l o g i c a l , p o s tl o g i c a l 、p i 也小o k e 、i n v o k e 、p o s t 玳、,o k e 。对于o u t 截断器或输出错误处理 截断器( 称为o u tf a u l t 截断器) ,它们所处的阶段依次如下: s e t u p 、p r el o g i c a l 、 6 第二章s o a 、e s b 与企业信息集成 u s e rl o g i c a l 、p o s tl o g i c a l 、p r e r 6 d 己es e n d 、p r es t l 也a m 、p i 己ep r o t o c o l 、 u s e rp r o t o c o l 、p o s tp r o t o c o l 、w r i t e 、m a r s h a l 、u s e rs t r e a m 、p o s ts t

温馨提示

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

评论

0/150

提交评论