




已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)基于企业服务总线的soa研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文 摘要 近几年来,面向服务的体系结构( s e r v i c eo r i e n t e da r c h i t e c t u r e ,s o a ) 以其松耦合、粗 粒度、与平台无关等特性成为软件体系结构的下一个发展阶段。 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 ) 成为i t 界 研究的一个焦点。e s b 真正体现了s o a 的理念,使得一切皆为服务,服务在总线中处 于平等的地位。e s b 是一种在松散耦合的服务和应用之间标准的集成方式,它提供通信、 整合、安全、事务支持和服务质量控制等s o a 要求的基础架构。本文的研究工作围绕 基于e s b 的s o a 展开,通过深入研究与s o a 和e s b 相关的理论体系,提出一种基于 e s b 的s o a 多层模型。将该模型分为五层:表示层、企业服务总线层、服务层、数据 访问层和数据层,对每层的含义和作用进行了详细的分析和说明,最后将此模型应用到 实际项目辽宁华福印染股份有限公司企业管理系统中,应用b i z t a l ks e r v e r2 0 0 6 和 w c f 技术实现在n e t 平台下基于e s b 的s o a 系统。 实践证明,s o a 已经成为构造企业信息系统的理想方式,尤其是对于那些拥有复杂 i t 环境的企业。使用s o a 来进行企业信息化,可以避免信息孤岛问题,使企业能够快 速灵活的应对市场的变化。本文提出的方法对印染行业的信息化开发有一定的参考价 值。 关键词:企业服务总线;s o a ;分层设计;服务;企业信息系统 大连理工大学硕士学位论文 s t u d ya n da p p l i c a t i o no fs o a b a s e do ne n t e r p r i s es e r v i c eb u s a b s t r a c t i nr e c e n t y e a r s ,s e r v i c e o r i e n t e d c o a r s e - g r a i n e da n dp l a t f o r m - i n d e p e n d e n t s o f t w a r ea r c h i t e c t u r e a r c h i t e c m r e ( s o a ) 谢t hi t sl o o s e l yc o u p l e d , f e a t u r eh a sb e c o m et h en e x td e v e l o p m e n ts t a g eo f s o a p r e s e n t sf u n c t i o nu n i t so ft h ea p p l i c a t i o ni nt h ef o r mo fs e r v i c e s s e r v i c ei n t e r f a c e i sd e f i n e di np l a t f o r m i n d e p e n d e n tw a y w h i c hm a k e ss e r v i c e sb u i l ti na l lk i n d so fs y s t e m s i n t e r a c tt h r o u g hac o m m o na n du n i f i e da p p r o a c h a st h em o s td e s i r a b l ed e s i g np a t t e r no f s o & e n t e r p r i s es e r v i c eb u s ( e s b ) i sb e c o m i n gar e s e a r c hf o c u so ft h ei ts t r a t e g y e s bt r u l y e m b o d i e st h ec o n c e p to fs o a a n dt r e a t se v e r y t h i n ga ss e r v i c e sw h i c ha r ee q u a li ne s b e s b i sas t a n d a r di n t e g r a t i o no fl o o s e l yc o u p l e ds e r v i c e sa n da p p l i c a t i o n s e s bi sa ni n f r a s t r u c t u r e f o re n t e r p r i s ea p p l i c a t i o n ,w h i c hm e e t ss o ar e q u i r e m e n t so fc o m m u n i c a t i o n , i n t e g r a t i o n , s e c u r i t y ,t r a n s a c t i o ns u p p o r ta n ds e r v i c eq u a l i t yc o n t r 0 1 i nt h i sp a p e r , w em a i n l yc o n c e r n w i t ht h es o ab a s e do ne s b t h r o u g hi n d e p t hs t u d yo fr e l a t e dt h e o r e t i c a ls y s t e ma b o u ts o a a n de s b w ep r o p o s eam o d e lo fm u l t i 1 a y e rs o ab a s e do ne s b t h em o d e li sd i v i d e di n t o f i v el a y e r s :e x p r e s s i o nl a y e r ,t h ee n t e r p r i s es e r v i c eb u sl a y e r ,s e r v i c el a y e r ,d a t al i n kl a y e r a n dd a t al a y e r ,w h o s em e a n i n ga n df u n c t i o na r ea n a l y z e da n de x p l a i n e di nd e t a i l f i n a l l y ,t h i s m o d e li sa p p l i e di n t ot h ep r o j e c t :l i a o n i n gh u a f up r i n t i n ga n dd y e i n gc o l t d se n t e r p r i s e m a n a g e m e n ts y s t e m t h i ss o ab a s e do ne s bs y s t e mi si m p l e m e n t e dw i t hb i z t a l ks e r v e r 2 0 0 6a n dw c fo n n e tp l a t f o r m p r a c t i c eh a sp r o v e dt h a ts o ah a sb e c o m ea l li d e a la p p r o a c hf o rc o n s t r u c t i n gt h e e n t e r p r i s ei n f o r m a t i o ns y s t e m ,e s p e c i a l l yf o rt h o s ee n t e r p r i s e s 谢t i lc o m p l e x 盯e n v i r o n m e n t u s i n gs o af o re n t e r p r i s ei n f o r m a t i o n i z a t i o n 。c a l la v o i di n f o r m a t i o n i s l a n dp r o b l e m s ot h a t e n t e r p r i s e sc a nr e s p o n dt om a r k e tc h a n g e sf a s ta n df l e x i b l y i nt h i sp a p e r ,t h em e t h o df o r i n f o r m a t i o n i z a t i o nt ot h ed e v e l o p m e n to fp r i n t i n ga n dd y e i n gi n d u s t r yh a sr e f e r e n c ev a l u e k e yw o r d s :e n t e r p r i s es e r v i c eb u s ;s o a ;d e l a m i n a t i n gd e s i g n ;s e r v i c e ;e n t e r p r i s e i n f o r m a t i o ns y s t e m i i i 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目: 彦j 畲月膀逆线的s o a 歹彳宅与多币 作者签名:委堑日期:兰竺兰年竺月旦日 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 沧文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 又保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 芬学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 宿印、或扫描等复制手段保存和汇编本学位论文。 学位论文题目: 隽孑岔彤月及参,琶乡写自95 p 彳彳元巧彦印 乍者签名:茎堡 狮斟:诈 日期:丝! 星年三月二三日 日期:兰竺里年l 月_ 三l 日 大连理工大学硕士学位论文 1 绪论 1 1研究背景 企业信息化大大提高了企业的竞争力,缩短了业务执行的周期,提高了业务交互的 效率,为公司未来发展决策提供了强有力的数据分析。辽宁华福印染股份有限公司企业 信息管理系统是为公司量身定做的一套e r p 系统,它包括了从采购到生产再到营销的 整个企业运行周期的信息化管理,整个系统采用b s 与c s 结合模式,在n e t 环境下, 利用s q ls e r v e r2 0 0 5 数据库进行实现。然而,实施信息化后企业和软件开发商又面临 着新的挑战: ( 1 ) 企业信息化过程中广泛存在着信息孤岛的问题。 随着信息技术的发展,企业在信息化建设中产生了大量为满足业务需要的应用程 序,这些系统之间往往是相互独立的,而且是由不同技术开发,运行环境也各不相同, 在它们之间进行良好的沟通是复杂而又昂贵的。企业信息系统多数处于封闭运行的状 态,形成一个个孤岛,企业之间、企业与上游供应商、下游消费者之间不能协调工作。 企业之间无法形成协同效应,信息化的经济效益难以有效发挥。 华福印染公司的总部和多个办事处使用的管理系统是孤立的,彼此之间没有实现信 息共享。一些业务需要人工操作,不能及时有效地沟通,并且容易出现错误。 ( 2 ) 企业信息系统难以灵活应对迅速变化的业务需求。 面对激烈的竞争和不断变化的环境,企业需要随时并且迅速调整自己的方针策略, 这样会直接导致企业内业务流程的变化和新需求的产生。但是业务变化的需求却得不到 企业信息系统的强力支持,因为只能通过不断开发新应用、扩展现有应用来完成这些需 求,而进行这个开发过程时,可能业务又有新的变化。完全依靠对系统进行再开发来适 应迅速变化的业务需求是不可能的。 华福印染公司原有系统无法对业务频繁扩展做出快速的回应,甚至需要重新设计原 有的系统。且信息发布的形式单一、过程繁琐,不能有效的使信息的需求者方便的获知 信息,信息发布的内容也不能方便地得到控制。这些问题严重影响了公司的发展。 可见传统的软件体系结构己经无法满足企业信息化的需求。面向服务的体系结构 ( s e r v i c eo r i e n t e da r c h i t e c t u r e ,s o a ) 作为软件体系结构的下一个发展阶段,来帮助软件开 发商解决新时期软件开发中存在的问题。s o a 已经成为构造企业信息系统的理想方式, 尤其是对于那些拥有复杂i t 环境的大型企业。使用s o a 来进行企业信息化,可以避免 基于企业服务总线的s o a 研究与应用 信息孤岛问题,使企业能够快速灵活的应对市场的变化。s o a 可以将其现有的资产带到 未来同时又构建新的应用程序系统。 华福印染管理系统实施s o a 方案后很好的解决了企业信息化问题,敏捷地应对市 场变化,提高了企业的竞争力。 s o a 是一种构造分布式系统的方法,它把所有的东西都看作服务,然后通过对服务 的调用来完成业务要求。s o a 通过将原有的应用和资源转变为可共享的标准服务,打破 了信息孤岛,实现了对原有系统的复用、组装和集成。s o a 的目标是为企业构建一个灵 活,可扩展的i t 基础架构来更好地支持随需应变的企业业务。 具体来说,s o a 把分布在不同企业信息系统中的各种资源都看作是服务,这些服务 是从业务需求出发的,而不是从技术角度。在不同的企业应用之间,也能够进行数据交 换,而不再需要考虑每个应用是用什么编程语言开发或在什么操作系统下运行等等。 由于服务反映的是业务模型,所以当企业因市场变化产生新的业务需求时,可以通 过服务的组合和复用来实现新的业务流程,同时把需要进行的开发工作降到最低,使企 业能够快速应对市场的变化。 1 2s o a 在国内外的状况 在s o a 的研究中,有着眼于整个架构设计的原则与模型的讨论,也有针对具体的 服务细节的讨论。国内外已经有一些案例,将s o a 的设计思想应用到医疗、电信、金 融等各个行业。按照g a r t n e r 的预测,到2 0 0 8 年,s o a 将成为占有绝对优势的软件工 程实践方法,它将结束传统的软件体系架构长达4 0 年的统治地位。届时,将会有6 0 的商业公司在进行商业i t 建设时会转向s o a t l l 。 在国外,b e a 、i b m 、o r a c l e 、微软等业界巨头纷纷发布自己的s o a 战略,建 议用户在进行企业i t 建设时考虑s o a 。s o a 在德国邮政系统和金融行业中都得到了应 用。德国的波茨坦大学主要研究了将人工智能技术应用到s o a 的服务自动组合中1 2 1 。 在国内,s o a 也已经引起国内企业的重视。国内一些有影响的行业用户正在基于 s o a 架构搭建其核心业务系统,很多企业都准备在短时间内开始规划使用这些基于s o a 架构的应用。国家8 6 3 c i m s 主题资助项目基于本体的w e b 服务查找和合成技术研究。 通过应用本体领域分类概念和d a m l 语义标签,对w e b 服务进行标准化表示。就w e b 服务核心支撑技术的研究而言,存在很多有待解决的开放问题。例如,在组合w e b 服 务的实施方案中,服务组件或基本服务的定位、协调、通信及调用策略,服务执行结果 的评估和正确性验证,高效服务质量管理策略的探索及服务质量代价模型的建立等【3 1 。 大连理工大学硕士学位论文 对于具体的研究细节,服务的自动组合、服务设计的粒度、服务的契约,。乃至服务的分 析与设计都是研究的热点。 1 3 论文的组织结构 论文的结构组织如下: 第一章主要介绍本文研究的背景、s o a 在国内外的研究现状和本文的组织结构。 第二章介绍s o a 的理论基础和关键技术。本章介绍s o a 的概念、通用模型和设计 模式,并介绍作为s o a 的主要实现方法一w e b 服务,最后介绍事件驱动体系结构。 第三章深入研究企业服务总线( e n t e r p r i s es e r v i c eb u s ,e s b ) 。本章介绍e s b 的概念 和演变过程,总结出e s b 的功能和优点,研究e s b 模型对s o a 的改进,最后介绍e s b 的当前研究热点和应用。 第四章分析并设计基于e s b 的s o a 多层架构。本章研究s o a 的设计方法和服务 的设计方法,设计e s b 在s o a 中的角色,在分析分层思想和s o a 参考架构的基础上 设计基于e s b 的s o a 多层架构模型,将模型从顶层到底层分为五层:表示层、企业服 务总线层、服务层、数据访问层和数据层,并对每层的含义和作用进行了详细的分析和 说明,最后分析在n e t 平台下如何应用b i z t a l ks e r v e r2 0 0 6 和w c f 实现基于e s b 的 s o a 。 第五章结合具体的应用实例辽宁华福印染股份有限公司企业管理系统。本章介 绍应用背景、分析企业的具体需求和业务流程。根据第四章提出的基于e s b 的s o a 框 架在n e t 平台下实现系统,并且应用角色访问控制实现系统的安全管理。 基于企业服务总线的s o a 研究与应用 2s o a 的理论基础和相关技术 s o a 是一个系统架构层次的概念,是一种新的计算范型【4 1 。其中所有的功能或服务 都使用描述语言加以定义,并且各自的接口采用独立方式定义,不受服务实现所在的硬 件平台、操作系统和编程语言的影响。 2 1s o a 的理论基础 2 1 1 s o a 的概念 早在1 9 9 6 年,g a r t n e r 便最早提出了s o a 的思想:“面向服务的架构是一种基于 客户机服务器模式的软件设计方法,其中的应用由服务提供者和服务使用者( 也称为客 户机或服务请求者) 双方组成”1 4 1 。s o a 是一种新型的软件体系架构模式,它是在计算环 境下设计、开发、应用、管理分散的服务单元的一种规范,它将应用程序的不同功能单 元( 称为服务) 通过这些服务之间定义良好的接口和契约联系起来【5 】,它可以根据需求通 过网络对松散耦合的粗粒度服务进行分布式部署、组合和使用。这些服务是自包含的, 具有定义良好的接口,允许服务的使用者了解如何与其进行交互。s o a 的目标在于让 i t 变得更有弹性,以便更灵活、更快地响应不断改变的企业业务需求,实现实时企业模 式( r e a l t i m ee n t e r p r i s e ) 阎。 关于s o a 的概念,你可以找到很多的文章从不同的角度来描述它,不同的软件提 供商也有不同的定义方式。b e a 有流体计算,微软有i n d i g o 和s o a b u i l d i n g ,s a p 有 e s a ( e n t e r p r i s es e r v i c ea r c h i t e c t u r e ) 。每个人都可以从不同的视角来理解s o a ,从程序 员的角度,s o a 是一种全新的开发技术,新的组件模型,比如说w e bs e r v i c e ;从架构 设计师的角度,s o a 就是一种新的设计模式,方法学;从业务分析人员的角度,s o a 就是基于标准的业务应用服务1 7 1 。下面是几种对s o a 的描述【8 1 。 “它本质上是服务的集合。服务间彼此通信,这种通信可能是简单的数据传送,也 可能是两个或更多的服务协调进行某些活动。服务间需要某些方法进行连接。所谓服务 就是精确定义、封装完善、独立于其他服务所处环境和状态的函数。 “按需连接资源的系统。在s o a 中,资源被作为可通过标准方式访问的独立服务, 提供给网络中的其他成员。与传统的系统结构相比,s o a 规定了资源间更为灵活的松散 耦合的关系。 “面向服务体系架构是一种用于创建企业i t 体系结构的体系结构样式,利用了面 向服务的原则来实现业务和支持业务的信息系统之间更为紧密的关系。 一4 一 大连理工大学硕士学位论文 无论是哪种定义互相之间都没有矛盾,因为每种定义都是从不同的角度出发来定义 s o a 的。应该指出,s o a 是一种设计方式,它指导着业务服务在其生命周期中包括创 建和使用的方方面面,s o a 也是一种定义和提供i t 基础设施的方式,它允许不同应用 相互交换数据、参与业务流程,无论它们各自背后使用的是何种操作系统或何种编程语 l 口。 我们可以简单的把s o a 定义为以服务为基本单位来描述一个软件系统以及服务之 间的交互关系。 从上述定义中可以看出s o a 的几个关键性技术概念:服务、粗粒度和松耦合。 服务:从业务角度来看一个服务是用来满足某个特定业务功能的一系列动作,从技 术角度来看一个服务就是一系列技术资源比如数据库程序设备等通过公开其接口互相 交互协作的综合表现。本质上,服务就是自足的业务功能的i t 体现9 1 ,比如“创造一个 客户订单”,“查询产品档案”,“入库”,“转账”,“打开收音机 ,“计算汽车 的最佳线路”等等。 粗粒度:s o a 总体上采用粗粒度服务接口,也就是说暴露在整个系统外部的服务尽 量使用粗粒度的接口。而在企业系统架构内部通常采用相对较细粒度的服务接口。采用 粗粒度的服务,可以减少服务间互调、查询、通讯等延迟,但与细粒度的服务相比,其 重用性、灵活性比较差。 松散耦合:s o a 不像传统的d c o m ,c o r b a 等计算技术依赖于具体的协议、实现 等。它独立于各个平台,与开发环境、协议、厂家等都没有直接关联。s o a 架构中的不 同服务之间保持一种相对独立无依赖的关系。 服务是s o a 的核心。s o a 指定一组有关服务的实体( 服务提供者、服务请求者、服 务代理、服务契约等) ,这些实体详细说明了如何提供和消费服务。s o a 是一种粗粒度、 松散耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口 和通讯模型。 ” 2 1 2s o a 的通用模型 s o a 的通用模型如图2 1 所示m 】,由服务注册者、服务消费者与服务提供者三种角 色组成。 服务提供者发布自己的服务,并且对使用自身服务的请求进行响应。服务注册者接 受服务提供者注册它所发布的服务,并对已经注册的服务进行分类,同时为服务请求者 提供对服务描述信息的咨询。服务请求者利用服务注册中心查找所需的服务,然后动态 绑定到相关服务,并调用该服务。 基于企业服务总线的s o a 研究与应用 4 、请求服务 服务请求者服务提供者 5 、绑定服务 图2 1s o a 通用模型 f i g 2 1 g e n e r a lm o d e lo fs o a s o a 体系结构中的组件必须具有上述一种或多种角色。在这些角色之间使用了发 布,查找和绑定三种操作。发布使服务提供者可以向服务注册者注册自己的功能及访问 接口。查找使服务请求者可以通过服务注册者查找特定种类的服务。绑定使服务请求者 能够真正使用服务提供者。 2 1 3s o a 的构建规则 s o a 的目标是松散耦合系统与业务敏捷性。松散耦合保证系统之间互操作的健壮 性,业务敏捷性保证采用s o a 的企业与组织快速应对业务需求的快速变更。成功的实 施s o a 需要遵循三个基本的原则】: ( 1 ) 业务驱动服务,服务驱动技术。 从本质上说,在抽象层次上,服务位于业务和技术中间。面向服务的架构设计师一 方面必须理解在业务需求和可以提供的服务之间的动态关系,另一方面,同样要理解服 务与提供这些服务的底层技术之间的关系。 ( 2 ) 业务敏捷性是基本的业务需求。 一 s o a 考虑的是下一个抽象层次:提供响应变化需求的能力是新的“元需求”,而不 是处理一些业务上的固定不变的需求。从硬件系统而上的整个架构都必须满足业务敏捷 的需求,因为在s o a 中任何的瓶颈都会影响到整个i t 环境的灵活性。 ( 3 ) 成功的s o a 总处于变迁中。 s o a 工作的场景是一个不断变化的场景,因此采用了s o a 就意味着要不断的变化 来适应新的业务需求。 一6 一 大连理工大学硕士学位论文 2 2s o a 设计模式 对于s o a 的设计模式目前主要有三种形式【1 2 l : ( 1 ) 服务注册表模式:通过服务注册表来实现的松耦合和地址透明的设计原则; ( 2 ) 企业服务总线模式:通过e s b 把服务集成到公共的总线上供外部调用并加以控 制; ( 3 ) 服务编排模式:通过业务流程编排服务形成商业流程服务提供给消费者。 在一个综合应用平台上可以分别选取上面的一种或多种模式完成架构。本文研究的 正是基于e s b 模式开发的轻量级s o a 解决方案,服务消费者以e s b 为中心使用各种服 务,很好地解决了各种服务的交互,使原有系统渐进式的转变为s o a 系统。 2 3 w e b 服务 作为重要的s o a 实现技术,w e b 服务( w e bs e r v i c e s ) 是一种广泛被人们接受的技术, 它可以将运行在i n t r a n e t ,e x t r a n e t 或i n t e m e t 分布式服务器上的应用集成在一起。 2 3 1w e b 服务的定义 w 3 c 中w e b 服务体系结构工作组对w e b 服务的定义如下:“w e b 服务是一种通过 u r l 识别的软件应用,并通过x m l 语言进行定义、描述和发现。w e b 服务支持通过 h t t p 协议交换基于x m l 的消息或与其他软件代理直接交互”1 1 3 1 。 从以上定义可以看出,w e b 服务有两层含义:其一是指封装成单个实体并发布到网 络上的功能集合体;其二是指功能集合体被调用后所提供的服务。简单地讲,w e b 服务 是一个u i 也资源,客户端可以通过编程方式请求得到它的服务,而不需要知道所请求 的服务是怎样实现的,这一点与传统的分布式对象模型不同。一个完整的w e b 服务除 了其代码实现外,还定义了明确的接口。通常,接口描述w e b 服务的内容和访问格式, 客户端根据一个w e b 服务的接口描述知道该w e b 服务是否包含所需的功能以及它的调 用方法。 2 3 2w e b 服务的组成 w e b 服务规范通常归为两类:基本w e b 服务规范和扩展w e b 服务规范。基本规范 包括s o a p ,u d d i 和w s d l 等,扩展规范则有包括w s b p e l 在内的数十种w s 幸规范。 参考w 3 c 提议的w e bs e r v i c e s 互操作性叠层,将这些w e bs e r v i c e s 的各种典型操 作和技术标准构成一个技术间相互依赖的协议栈。如图2 2 所示,上层功能必须依靠下 层的支持,垂直层表示在协议栈中的每一层中必须满足的需求,左边的文本表示协议栈 的那一层所应用的标准技术1 1 4 】。 基于企业服务总线的s o a 研究与应用 b p e l服务流程层 u d d i 服务发现、发布层 服 安 易务 w s d l服务描述层 全 管质 理量 性 性保 证 s o a p 基于x m l 的消息层 h t r p 、f t p 、 s m t p 、m q 网络 等 图2 2w e bs e r v i c e 协议栈 f i g2 2 w e bs e r v i c ep r o t o c o ls t a c k ( 1 ) s o a p 简单对象访问协议( s i m p l eo b j e c ta c c e s sp r o t o c o l ,s o a p ) 是基于x m l 的消息协议, 它能使分布式环境下的程序相互交换事先定义好的结构化信息。s o a p 是服务使用者和 服务提供者共同遵守的消息格式,由于它是基于x m l 技术,所以s o a p 是独立于编程 语言和操作平台的消息协议,能使在异构环境下的应用程序相互通讯和操作。 s o a p 协议为使用x m l 在松散分布的环境中对等地交换结构化和类型化信息提供 了一个简单的机制。s o a p 本身并不定义任何应用语义,如编程模型或特定语义实现, 它只是定义一种简单的机制,通过一个模块化的包装模型对模块中特定格式编码的数据 重编码机制来表示应用语义。 s o a p 协议主要由s o a p 信封、编码规则、远程过程调用协定三部分组成。信封定 义了整体s o a p 消息的表示框架,可用于表示消息中的内容是什么,谁发送的,谁应当 接受并处理它,以及这些处理操作是否必需。s o a p 编码规则定义了数据的编码机制, 通过它来定义应用程序中需要使用的数据类型,并可用来交换这些数据类型所生成的实 例。远程过程调用协定则定义了一个用于表示远程调用和响应的约定【15 1 。 ( 2 ) w s d l w e b 服务描述语言( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ,w s d l ) 是基于x m l 格式的 网络服务描述语言,它将w e b 服务中的服务描述成一组服务访问点,客户端可以通过 使用服务访问点来访问这些网络服务。w s d l 将操作和消息以一种抽象的方式进行描 述,然后将具体的网络协议和消息格式绑定来定义一个服务访问点。相关的服务实现者 大连理工大学硕士学位论文 将与这个抽象的服务访问点联系起来。w s d l 是可扩展的,它独立于服务消息格式和具 体的网络通讯协议的标准。目前常用的w s d l 规范是w 3 c 在2 0 0 1 年3 月发布的 w s d l l 1 版本,w s d l 2 0 也已经在2 0 0 6 年3 月发布。 ( 3 ) 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 , u d d i ) 是由结构化信息标准促进组织( o r g a n i z a t i o n f o r t h ea d v a n c e m e n to fs t r u c t u r e di n f o r m a t i o n s t a n d a r d s ,o a s i s ) 锘i j 定的一套关于w e b 服务注册、发布、查询、发现和访问服务接口时 要用到技术的标准规范。u d d i 基于h t t p ,x m l ,x m ls c h e m a 和s o a p 等开放的工 业标准,为公开发布的服务和只在公司内部使用的服务提供了一个基于w e b 服务的软 件基础架构。 u d d i 注册中心是对所有提供公共u d d i 注册服务站点的统称,在逻辑上它是一个 统一体,但在物理上则以分布式系统结构实现,不同的站点之间采用对等的网络结构实 现,因此访问其中任意一个站点就等同于访问u d d i 注册中心。一般情况下,访问u d d i 入口站点所获得的结果是整个u d d i 注册中心所覆盖区域的信息。信息查询无需身份认 证,但在u d d i 入口站点上进行信息发布,则必须通过这个站点使用用户名进行权限的 认证【m 1 。 ( 4 ) b p e l 业务过程执行语言( b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g e ,b p e l ) 是专门为整合w e b 服务而制定的一项规范标准。它从本质上来说是i b m 的w e b 服务流语言( w e bs e r v i c e s f l o wl a n g u a g e ,w s f l ) 和 微软的x l a n g 语言的结合物和演化,同时摒弃了一些复杂繁 琐的部分,形成了一种较为自然的描述商业活动的抽象高级语言。b p e l 语言是一种基 于x m l 的标记语言,同时它也继承了传统编程语言中的一些特性如赋值操作 ( ) 、循环操作( ) 等。 b p e l 定义的业务流程决定了合成的w e b 服务之间的逻辑依赖性,即流程定义了 w e b 服务之间的调用顺序( 控制流) 和传送的数据( 数据流) 。b p e l 能清楚说明服务间交换 消息的协作行为,而又不涉及到服务内部的实现细节,这样就不暴露出企业在内部业务 中所做的决策和对数据的管理。另外在更改服务的具体实现时,也不会影响到已定义业 务的工作流程。 ( 5 ) 其他技术层面 图2 2 右侧的几个垂直层次代表了以上几个层次中w e b 服务需要提供的其他技术支 持。安全性、易管理性和服务质量保证会贯穿于上述各个层次之中,而不仅是某一层专 用的技术。 一9 一 基于企业服务总线的s o a 研究与应用 2 3 3w e b 服务与s o a s o a 从方法学和系统架构方面考虑,是一种概念和模型,而w e b 服务是一种具体 的实现技术,s o a 并不等于就是w e b 服务。w e b 服务是目前最适合实现s o a 的一些技 术的集合,w e b 服务标准的成熟和应用的普及为广泛的实现s o a 提供了基础【1 6 1 。 需要说明的是w e b 服务并不是唯一实现s o a 的技术,可以找到许多其它组织成功 实现s o a 架构的例子。w e b 服务也被用于实现非面向服务体系结构的其他结构。但是 用w e b 服务来封装业务服务有很多优势,因为w e b 服务是标准的,w s i 协议保证了来 自不同供应商的w e b 服务即使运行在不同的平台上,底层的实现机理不同也可以顺利 交互,这是以前的任何一种技术如c o r b a ,e j b ,或者d c o m 都不能做到的。而且, w e b 服务的定义与实现是分开描述的,即松散耦合,因此可以很方便地替换服务的内在 实现而不会对现有的系统造成任何冲击,这也极大地提高了企业信息系统架构的灵活性 1 7 1 。 2 4 事件驱动体系结构与s o a 一个面向服务的框架代表了一个动态的运行时环境,在那里服务提供者和服务消费 者松散耦合、更灵活的组件交互。建立一个具备所有这些优势的交互模型,成为软件开 发中最优先考虑的。一个事件驱动的交互模型,比通常的请求响应机制对实时变化和激 励有着更好的答应效率。 事件驱动的体系结构( e v e n t d r i v e na r c h i t e c t u r e ,e d a ) 定义了一种用于进行设计和 实现应用程序和系统的方法,其中的事件在各个分解的软件组件和服务间进行传递。 事件驱动体系结构使用消息传递来在两个或多个应用程序进程间进行通信,此类通 信是由“事件 发起的。触发器通常与某种业务情况对应,该事件的所有订阅者将随后 得到通知,从而激活,如图2 3 所示。 、 ( e 节d 点a 一发节点厂 “ 、 l 图2 3 事件驱动体系结构 f i g 2 3 e v e n td r i v e na r c h i t e c t u r e 大连理工大学硕士学位论文 事件驱动体系结构的基本特征如表2 1 所示。可见事件驱动体系结构对s o a 形成补 充,虽然s o a 通常更适合请求响应交换环境,但事件驱动体系结构引入了一些长时间 运行的异步进程功能。而且,e d a 节点可发布事件,并不依赖于所发布的服务的可用 性。它真正地实现了同其他节点的分离,因此事件驱动体系结构有时也被称为“事件驱 动的s o a ”f 1 8 】。 、 表2 1 基本e d a 特征 t a b 2 1b a s i cf e a t u r eo fe d a 功能描述 分离的交互 多对多通信 基于事件的触发器 异步 事件发布者并不会意识到事件订阅者的存在。 采用发布订阅消息传递,一个特定事件可以影响多个订阅者。 控制流由接受者确定( 基于发布的事件) 。 通过事件消息传递支持异步操作。 基于企业服务总线的s o a 研究与应用 3 企业服务总线( e s b ) 及应用 企业服务总线( e s b ) 也许是s o a 产生以来最值得称道的技术。想象一下企业中的 s o a 即使企业需要的所有东西都已经具备,但是如果所有的应用、功能、数据或者服 务没有通过一种有效的方式连接起来,那么s o a 还是不能给企业提供一个灵活的业务。 然而,仅仅因为企业使用了w e b 服务创建了新的服务,或者服务启用现有资产使其成 为一种服务,就断定这个企业能够预见到所有可能发生的失败( 可能破坏那些编写得天 衣无缝的w e b 服务,给服务的执行平添不必要的麻烦) 。e s b 就位于那个架构的中心【1 9 】。 3 1 e s b 的概念 e s b 是传统中间件技术与x m l 、w e b 服务等技术结合的产物。e s b 提供了网络中 最基本的连接中枢,是构筑企业神经系统的必要元素。e s b 是一种在松散耦合的服务和 应用之间标准的集成方式【2 0 1 。它可以作用于:面向服务的架构分布式的应用由可重 用的服务组成;面向消息的架构应用之间通过e s b 发送和接受消息;事件驱动的 架构应用之间异步产生和接收消息。我们用一句通俗的话来描述它:e s b 就是在 s o a 架构中实现服务间智能化集成与管理的中介。它支持s o a 中的服务交互并对其进 行管理,使服务交互在服务提供者和服务请求者之间进行,并可以使用各种中间件技术 和编程模型加以实现,使服务交互参与方不直接交互而是通过总线进行交互。它为s o a 提供与企业需要保持一致的基础架构,提供虚拟化和管理功能来实现和扩展s o a 的核 心定义。e s b 作为s o a 的切入点,使企业以最小投入将已有系统纳入到s o a 架构中来。 企业服务总线是一种体系结构模式,可以采用许多不同的产品在组织内实现,并组 装起来作为联合总线。 3 2 e s b 的提出过程 典型的s o a 架构有这些基本的要求:s o a 在相对较粗的粒度上对应用服务或业务 模块进行封装与重用;服务间保持松散耦合,基于开放的标准,服务的接口描述与具体 实现无关;灵活的架构服务的实现细节,服务的位置乃至服务请求的底层协议都应 该透明。 按照s o a 的思想,假设我们己经把各个i t 资产都提炼成服务,并公布出来,并可 以相互调用服务,这样就可以在j 2 e e 的环境里调用n e t ,但是这点在原来没有s o a 的时候也可以做到的。只要两个i t 系统之间认可对方的方式,即使不存在公开统一的 大连理工大学硕士学位论文 服务界面也可以实现点到点的互联。因此我们不得不承认,如果我们只有服务,而服务 的请求者和服务的提供者之间仍然需要这种显式的点到点的调用,如图3 1 所示【2 1 1 。 图3 1 点到点的服务集成 f i g 3 1 p o i n tt op o i n ts e r v i c ei n t e g r a t i o n 与s o a 的典型架构相比,显然,不满足“服务的实现细节,服务的位置乃至服务 请求的底层协议都应该透明 这个要求。因此,在s o a 中还需要这样一个中间层,能 够帮助实现在s o a 架构中不同服务之间的智能化管理。最容易想到的是这样一个 h u b s p o k e 结构,如图3 2 所示。在s o a 架构中的各服务之间设置一个类似于h u b 的中 间件,由它充当整个s o a 架构的中央管理器的作用。 r 1 ,、 l 图3 2h u b - s p o k e 结构的集成 f i g 3 2h u b - s p o k ei n t e g r a t i o n 现在服务的请求者和提供者之间有了一个智能的中转站,服务的请求者不再需要了 解服务提供者的细节,看上去也是一个好的s o a 结构。实际上,传统企业应用集成就 是通过这样一种方式来试图解决企业内部的应用整合问题。企业应用集成是部件级的重 用,而基于部件的架构没有统一的标准,因此,各个厂商都有各自不同的企业应用集成 基于企业服务总线的s o a 研究与应用 解决方案,会碰到各种各样的中间件平台。如果企业应用集成碰到了异构的i t 环境, 就必须分别考虑怎样在各个不同的中间件之间周旋,来实现合理的互联方式,不得不考 虑各种复杂的可能性。因此,大多数传统企业应用集成解决方案都比较笨重。 如果我们选择h u b 模式来构建s o a 基础架构,可能会出现哪些问题呢? 首先,整 个s o a 架构的性能,如果每个服务的请求都经过中央h u b 的中转,那么h u b 的负担会 很重,速度会随着参与者的增多而越来越慢;其次,这样的系统会很脆弱,一旦h u b 出错,整个s o a 架构都会瘫痪;最后,这样的架构会破坏s o a 的开放性原则,参与者 运行在一个封闭的环境中,扩展起来十分麻烦。因此,这样也不是理想的s o a 架构。 于是,出现了一个新的支持s o a 的架构:e s b 。而e s b 与前面的h u b 结构相比有 什么不同呢? 首先,它比单一h u b 的形式更开放,总线结构有无限扩展的可能;其次, 真正体现了s o a 的理念,一切皆为服务,服务在总线( b u s ) 中处于平等的地位。即使我 们需要一些h u b ,那么它们也是以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年人力资源管理师考试重点知识梳理
- 2025年公办中小学编制教师招聘生物模拟试卷及答案解析
- 2025年核试验反应堆及其配套产品合作协议书
- 2025年陶瓷过滤器、过滤管合作协议书
- 2025年参数测试仪器项目合作计划书
- 2025年形状记忆合金项目合作计划书
- 2025年自动化生产线成套装备项目合作计划书
- 期末测试(含答案)2025-2026学年人教版四年级数学上册
- 2025年中低压电缆连接件项目建议书
- 贵州省黔西南布依族苗族自治州兴义市2024-2025学年五年级下学期期末数学试题
- 软件著作权无偿转让合同5篇
- 2025年公安警种知识测试题及答案
- 抵押车贷合同(标准版)
- 2025年秋季学期教科版三年级上册科学教学计划(三篇)
- 2025年秋季学期中小学开展工作重点观测指标一览表
- 农民公寓买卖合同协议书
- 燃气检修工模拟试题(附答案)
- 2025居间服务合同范本(合同版本)
- 2025年机关事务管理局招聘考试大纲
- 中老年唱歌教学课件下载
- 主城区积水易涝点排水防涝管网更新改造工程可行性分析报告(参考模板)
评论
0/150
提交评论