




已阅读5页,还剩73页未读, 继续免费阅读
(计算机应用技术专业论文)基于sca模型的应用集成架构研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 应用集成一直都受到学术界与工业界的重视。从应用集成技术的发展来看, 工业界对应用集成的研究要比学术界更加深入,并推出了多种产品和标准,其原 动力主要是来自于实际分布式集成系统的开发及集成遗留系统,工业界的经验和 方法需要归纳总结并提升为理论。基于w e b 服务的应用集成近年来取得了巨大 的成功,促使面向服务架构( s o a ) 的集成方法锝到人们的重视,并因此成为研究 热点。w e b 服务是s o a 的现行最佳实践,但w e b 服务只是定义了如何构建单个服 务,而并没有回答如何对服务进行组合与装配;并且,集成技术已发展多年,s o a 的应用集成应兼容传统的集成技术,而不能只限于w e b 服务。服务组件架构( s c a ) 是由i b m 、b e a 、o r a c l e 、s a p 等1 8 家i t 软件巨商联合发布的关于s o a 服务构建、 组装的规范,运用s c a 的组装模型,在应用集成上不但发展了w e b 服务技术,还 能较好地解决集成过程中的服务组装问题。 论文分析了运用w e b 服务进行应用集成及其不足,通过对s c a 与其他技术比 较,论证了基于s c a 进行集成的优势;分析现行数据编程面临的挑战,提出运用 服务数据对象( s d o ) 技术的观点,并通过与其他技术比较,阐述s d o 的优势。在 此基础上设计一个基于s c a 、运用s d 0 、结合数据访问服务( d a s ) 的应用集成架构, 该架构较好地解决了s o a 应用集成中服务组装和数据编程问题。以本人熟悉的 省考试中心考试管理系统为示例背景,对集成架构中模块、组件、接口、属性、 引用、服务、连线、绑定等s c a 元素的构建,s d o 中的数据图、数据对象中包含 内容、类型与属性、多值属性及其集合、顺序的运用等关键问题,结合示例作了 详细的研究论述;对于d a s ,本文以r d bd a s 为示例,设计了改进后的i ) a s 实现 模型;而对s c a 构建的服务进行连接和调用,尤其是客户端的异步调用方式, 本文也做了一定的探讨。最后通过插班生报名模块与录取模块的初步整合、以及 通过客户端i p 获取天气预报的实验,展示了如何运用s c a 、s d o 和d s 进行应用 集成。 关键词;服务组件架构;服务数据对象;数据访问服务;应用集成;面f 句服务的 架构 :奎苫些盔主三主霉圭主丝鎏銮 a b s t r a c t a p p l i c a t i o ni n t e g r a t i o nh a sa l w a y sb e e na t t a c h e dm o r ei m p o r t a n c ei na c a d e m i c a n di n d u s t r i a lc i r c l e s 1 1 地i n d u s t r yh a sl u c u b r a t e dm o r et h e nt h e a c a d e m yi n a p p l i c a t i o ni m e g r a t i o na c c o r d i n gt ot h ed e v e l o p m e n to ft e c h n o l o g i e s ,a n dh a s p r o v i d e dm u c hp r o d u c ta n ds t a n d a r d sw i t ht h ed r i v eo f t h er e q u i r e m e n t so f i n t e g r a t i o n o fd i s t r i b u t e ds y s t e ma n dl e g a c ys y s t e m , i nw h i c ht h ee x p e r i e n c ea n dm e t h o ds h o u l d b es u m m e du pa n da b s t r a c tt ot h e o r e t i c s t h ea p p l i c a t i o ni n t e g r a t i o nb a s e do nw e b s e r v i c e sh a sb e e ns u c c e e d e di nr e c e n ty e a r s t h e nm a k e sp e o p l ep a ya t t e n t i o nt ot h e i n t e g r a t i o nt e c h n i q u eo f s o a a n dh a sb e e nt h eh o t s p o to f t h er e s e a r c h a l t h o u g hw e b s e r v i c e si st h eb e s tp r a c t i c eo fs o & i t j i i s tp r e s c r i b e st h ec o n s t r u c t i n gs i n g l e r v i c , e , w h i c hd o e sn o tp o i n to u tt h ep r o b l e mo ft h ea s s e m b l yo fs e r v i c e s , f u r t h e r m o r et h e i n t e g r a t i o nt e c h n o l o g i e sh a sd e v e l o p e df o rm a n yy e a r s , a p p l i c a t i o ni n t e g r a t i o nb a s e d o ns o as h o u l db ec o m p a t i b l ew i t ht r a d i t i o n a li n t e g r a t i o nt e c h n o l o g y , n o to n l yb e l i m i t e dt ow e bs e r v i c e s s e r v i c e sc o m p o n e n ta r c h i t e c t u r e ( s c a ) i sp r o v i d e db yi b m b e a , o r a c l e , s a p , a n do t h e r1 8i ts o f t w a r eb u s i n e s s e sw h i c hi sa b o u tt h es o a s e r v i c e so nt h ec o n s t r u c t i o n , a s s e m b l ya n dn o r m s u s i n gt h ea s s e m b l ym o d e lo f s c a ,t h ew e bs e r v i c e st e c h n o l o g yo na p p l i c a t i o ni n t e g r a t i o ni sn o to n l yd e v e l o p e d , b u ta l s ot h es e r v i c ea s s e m b l i n gi s s u eo f t h ei n t e g r a t i o np r o c e s si ss o l v e d t h i sp a p e ra n a l y z e sa p p l i c a t i o ni n t e g r a t i o nb a s e do nw e bs e r v i c e sa n dt h e d i s a d v a n t a g eo fs c a c o m p a r i n gw i t ho t h e rt e c h n o l o g y , t h ea d v a n t a g eo fs c a i s g i v e n ;d a t ap r o g r a m m i n gi sf a c i n gc h a l l e n g e sn o w , a n dw em a k eu s eo fs e r v i c ed a t a o b j e c t s ( s d os e r v i c ed a t ao b j e c t ) ,c o m p a r i n gw i 恤o t h e rt e c h n o l o g i e s ,w ed e s c r i b e s t h ea d v a n t a g e so fs d o aa r c h i t e c t u r eo ft h ea p p l i c a t i o ni n t e g r a t i o nb a s e do ns c a , u s i n go fs d oa n dc o m b i n i n gw i t hd a t aa c c e s ss e r v i c e ( d a s ) h a sb e a nd e s i g n e di n t h ep a p e r 眦t h eb a c k g r o u n do ft h ep r o v i n c i a le x a m i n a t i o nc e n t e rm a n a g e m e n t s y s t e mw h i c hi 锄f a m i l i a rw i t h , c o m p o s i t e , c o m p o n e n t s ,i n t e r f a c e ,p r o p e r t i e s , r e f e r e n c e s , s e r v i c e s , w i r e , b i n d i n ga n do t h e re l e m e n t so ft h es c ab a s e d0 nt h e i n t e g r a t i o nf r a m e w o r ka r eb u d d i n g t h ed a t ag r a p h , d a t ao b j e c t si n c l u d i n gt y p e , m u l t i p l ep r o p e r t i e sa n ds e t , s e q u e n c eo f s d o a r cp r o v i d e di nd e t a i l a st od a s ,t a k e n r d bd a sf o re x a m p l e , w cd e s i g nt h ed a si m p l e m e n t a t i o nm o d e la n dc o n s t r u c to f t h es c as e r v i c ec o n n e c t i o na n dc a m n g i np a r t i c u l a rc l i e n ta s y n c h r o n yi n v o k e a s y n c h r o n o u st r a n s f e rm o d e ,t h i sp a p e rp r o v i d e t h ei n t e g r a t i o no fr e g i s t r a t i o n c o m p o s i t ea n dm a t r i c u l a t i o nc o m p o s i t ei nt h ea c a d e m y t ou n i v e r s i t ym a t r i c u l a t i o n s y s t e ma n dt h ee x p e r i m e n t so ft h ea d o p t i o no ft h ec l i e n ti fa o s sw e a t h e rf o r e c a s t d e m o n s t r a t ei no r d e r t os h o w h o ws c a , s d oa n dd a sw o r k t o g e t h e r k e yw o r d s :s c a ;s d 0 , d a s , a p p l i c t i o ni n t e g r a t i o n ;s o a 独创性声明 独创性声明 秉承学校严谨的学风与优良的科学道德,本人声明所呈交的论文是我个人在 导师的指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以 标注和致谢的地方外,论文中不包含其它人已经发表或撰写过的研究成果,不包 含本人或其他用途使用过的成果。与我一同工作的同志对本研究所做的任何贡献 均已在论文中作了明确的说明,并表示了谢意。 本学位论文成果是本人在广东工业大学读书期间在导师的指导下取得的,论 文成果归广东工业大学所有。 申请学位论文与资料若有不实之处,本人承担一切相关责任,特此声明。 论文作者签字:j 智 指导教师签字: 表席 2 0 0 7 年箩月弓d 日 第一章绪论 1 1 论文研究背景 第一章绪论 现代企事业单位的日常业务通常都是由多个应用系统完成,每个应用系统都 有其具体功能,通过使用这些应用系统,达到降低管理成本、规范业务流程和提 高服务质量的目的。而这些应用系统彼此之间并不是孤立的,通常它们需要进行 信息交互,以通过协作的方式更好地完成企业分配给它们的任务,这就需要采用 一种集成方式将各个现有应用系统集成起来,以达到整合企业资源的目的叫。 传统上己对集成的内容从不同的角度进行划分,如从集成的对象来看,可以 分为面向数据的集成和面向过程的集成;从所使用的工具和技术来划分,可以分 成6 个层次,分别是平台集成、数据集成、组件集成、应用集成、过程集成以及业 务对业务的集成。 对于传统的集成方式,都不同程度地存在一定的问题,例如数据级集成可能 会导致损坏数据,打开数据库的安全缺口等;采用面向接口的集成方式时,a p i 接口的变更将增加大量的工作量,也可能会增加现有应用系统的不稳定性;而业 务逻辑级集成属于面向过程的集成方式,该集成方式不仅暴露了应用程序的业务 逻辑,而且由于业务逻辑的交叉,导致了各个集成系统之间的紧耦合性,降低了 应用系统的灵活性,增加了整个系统维护的难度。 进行应用集成是为了提供一个开放的架构,使现有的应用程序和数据可以根 据业务的需要实现整合,并且能快速地添加新的应用和系统,做到既可以保护已 有的i t 资产,又可以以业务的需求重新整合原有的i t 系统。应用集成并不是一个 最终解决方案,它是在一个灵活而标准化的应用底层架构基础上,根据业务的变 化而驱动集成内容动态的变化。因此,要快速高效、无缝地实现应用集成,传统 的集成技术难以胜任,而需要新的集成架构和技术。 1 2 国内外研究现状 从应用集成技术的发展来看,工业界对应用集成技术的研究要比学术界更加 广东工业大学工学硕士学位论文 深入,并推出了多种产品和标准,如各种对象请求代理、集成代理、集成中间件, 应用集成技术的原动力主要是来自于实际分布式集成系统的开发及集成遗留系 统,工业界的经验和方法需要归纳总结并提升为理论叫 w e b 服务作为炙手可热的技术,如何应用到开发和集成之中、并直接带来效 益,一直备受国内外工业产业界和学术界的高度关注和推崇。面向服务的架构 ( s o a ) 作为w e b 服务的基础架构,在w e b 服务的应用取得广泛的成功后,国内外 各大i t 巨头i b m 、b e a 、微软、o r a c l e 、s a p 等纷纷发布自己的s o a 战略,建议 用户在进行企业i t 建设时考虑s o a 。 然而,s o a 只是一种静态模型,并无完整的运行机制( s o a 组件间的交互、 异构组件间的互相调用、安全控制等) 支持,各大软件厂商在推行s o a 时一般结 合自己产品平台进行,如i b m 的为w e b s p h e r e ,b e a 的为a q u a l o g i c ,s a p 的为 n e t w e a v e r ,它们都是站在自己的角度,所提的概念也不尽相同,很难形成统一 的标准,这导致目前s o a 的实践处于一种较为混乱的局面。 2 0 0 5 年开始,大规模出现了e s b ( e n t e r p r i s es e r v i c eb u s ) 和e d a 的概念和 相应产品,这是一个大的发展,s o a 开始向可编程模型靠拢,不再只是e a i 的幌 子,至少支持了许多程序运行期的概念,但是这种在s o a 组件交互中采用的数据 交换方式( x m ld o c u m e n t ) ,跟其他类型的组件交互时很麻烦。 2 0 0 5 年1 1 月3 0 日,i b m 、b e a 、o r a c l e 、s a p 、s y b a s e 等厂商,联合发布了 一项被称为服务组件架构( 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 ,s c a ) 嘲的新规范 ( o 9 版本) 。s c a 服务组件模型的提出,将s o a 的抽象模型落到了实处,借助于 s c a ,客户将能够更容易创建新服务或者将现有的i t 资产转化为可重用的服务, 这些服务可以快速适应不断变化的业务需求。 目前国内使用的应用集成技术种类繁多,但一般是基于外国厂商提供的平台 上进行研发的,比较缺乏自主的核心技术。近几年来,普元软件研发的 p r h n e t o n e o s 产品,是基于j 2 e e 技术实现企业级应用开发、运行、管理、监控、 维护的中间件平台叫,其开发与集成技术接近于国外i t 巨头s o a 产品的水平。 e o s 采用面向构件构建应用系统的模式,一定程度上体现了s o a 思想,普元也 于2 0 0 6 年6 月加入o s o a 组织,参与制定s c a 规范,但从总的来说,国内对s o a 的实践仍处于较为初步而零散的局面,难以与国外的软件巨头抗衡。 2 第一章绪论 1 3 主要研究工作及论文内容安捧 s c a 是一个全新的基于s o 、构建和组装服务的编程模型,s d o 是下一代面 向服务的数据编程技术。d a s 统一了异构数据源、向应用程序提供统的s d o 数 据。本文首先分析了基于w e b 服务的应用集成不足及现行数据编程面临的挑战, 通过s c a 、s d o 分别与类似的技术比较,阐明了它们在应用集成中的优势;在此 基础上设计一个基于s c a 、运用s d o 、结合d a s 的应用集成架构;接着结合广东 省考试中心考试管理系统的示例,重点研究了集成架构中s c a 和s d o 中的关键问 题,并在分析d a s 应满足的功能基础上,设计一个改进后的r d bd s 实现模型; 而集成架构中的服务连接与调用,本文也作了一定的研究。最后通过插班生报名 模块与录取模块的初步整合、以及通过客户端i p 获取天气预报的实验,展示了 如何应用s c a 、s d o 和d a s 进行应用集成。 本文的内容安排如下: 第一章:介绍论文研究背景、国内外研究现状,对应用集成的主要研究内容 及本文的章节安排。 第二章:介绍面向服务架构的应用集成方法,分析基于w e b 服务的应用集 成技术及其不足,提出基于s c a 的应用集成观点,并与其他技术 比较,阐述了s c a 的优势。 第三章:分析现行数据编程面临的挑战,综述s d 0 编程技术并通过与其他技 术比较,论述了s d o 数据编程的优势。 第四章:设计基于s c a 、运用s d o 与结合d a s 的应用集成架构,以考试管 理系统集成的示例,对集成架构中关键因素进行详细的研究。 第五章:通过插班生报名模块与录取模块的初步整合、以及通过客户端i p 获取天气预报的实验,展示运用s c a 、s d o 和d a s 进行集成。 广东工业大学工学硕士学位论文 第二章面向服务的应用集成 2 1 基于s o a 的应用集成 2 1 1 应用集成 应用集成( a p p l i c a t i o n i n t e g r a t i o n ) 是将过程、软件、标准和硬件联合起来, 在两个或更多的系统之间实现无缝集成,使它们就像一个整体一样。集成的目标 是无约束地连接分布的应用程序,并实现应用程序间的数据和功能的共享,这种 共享是以不对应用程序本身作大的修改为前提条件的。 2 1 2s o a 模型 面向服务的体系结构( s e r v i c eo r i e n t e d a r c h i t e c t u r e , s o a ) 是一个组件模型,将 应用程序的不同功能单元( 称为服务) 通过服务之间定义良好的接口和契约联系 起来。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作 系统和编程语言,这使得构建在各种系统中的服务能够以统一和通用的方式进行 交互【5 l 。作为一种在计算环境中设计、开发、部署和管理离散逻辑单元( 服务) 的 模型,s o a 是一种架构模型和一套设计方法学,其目的是最大限度地重用应用程 序中已有的服务嘲。 s o a 无论在工业界还是学术界,都成为近年来的热点,其参考模型( s o a - r m ) 描述的是s o a 环境中的各个组件( 或实体) 及其之间的关系,是研究和理解s o a 的一个重要内容。文献【7 】对s o a 的的参考文献做了有益的探索;而o a s i s 也于 2 0 0 6 年8 于通过了s o a 参考模型的第一个版本叫;这里引用文献 9 】的参考模型对 s o a :逆t 行理解,如图2 1 所示。 4 第二章面向服务的应用集成 厂= = = 、 型! 竺夕 。授权 1 石:氧一获取服务的淞 :详细信且7 ;乡 发i ;i 三箩请求契约 图2 - 1s o a 参考模型 f i g u r e 2 - 1s o a r c f c r o n c em o d e l 对于s o a 的架构模型,有如下特点: 松耦合:服务之间的依赖较小 基于契约的:应用由服务之间定义良好的接口和契约联系起来 自治的:服务提供者完全控制其所提供的业务逻辑 抽象的:对服务消费者来说,服务隐藏了具体业务逻辑的实现 可重用:将业务逻辑划分为多个可重用的服务 复合的:通过服务的复合完成业务功能 可发现的:服务是自描述的,基于服务描述去发现和访问服务 2 1 3 基于s o a 的应用集成 s o a 从软件体系结构的角度出发改造企业的原有系统或设计新的应用系 统,应用只需要以服务的形式出现,通过其提供的接口,服务调用者无需知道服 务的底层实现技术和具体位置,因而可以很好的解决应用集成的问题。当多个运 行在不同平台和技术上的应用程序必须互相通讯时,通过在中间层以服务模块方 式实现的集成方案,s o a g k 系结构尤其适用呻1 。 由于服务的灵活性,即使已有系统迁移到新的技术平台,甚至是被替代,只 需对服务的接口重新进行绑定,而服务的接口保持不变,不会影响到依赖于这个 应用所提供功能的那些应用,从而保证了集成对变化的适应能力。当业务流程发 广东工业大学工学硕士学位论文 生变化时,只要调整组装服务的方式或重新对服务进行绑定,就能满足这种变化。 这种通过重用粗粒度服务而不是在底层编程来开发新应用以满足业务新需求的 方法,使得i t 组织能够以更少的投入、更快的速度、更好的质量来开发和集成应 用系统。 2 2 基于w e b 服务的应用集成 w 曲s e r v i c e s ( w e b 服务) 是由w 3 c ( w b r l d 、) l ,i d e w e b c o n s o r t i u m ,万维网 联盟) 制定的一套开放的标准技术规范,w 3 c 对w e bs e r v i c e s 的定义如下:“一 个w e b 服务是为提供机器与机器间跨越网络的互操作而设计的一套软件系统。 它有一个用机器能处理的格式( 特别是w s d l ) 来定义的接口。其它系统使用 s o a p 消息且以一种被这个w e b 服务预先指定的方式来与这个w e b 服务交互, 一般情况下,这些消息使用h t t p 协议进行传输,在传输前这些消息使用基于 w 曲的相关标准来进行x m l 的序列化1 。” w e bs e r v i c e s 的目的是让不同的软件应用程序能相互操作,无论这些程序是 用什么编程语言实现、运行在什么样的操作平台或架构技术上。互操作性和可扩 展性是w e bs e r v i c e s 的表现特征,这一切都归功于具有强大自描述能力的x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标志语言) 。w e bs e r v i c e s 能使应用程序以 一种松散耦合的方式组合起来,并实现复杂的交互。 2 2 1w e b 服务技术 w 曲服务是由u r l ( u n i f o r mr e s o u r c el o c a t o r ) 确定的软件应用,其接口和 绑定能够以x m l 的形式定义、描述和发现,并且支持借助i n t e m e t 协议进行通信, 如h t t p 、s m t p 等,而采用x m l 格式消息的方式与其他软件应用交互。具体实 现是通尧 w s d l ( w e bs e r v i c e s d e s c r i pt i o nl a n g u a g e ) 作为其服务接口描述语言、 通竞 :u d d i ( u n i v e r s a ld e s c r i pt i o n , d i s c o v e r ya n di n t e g r a t i o n ) 协议规范进行w e b 服务的网上注册和服务查找定位。并使用s o a p ( s i m p l e o b j e c t a c c e s s p r o t o c o l , 简单对象访问协议) 传输协议在网络问进行x m l 格式的信息交互,图2 2 是w 曲 服务的软件架构模型。 6 第二章面向服务的应用集成 图2 - 2w e bs e r v i c e s 体系结构 f i g u r e2 - 2w e bs e r v i c e sa r g h i t e c i a u e s o a p 是服务使用者和服务提供者共同遵守的消息格式,它能使在分布式和 异构环境下的程序相互交换结构化的事先定义好的信息。u d d i 是通用描述、发 现和集成协议,使得全球统一定位、发现服务成为可能。w s d l 是对各种语言实 现的服务进行定义,把服务操作和消息以一种抽象的方式进行描述,然后将具体 的网络协议和消息格式绑定来定义一个服务访问点,相关的服务实现者将与这个 抽象的服务访问点联系起来m 1 。 s c h e m a 是描述x m l 数据结构的数据模型( 也称为元数据) ,它同样也是一 种数据,s o a p 、w s d l 和u d d i 的x m l 语法都是采用s c h e m a 进行定义和描述。 w e bs e r v i c e s 是由一套标准的协议规范组成,如表2 - 1 所示。 表2 - 1w e bs e r v i c e s 协议栈 1 h b l e2 1w g bs e r v i p r o t o c o l ss t a c k 协议层技术 服务发布发现 u d d i 服务描述纾观 消息协议 s o a p 数据模型) 吡s c h e m a 、啪 数据表现 数据) 舰 传输协议h r t p 、s m i p 、f i ,、j m s 7 2 2 2w e b 服务应用集成及其不足 进行应用集成时,通过以标准的w e b 服务机制,把业务层上的方法整合成 w e b 服务,并通过基础设施使这些服务为多个系统所调用。这些“服务”可以位 于集中服务器、分布服务器和i n t e r n e t 上。同时,可以通过将过程逻辑和对各种分 离的服务接i i 相结合( 如使用b p e l ) ,聚集多个简单的w e b 服务,实现复杂的功能, 最终实现应用上的整合。 w e b 服务作为革命性的技术,对计算机软件的体系架构产生深远的影响,应 用w 曲服务技术,依靠预先达成一致的w e b 服务规范,完成无缝的系统对话,从 而使计算机系统之间能够真正摒除平台差异和实现差异,企业内外部系统之间的 互操作成为可能,这样可以节省相当大的研发成本和维护成本。因而,面向w e b 服务的集成作为一种标准化的松耦合集成模式,提供了一种在i n t e r n e t 环境下使用 远程应用服务的通用方法,为那些需要更大的灵活性、改动频繁的应用集成铺平 了道路。 面向服务的集成之所以在最近受到业界越来越多的重视,是因为基于w e b 服务应用集成取得了巨大的成功,而促使人们重新观察面向服务架构的集成方 法,使很多i t 组织重新考虑s o a ,并将其作为应用集成的策略。然而,由于目 前w e b 服务是s o a 的最佳实践,使得在学术上对s o a 的研究常常局限于w e b 服 务的相关主题上,例如以w 3 c 为代表的学术界,对s o a 的研究特定于w e b 服务技 术为背景,把架构的抽象实体和与具体组件进行综合分析,这将导致抽象与具体 很易混淆、概念的重叠性和关系的复杂化等问题n 1 ;部分学者尝试以某个行业为 背景,探讨s o a 参考模型,如文献中以s c m 为背景,提出一个关于服务组件的 s o a 元模型【 l ,但由于不具备通用性,缺乏相关工具和平台的支持,难以广泛 应用。 w e b 服务作为一种技术标准,只定义了如何构建单个服务,而没有提出对服 务进行组装,但正如文献 1 6 】所指出,服务的组合( s e r v i c ec o m p o s i t i o n ) f 司题是s o a 的一个基础又很重要的主题。文献【1 7 】提出了基于s o a 架构和分层协议栈机制的 松散耦合we b 服务组合系统的构建方法,设计并实现了一个we b 服务组合原 型系统,但该系统架构是建立在扩展w 曲服务协议的基础上的,使得s o a 仍然限定 于w e b 服务。而w e b 服务并不等同于s o a ,它只是s o a 的一种实现方式,基于s o a 8 第二章面向服务的应用集成 方法的应用集成不应受到w 曲服务技术标准的限制,每个单位的应用系统不一定 适合全部都采用w e b 服务进行整合,例如对于操作之间数据交互频繁就不适宜采 用w e b 服务,文献 1 8 】详细地探讨了不兼容w 曲服务的各种情形。虽然b p e l 能对 w e b 服务进行编排和组合,但b p e l 对服务的编排与组合也是局限于w e b 服务,并且 b p e l 是面向高层次的业务流程,不适合应用于s o a 基础设施中低层次的服务组合, 运用b p e l ) s j 服务组合指定的行为也往往非常复杂油1 。同时,s 0 a 对于应用集成来 说,确实是一种很好的架构模型和设计方法,基于s o a 的应用集成也是未来发展 的必然趋势,因此,如何以s o 舢时应用集成进行架构,又不仅仅限制于w 曲服务 技术,是工业界和学术组织当前和未来一个很重要的主题。 2 3 基于s c a 的应用集成 2 3 1s c a 规范及其编程模受 2 0 0 5 年1 1 月,i b m 、b e a 、o r a c l e 、s a p 、s y b a s e 、s i e m e n s 、r e dh a t 等厂 商联合成立了一个开放s e a 组织( 啊霄o s o a o r g ) ,发布一项称为服务组件架构 ( 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 ,s c a ) 的新规范,而于2 0 0 6 年7 月,s u n 等厂商也加入o s o a 组织,参与s c a 的制定,2 0 0 7 年3 月最新通过的s c a i 0 0 版 本,并正式提交给o a s i s ( t h eo r g a n i z a t i o nf o rt h ea d v a n c e m e n to fs t r u c t u r e d i n f o r m a t i o ns t a n d a r d s ,结构化信息标准促进组织) ,通过其开放式标准过程进 行推动。s o a 作为未来的分布式系统架构的应用重点,编程者与架构者在现在实 施s o a 项目时,就应该符合现行的s o a 规范,而不应该让s o a 的规范成熟且成为 官方标准才进行矧,本文研究与使用的s c a 为0 9 6 版本蚴。 s c a 作为构建s o a 应用程序和系统的一种编程模型,其基础思想就将业务功 能封装成一系列的服务,并且能够很好地将这些服务组装起来,组装过程中的服 务组件和对服务组件的连接调用方法的实现可以使用各种技术,从而达到解决业 务系统整合的目的。用于构建的服务组件,既可以是特定应用产生的新建组件, 也可以是对已有系统中的业务功能进行再用而封装产生的组件。对于服务组件, 其实现可以为各种编程语言,包括常用的面向对象、过程、断言式( d e c l a r a t i v e ) 语言,如j a v a 、c + + 、p i p 、c o b o l 、s q l 、以) 殂也为基础的b p e l 和x s l t 、x q u e r y 等等;对于连接调用方法,在s c a 里可以使用各种常用的通信和服务访问技术进 9 广东工业大学工学硕士学位论文 行绑定,如w e b 服务、消息系统、r p c 和c o r b ai i o p ,绑定独立于组件的实现; 安全、事务、可靠性消息等其基础设施环境,可以通过定义于独立于实现组件的 策略( p o l i c i e s ) 来进行。 s c a 规范涉及的各个方面,被分成一系列的文档:组装模型描述了通过连 线来连接组件,它独立于具体的实现语言;客户端和实现规范规定了服务及其调 用的客户端的各种实现一s c a 的每种实现语言都有相应的客户端和实现技术 规范来描述s c a 模型。而s c a 模型中的服务模块( c o m p o s i t e ) ,是一个在开发 和部署到s c a 系统时,紧耦合组件组合的”最大组织单元”,也是s c a 系统内的 松散耦合组合的基本单元。服务模块里可以包含组件、入口点( s e r v i c e ) 、引用, 属性、连线( 衔接机制) 等。模块的u m l 结构如图2 - 3 所示。 图2 - 3c o m p o s i t e 的u m 结构 f i g u m2 - 3t h eu m l a r c h i t v c t m eo f c o m p o s i t e s c a 系统则用于聚合那些提供了相关业务功能的模块,表示组织在某一个业 务领域提供的服务集( s e r v i c es e t ) 。一个s c a 系统由多个子系统和服务模块组 合而成,通过配置和管理模块组件、外部服务、入口点、以及连接机制,完成模 块的实例化、配置和连接。s c a 系统对外公开的接口就是组成其子系统和服务模 块暴露出来的服务。图2 - 4 是系统组装的一个示例,它说明了如何使用服务和 l o 第二章面向服务的应用集成 引用连接各个子系统和模块。 图2 - 4 s c a 系统】 f i g u r e2 - 4s c as y s t m n 2 3 2 基于s c a 的应用集成 s c a 的一个非常重要的特点就是隔离关注,s c a 服务模块强制地将服务的 接口和服务的绑定完全分离,服务就是业务的服务,而绑定则是服务的外在表现 和通信协议,和服务本身的逻辑是没有交叉的,具体来说,一个模块可以暴露出 同个接口的多种绑定形式,这就可以被不同的业务环境集成。这符合我们一般 的思维模式,比如服务本身的逻辑我们可以类比于是m v c 模式中的m o d e l ,而 多种不同形式的绑定就相当于v i e w 。 运用s c a 进行应用集成的另一个优势在于用它关注的重点只是s o a 构建者 所看到和接触到的,而不需要关注用来执行s c a 模块的运行时是如何构架的。 这个运行时可以实现为一个将所有的s c a 服务组件编译成为j a v a 类的丑陋的单 一服务,或者是一组模块化的引擎( 每个组件一个引擎) ,这些引擎可以通过一个 企业服务总线( e s b ) 来进行通讯。s c a 提供构建粗粒度组件的机制,可进行打包 和部署那些紧密相关的细粒度组件,这些组件是作为一个整体部署的。这种机制 使服务的实现和组装不再直接面对具体的技术细节的层次,而是通过服务组件的 方式来构建应用,因而使得客户的企业应用具有良好的分层架构,能够很好的分 广东工业大学工学硕士学位论文 离应用的业务逻辑和i t 逻辑,从而支持不同基础设施间的服务可移植性和重用 性剀。 s c a 作为一种集成的新技术,通过屏蔽底层技术及其变更来提供业务逻辑, 可以为不同类型、不同接口的组件提供了统一调用的方法,而不管所使用的是哪 种具体编程语言以及运行平台,从而大大降低了应用程序集成的复杂性。这个优 势与w 曲服务的集成是相同的,因为它们都是基于s o a 。s c a 还扩展了w e b 服务集成技术,因为不但提出了如何构建单个服务,而且还提供了服务的组装模 型;而s c a 的接口和绑定等规范,使集成技术不再限于w e b 服务的w s d l 和 s o a p 。借助s c a 模型,实现以业务功能定义的服务,而没有使程序员面对 传统集成中间件编程的复杂性,能迅速地把个体服务组装成适应业务流程的系 统,并通过对安全性、事务和可靠消息传递之类的特性定义了声明式策略,可以 控制集成方案的各个方面。 2 3 3 与其他集成技术比较 s c 服务组件与传统组件的主要区别在于:服务组件往往是粗粒度的,而传 统组件以细粒度居多;服务组件的接口是标准的,主要是w s d l 接口,而传统组 件常以具体a p i 形式出现;服务组件的实现与语言是无关的,而传统组件常绑定 某种特定的语言;服务组件可以通过组件容器提供q 0 s 的服务,而传统组件完全 由程序代码直接控制删。 2 3 3 2 s c a 与w e b 服务 w e b 服务在增强应用之间的可连接性以及互操作性方面迈出了一大步,然 而,w 曲服务只关注了服务接口,它并不提供描述一个服务所依赖的其它服务, 以及这个服务所需要使用的配置策略和服务之间的依赖关系,单独通过w s d l 很难实现服务之间的组合调用。 w e b 服务可以是s o a 的一部分,但这并非是强制要求】。s c a 发展了w e b 服务,它不但定义了一个服务组件模型,还提供了服务组装模型,服务模型提供 第二章面向服务的应用集成 了比w 曲服务更多的功能,允许服务开发者不单定义服务的接口而且还可以定 义这个服务和其他服务的依赖关系,以及这些交互( 事务、安全以及可靠性传输) 之间的策略还有服务所可能提供的配置功能。当前的s o a 平台一般需要编程者 自己获取那些服务部署引用。甚至有时要在他们的服务实现中写h a r dc o d e ,而 运用s c a 则可以简化这方面的工作。一个s c a 模型对等于一个s o a 项目,模 型允许编程者组装一组服务组件,解决引用依赖和使用策略。 2 3 3 3s c a 与j b i j b i ( j a v ab u s i n e s si n t e g r a t i o n ) 呦1 是由s u n 等中间厂商提供的一个标准化 s p i ( s e r v e rp r o v i d e ri n t e r f a c e ) ,它回答的是怎样增加服务引擎或者如何对组件进 行绑定;而s c a 面对的是最终开发者、组件组装者和部署者,为他们提供对不 同实现类型的组装或者对尚未校准化的组件类型进行绑定,s u n 已加入了s c a 组织,并计划将来j b i 的版本可通过使用s c a 进行组装服务。 j b i 定义了消息服务a p i 、r o u t e r 组件、以及一个管理模型用来管理服务的 部署集成,例如路由引擎、b p e l 引擎、规则系统、消息转换引擎等。j b i 还 提供了一个逻辑的x m l 消息网络,这一网络能够很容易的映射到h t t p ,e m a i l 和j m s 舢o m ,并很方便地适应遗留系统、二进制地传输和r p c 系统( e j b 和 c o r b a ) 。j b i 可以看做是对j m s 的更高层次的逻辑抽象,并提供了不同的消息 交换方式( 单步、请求应答等) 。从另一个方面来说,j b i 是一组关注编程的、 可扩展的以及标准组件的企业服务总线( e s b ) ,这样它的内核是和s c a 有一些重 合的地方,但同时两者之间也存在互补的机制啪1 。 s c a 与j b i 的区别也是比较明显的:j b i 关注的是如果将一组引擎组装并运 行于一个j v m 中,而s c a 并不将一个模块约束在单个j v m 中,一个s c a 模块 可以执行在一个j v m 中,也可以很方便的将这些引擎部署在不同的进程甚至是 不同的节点上;j b i 的编程环境只能是j a v a ,而s c a 不但支持j a v a 还支持c + + , 在今后也许还会支持c 群、p h p ,j b l 只是s c a 的一个实现方式,而不是唯一的 选择m 。 广东工业大学工学硕士学位论文 2 3 3 4s c a 与s p r i a g s p r i n gf r a m e w o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版航空发动机叶片加工合作协议样本
- 放开生育面试题目及答案
- 员工培训毕业典礼
- 培训课件费报销调研
- 幼儿园小班教案《多嘴的八哥鸟》含反思
- 2025年智慧城市公共设施场地租赁与智能化服务合作协议
- 2025年社会福利院消防安全设施建设与安装合同
- 2025年汽车租赁免责及全方位保险理赔保障服务协议
- 珠宝品牌授权经营合作协议
- 2025年城市公共交通柴油能源供应及维护服务合作协议
- 广西2025年公需科目学习考试试题及答案4
- 代加工板材合同协议书范本
- 2025年事业单位工勤技能-湖南-湖南地质勘查员二级(技师)历年参考题库含答案解析(5卷)
- 肝炎的分型及护理
- 高中语文38篇课内文言文挖空一遍过(教师版)
- 2025年高考真题物理(四川卷)-2
- 企业负责人财税知识培训
- 【前程无忧】2025校招人才素质洞察白皮书
- 船舶制造公司管理制度
- 2025至2030年中国石油化工自动化仪表产业发展动态及未来趋势预测报告
- 中建EPC项目报批报建工作指南
评论
0/150
提交评论