




已阅读5页,还剩59页未读, 继续免费阅读
(通信与信息系统专业论文)基于soa的j2ee应用框架的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内容提要 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 框架,企业级系统可以最大程度地减少系统间的 耦合,从而提高可重用性。 本文对s o a 的理念进行了一定的研究和阐述,并运用先进的软件丌发技术j 2 e e 设 计并实现了基于s o a 的j 2 e e 应用程序框架( j s ) 。框架实现了基本的服务创建、维护、 发布以及调用等功能,并且对一些流行开源框架技术如j s f 、h i b e r n a t e 和s p r i n g 提供了 支持。从功能上来说,j s 框架是统一负责业务逻辑处理的s e r v i c e 的丌发框架。由它所 开发出的s e r v i c e 的功能相当于j 2 e en 层架构中服务层和领域层的功能合成,其目的是 使应用服务组件的开发完全面向s e r v i c e 。对于特定的业务需求,可以按照面向服务的理 念将其分解为互相独立的较小的s e r v i c e 逻辑;然后,在j s 框架上对这些较小的s e r v i c e 进行开发,由于框架已经提供了s e r v i c e 的维护及调用等机制,所以这些工作都不需要 在特定的s e r v i c e 中出现;从而,使服务组件的开发更加快速,而且组件质量和可维护 性都有了进一步的提高。此外,j s 框架还实现了s e r v i c e 组件的可配置功能,所以可以 灵活的将现有s e r v i c e 进行重组以形成具有不同功能的服务组件,据此所丌发的应用系 统就具有了较好的松敞耦合性。最后,由j s 框架所开发的所有s e r v i c e 的发布和调用是 符合w e bs e r v i c e 标准的:所以说,基于j s 框架所开发的s e r v i c e 具有平台独立性,并 且是完全支持分布式调用的。因此,在此框架之上开发基于s o a 的应用程序更加方便、 快捷,也使得应用系统的松散耦合性、可重用性以及可扩展性都有了很大的提高。 在j s 框架的基础上将s o a 的设计理念运用于电子商务交易系统中,进一步验证了 基于j s 框架的s e r v i c e 开发流程的优点,同时也体现了利用s o a 进行软件开发的优势。 本文在最后对j s 框架的发展做了进一步的探讨,包括业务过程管理的实现和安全访问 控制的完善,这两方面对s o a 的实现有着极为重要的意义。 关键字:s o a ,j 2 e e ,应用程序框架,w e b 服务 a b s t r a c t a so mo ff u t u r e g e n e r a t i o ns o f t w a r ed e v e l o p m e n t i d e a s ,s o a ( s e r v i c eo r i e n t e d a r c m t e c t u r e ) h a sp r o d u c e dp r o f o u n di n f l u e n c eo nm o d e r ns o f t w a r ed e v e l o p m e n t p a t t e m s s u a p r o v l d e ss e r v i c e sf o ro t h e ra p p l i c a t i o n st h r o u g hs e r v i c e p u b l i s h i n g ,f i n d i n ga n di n v o k i n 2 ih r o u g hs o a f r a m e w o r k ,e n t e r p r i s es y s t e m sc a nr e d u c et h ec o u p l i n gb e t w e e ns y s t e m sj n m o s te x t e n ta n de n h a n c et h er e u s e o fs o f t w a r er e s o u r c e in l sp a p e rh a sc a 丌i e d o nc e r t a i n r e s e a r c ha n de x p o s i t i o n t oi d e a so fs o a a n d d e s l g n e da n dr e a l i z e dt h ej 2 e ea p p l i c a t i o n f r a m e w o r k ( j s ) ,b a s e do ns o aa n du s j n g a d v a n c e ds o r w a r ed e v e l o p m e n tt e c h n o l o g y j 2 e e t h e f r a m e w o r kh a sr e a l i z e d t h eb a s i c s e 1 c ec r e a t l n g ,m a i n t a i n i n g ,p u b l i s h i n ga n di n v o k i n g f u n c t i o n ,a n dp r o v i d e dt h es u p p o r tt o s o m ep 。e v a l e n to p e ns o u r c ef r a m e w o r k sj u s ta s j s f , h i b e r n a t e ,s p r i n g a tt h ea s p e c to ft h e f u n c t i o n , t h ef r a m e w o r k ,j s ,h a st a k e nc h a r g eo ft h ed e v e l o p m e n to f t h es e i c e so fb u s i n e s s l o g l ch a n d l i n g t h ef u n c t i o n so fs e r v i c e sb a s e do ni t a r et h es u m m a t i o no ft h ef u n c t i o n so f s e r v l c et l e ra n do fd o m a i nt i e ri nj 2 e en - t i e r a r c h i t e c t u r e t h et a r g e to ft h ef r a m e w o r ki st o m a k et h ed e v e l o p m e n to fs e r v i c ec o m p o n e n t so r i e n ts e r v i c ei n t h em o s te x t e n t t ot h e2 i v e n r e q u i r e m e n t , w ec a ns e p a r a t ei ti n t os o m ei n d e p e n d e n ts m a l l e r s e r v i c e su s j n gs o a i d e a ,a n d d e v e i o p i n gt h e mo nt h ej s f o rj sh a sp r o v i d e dt h em a i n t a i n i n ga n d i n v o k i n gm e c h a n i s mo f s e r v i c e s , t h e s ew o r kd o f f tn e e d e dt ob ed o n ei n o u rb u s i n e s ss e r v i c e s ,w h i c hm a k e so u r s e r v l c ed e v e l o p i n gf a s i e r , q u a l i t ya n dm a i n t e n a n c e b e t t e r b e s i d e s ,w eh a v ea l s or e a l i z e dt h e c o n t l g u r a t l o nf u n c t i o no fs e r v i c ec o m p o n e n t si nj s s o ,w ec a n r e a 丌a n g et h ee x i s t e ds e i c e s i n t os o m eo t h e rs e r v i c ec o m p o n e n t s w i t hn e wf u n c t i o n s ,t h u s t h ea p p l i c a t i o ns y s t e m s d e v e j o p e dh a v eb e t t e ri o o s ec o u p l i n g f i n a l l y ,a l ls e r v i c e sb a s e d o nj sc a np u b l i s ha n di n v o k e t h r o u g hw e bs e r v i c et e c h n o l o g y , s ot h e s es e r v i c e sa r ei n d e p e n d e n to n d i f f e r e n tp l a t f o r m sa n d a r ed i s t r i b u t e d t h ea b o v ep o i n t so f j sm a k et h ed e v e l o p m e n to fa p p l i c a t i o n sb a s e d o ns o a m o r ef a s ta n ds l m p l ea n di m p r o v et h el o o s ec o u p l i n g ,r e u s ea n d e x p a n s i b i l i t yo fa p p l i c a t i o n b a s e do njsf r a m e w o r k ,t h e nu s ei ti nt h er e a li z a t i o no f t h ee - c o m m e r c e t r a d i n gs y s t e m w n l c hv a l i d a t e st h em e r i to fs e r v i c ed e v e l o p m e n tb a s e dj sa n di n d i c a t e s t h ea d v a n t a g eo ft h e s u as o f t w a r e d e v e i o p m e n ti d e a a t l a s t ,t h i sp a p e rm a k e sf u n h e rd i s c u s s i o n s t ot h e d e v e i o p m e n to f 。j s ,i n c l u d i n gt h er e a l i z a t i o no f b p m ( b u s i n e s sp r o c e s sm a n a g e r )a n d l m p r o v e m e n to fs e c u n t ya c c e s sc o n t r o lm e c h a n i s mo f s e r v i c e s , w h i c hh a v ev e r yi m p o n a n t s i g n i f i c a t i o nt ot h er e a l i z a t i o no fs o a k e yw o r d s :s o a ,j 2 e e ,a p p l i c a t i o nf r a m e w o r k ,w 曲s e r v i c e s 海南大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独立进行研究j :作所取得的成果。 除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品或成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本卢明的法律结果由本人 承担。 论文作者躲彭髟在日期:2 口声月乡日 学位论文版权使用授权说明 本人完全了解海南人学关收集、保存、使j j 学位论文的规定,即:学校彳权保留= = 向国家有 关部i j 或机构送交论文的复e 1 f t :和l 乜f 版,允许论文被a 阅和借阅。本人授权海南人学可以将本学 位论文的全部或部分内容编入有天数据_ 苹进彳了榆索,可以采_ j 影印、缩印或描等复制手段保存和 汇编本。何论文。本人在导4 j :t 8 导卜完成的论文成果,知识产权j 门属海南人学。 保密论文住解密后遵守此规定。 论文作者签名:易参梧 翩 h 期:御年多月占日h s 本人已经认真阅读“c a l l s 高校学位论文全文数据j 辛发布章程”,同意将本人的学位论文提交 “c a i 。i s 高校学位论文全文数据阵”中全文发布,并可按“章程”中规定享受相关权益。同意论文 堡垒正递正i 旦:i :f :;堕= 生i 亘三笙筮尘。 善翥豢糍毳仔 日期:少年名,月h 导师 日期 1 绪论 1 1 论文的研究背景 随着计算机网络等现代信息技术的飞速发展,系统的完整性和一致性向着群体生产 率的提高、不同系统之i u j 的高适应和灵活互连而变化,软件的非功能性需求比以往得到 更大的重视。以主机为中心的计算方式转变为以网络为中心的计算方式,通过后者,用 户可以在分散的不同地理位置上,凭借网络进行跨时空共享信息、协同工作,消除了“信 息孤岛”,极大地提高了工作效率。与此同时,这一方面导致应用系统的功能、规模和 复杂性急剧增长,另一方面要求各种应用系统之问能互相交互。为此,应用系统集成成 为国内外研究热点问题之一。 软件开发的实践经历了几个不同的编程模型。它进行的每一次转变在某种程度上都 是为了处理更高级别的软件复杂性,并且使得可以通过部件、组件或服务来装配应用程 序。近来,j a v a 技术促成了平台中立的编程,而x m l 促成了自描述,因而也促成了平台 中立的数据。现在,w e b 服务通过允许应用程序以对缘模型中立的方式实现互连,从而 克服了平台异构性的障碍。使用简单的基于x m l 的消息传递s c h e m a ,j a v a 应用程序能 够调用基于d c o m ( 分布式对象组件模型) ,遵循c o r b a ( 公共对象请求代理体系结构) 甚至 是c o b o l ( 共通商用语言) 的应用程序。理想情况是,调用程序很有可能根本不需知道该 事务在哪里运行、它由哪种语言编写以及消息的传输路径,只需提出服务请求,然后就 会得到答案。 面向服务的体系结构( s e r v i c e o r i e n t e da r c h i t e c t u r e ,s o a ) 允许设计这样的软件 系统,它通过发布可发现的接口为其他的应用程序提供服务,而其中的服务可以通过网 络进行调用。采用s o a 框架,企业级系统可以最大程度地减少系统间的耦合,从而提 高可重用性。当用w e b 服务技术来实现面向服务的体系结构时,用户采取在一个强大、 灵活的编程模型中创建一种新的构建应用程序的方式,这种构建方式降低了开发成本、 持有成本以及实现风险等。s o a 既是体系结构模型,又是编程模型,是种考虑如何构 建软件的方式。 j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 日趋成熟,已成为实现s o a 的一种很好的技术框 架。1 5 版的j 2 e e 平台通过新的j a x w s2 0 提供了完整的w e b 服务支持,这种a p l 支持基 于s e r v l e t 和企业b e a n 的服务端点。j a x - w s2 0 基于w s d l 季h s o a p 协议提供了与w e b 月e 务的 互操作性。j 2 e e1 5 平台也支持w e bs e r v i c e sf o rj 2 e e 规范( j s r1 0 9 ) ,后者定义了w e b 服务的部署需求并利用了j a x r p c 编程模型。除了几种w e b h e 务a p i 之外,j 2 e e1 5 平台 还声称支持w s - ib a s i cp r o f i l e1 0 。w s - ib a s i cp r o f i l e 标准让w e b 月e 务克服了不同 编程语言、操作系统和供应商平台之间的障碍,使多种应用程序之间能够交互。这意味 着除了平台独立性和完整的w e b 服务支持之外,j 2 e e l 5 还提供了跨平台的w e b 服务互操 作性。 1 2 研究目的和意义 如上节所述,通过采用s o a 框架,企业级系统可以最大程度地减少系统问的耦合, 从而提高可重用性,而w e bs e r v i c e s 和j 2 e e 技术为实现s o a 框架提供了很好的技术实 现。本文则侧重于研究如何运用j 2 e e 技术和w e bs e r v i c e s 设计和实现一个轻量级的基 于s o a 的应用程序框架,从而使得应用系统的开发能够更加方便、快捷,而且基于此框 架所开发出的应用系统是基于s o a 的松散耦合、可重用的系统。它将对分布式的企业级 应用丌发产生极强的现实指导意义,并丰富软件体系结构的研究。 1 3 本论文的主要研究内容 本文将深入研究s o a 的先进架构理念和j 2 e e 技术框架,并且将两种技术很好的结合, 为应用系统丌发提供一种实现s o a 的可操作的技术框架,并在实际应用系统的开发中加 以应用。 将s o a 应用于i n t e r 几e t 环境下的企业应用,主要采用的技术手段艉 w e b s e r v i c e s 。由于w e b 服务全部的舰范、技术都是以x m i 。为底层核心和架构基础的,这使 得w e b 服务平台、语言和发布者能够相互独立。而j 2 e e 已经成为开发商创建电子商务 应用的事实标准。 囚此,本课题的研究内容主要包括: ( 1 )研究s o a 的概念、模型、特点、优势以及发展前景;介绍s o a 的实现技术一一 w e bs e r v i c e s ,并深入理解了它的基本规范( s o a p 、w s d l 、u d d i 等) ;描述s o a 与 w e b 服务的关系、w e b 服务的协议栈和实现w e b 服务的关键技术。 ( 2 ) 深入分析j 2 e e 分布式计算技术及其典型的多层结构,并对j 2 e e 体系下多个 丌源框架作了详细的研究。在深入分析了建设企业级应用的j 2 e e 分布式计算框架 及相关技术后,本文着重研究了j 2 e e 体系的实现技术,对目前市场优秀的歼源框 架进行分析与筛选,总结出一条构建s o a 系统的技术路线。 ( 3 ) 设计一个基于s o a 的j 2 e e 应用程序框架,不但是对s o a 与j 2 e e 技术结合在 实现及可操作级别上的一种尝试,而且也能够为应用系统丌发提供一个方便可用、 灵活高效的开发平台。 ( 4 )结合具体应用实例( 电子商务交易系统) 分析了如何利用w e bs e r v i c e s 技 术实现s o a 。 1 4 论文内容安排 第一章:介绍本论文的研究背景和意义,提出了s o a 解决方案,阐述了本论文的主 要内容和所做的主要工作。 第二章:介绍了s o a 的基础知识及其实现技术w e bs e r v i c e 、业务过程执行语 言、企:l k h 艮务总线等,描述了s o a 和w e bs e r v i c e s 之间的关系、w e bs e r v i c e s 的协议栈 和实现w e b 服务的关键技术。 第三章:详细介绍了j 2 e e 相关技术,包括其技术组成及其丌源框架技术,最后描 述了本论文与j 2 e e 技术相结合的w e bs e r v i c e s 框架a x i s 技术。 第四章:重点叙述了本文提出的j s 框架设计过程,包括利用j 2 e e 开源框架技术实 现对s e r v i c e 的创建、描述、发布、调用等。 第五章:结合电子商务系统案例,阐述s o a 思想的运用过程,重点介绍了利用j s 框架实现企业级应用的过程。 第六章:总结现有研究工作,对下一步研究工作进行展望。 2 面向服务架构( s o a ) 技术 2 1s o a 思想理论 2 1 1s o a 概述 随着企业计算的发展,企业级应用需求需要新的软件系统不再足从底层做起,而只 是依据企业逻辑需求重新组织已有的数据存储,将现有的数据和事务通过新的渠道,比 如i n t e r n e t 浏览器或者手持设备呈现给用户。另外,为了提高企业计算的高效性、可 用性、规模性,现有许多操作系统都采用分布式操作系统,运行在多个机器之上。这样 的企业级解决方案就必须具有协凋运行在群组硬件之上的功能。实现这种系统的一种方 法就是将该系统组织为群组服务的模式,每一个服务都提供一组定义良好的功能集合。 整个系统其实就被设计和实现为一组相互交互的服务,而将功能以服务的形式展现出来 是该系统灵活性的关键。它使得系统中的某些服务能够充分利用其他的服务的同时却无 需考虑其物理位置。系统通过添加新的服务来不断的升级,这样就应运而生了面向服务 的体系结构s o a ( s e r v i c e o r i e n t e da r c h i t e c t u r e ) 。s o a 定义了构成系统的服务,通 过描述服务之问的交互提供特定的功能特性,并且将服务映射为某种具体的实现技术。 1 9 9 6 年,美国知名i t 市场调研顾问g a r t n e rg r o u p 提出了s o a 的预言。不过那时 它仅仅足一个“预言”,当时的软件发展水平和信息化程度还不足以支撑这样的概念走 进实质性应用阶段。2 0 0 3 年,g a r t n e r 又提 :s o a 是现代应用开发领域的重要课题, 并预言到2 0 0 8 年,绝大多数新的企业应用将使用s o a 元素。到了近一两年,这方面的 i t 投资迅猛增加,s o a 的技术实现手段逐渐成熟。在b e a 、i b m 等软件巨头的极力推动 下,s o a 技术才得以慢慢风行起来,它被认为是企业i t 构建方法、架构风格、技术、标 准、工具等的总称。s o a 是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒 度应用组件进行分布式部署、组合和使用幢1 。服务层是s o a 的基础,可以直接被应用调 用,从而有效控制系统中与软件代理交互的人为依赖性。s o a 的关键足“服务”的概念: w 3 c 将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终 结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改 变,或者双方都产生变化”。 s e r v i c e a r c h i t e c t u r e c o m 将s o a 定义为:“本质上是服务的集合。服务间彼此 通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行 某些活动。服务问需要某些方法进行连接。所渭服务就是精确定义、封装完善、 独立于其他服务所处环境和状态的函数。” g a r t n e r 则将s o a 描述为:“客户端n 务器的软件设计方法,一项应用由软件服 务和软件服务使用者组成s o a 与大多数通用的客户端服务器模型的不同之 处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口。”g a r t n e r 4 相信b p m 和s o a 的结合对所有类型的应用集成都大有益处“s o a 极大的得益 于b p m 技术和方法论,但是s o a 面临的真_ _ l f 问题是如何确立正确的企业意识, 即:强化战略化的s o a 计划( 针对供应和使用) 并鼓励重用。” i b m 对s o a 的定义为:s o a 是一个组件模型,它将应用程序的不同功能单元( 称 为服务) 通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的 方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。 这使得构建在各种各样的系统中的服务可以以一种统一和通用的方式进行交 互。 虽然不同厂商或个人对s o a 有着不同的理解,但仍可以从上述的定义中看到s o a 的 几个关键特性:一种粗粒度、松耦合的服务架构,服务之间通过简单、精确定义的接口 进行通讯,不涉及底层编程接口和通讯模型。 2 1 2s o a 软件体系结构 面向服务的体系结构提供了一种方法来构建分布式系统,将应用程序功能作为服务 提供给终端用户应用程序或其他服务。 面向服务的体系结构中的协作遵循“查找、绑定和调用”范例,其中,服务使用者 执行动态服务定位,方法就是查询服务注册中心束查找与其标准匹配的服务。如果服务 存在,注册中心就给使用者提供接口契约和服务的端点地址。图2 一l 展示了此范例的实 体3 。 v 1 c e i p t i o n 图2 一ls o a 中的协作 s o a 中的角色包括: ( 1 ) 服务使用者:服务使用者是一个应用程序、一个软件模块或需要一个服务的另一 个服务。它发起对注册中心中的服务的查询,通过传输绑定服务,并且执行服务 功能。服务使用者根据接口契约来执行服务。 ( 2 ) 服务提供者:服务提供者是一个可通过网络寻址的实体,它接受和执行来自使用 者的请求。它将自己的服务和接口契约发布到服务注册中心,以便服务使用者可 以发现和访问该服务。 ( 3 ) 服务注册中心:服务注册中心是服务发现的支持者。它包含一个可用服务的存储 库,并允许感兴趣的服务消费者查找服务并提供接口。 面向服务的体系结构中的每个实体都扮演着服务提供者、使用者和注册中,t t , 这三种 角色中的某一种( 或多种) 。面向服务的体系结构中的操作包括: ( 1 ) 发布( p u b lis h ) :使服务提供者可以向服务注册中心注册其功能及访问接口。 ( 2 ) 查找( f i n d ) :使服务请求者可以通过服务注册中一t h , 查找特定种类的服务。 ( 3 ) 绑定( b in d ) 和调用( i n v o k e ) :使服务请求者能够真正使用服务提供者。 面向服务的体系结构中的构件包括: ( 1 ) 服务:可以通过己发布接口使用服务,并且允许服务使用者调用服务。 ( 2 ) 服务描述:服务描述指定服务使用者与服务提供者交互的方式。它指定来自服务 的请求和响应的格式。服务描述可以指定一组前提条件、后置条件以及服务质量 ( q o s ) 级别。 2 1 3s o a 特点及优势 s o a 的实施具有几个鲜明的基本特征。实施s o a 的重要f 1 标是实现企业i t 资产的最 大化重用。要实现这一目标,就要在实施s o a 的过程中牢记以下主要特征h 1 : 粗粒度的服务接口 松敞祸合 可重用的服务 标准化的服务接口 精确定义的服务契约 下面依次对以上概念进行解释: ( 1 ) 粒度的服务接口 半h 粒度服务提供一项特定的业务功能,而细粒度服务代表了技术组件方法。举个 例子说明最为清楚向计费系统中添加一个客户是典型的租粒度服务,而你可以使 用几个细粒度服务实现这一功能,如:将客户名加入到计费系统中,添加详细的客户 联系方式、添加计费信息等等。 采用粗粒度服务接口的优点在于使用者和服务层之间不必再进行多次的往复,一 次往复就足够。i n t e r n e t 环境中有保障的t c p i p 会话已不再占据主导、建立连接的成 本也过高,因此在该环境中进行应用开发时粗粒度服务接口的优点更为明显。除去基 本的往复效率,事务稳定性问题也很重要。在一个单独事务中包含的多段细粒度请求 可能使事务处理时间过氏、导致后台服务超时,从而中止。与此相反,从事务的角度 来看,向后台服务请求大块数据可能是获取反馈的唯一途径。 ( 2 ) 松散祸合 s o a 具有“松散耦合”组件服务,这一点区别于大多数其他的组件架构。该方法旨 在将服务使用者和服务提供者在服务实现和客户如何使用服务方面隔离丌来。服务提 6 供者矛r i n 务使用者问松散耦合背后的关键点是服务接口作为与服务实现分离的实体而 存在。这使服务实现能够在完全不影响服务使用者的情况下进行修改。大多数松散耦 合方法都依靠基于服务接口的消息。松散耦合是一个广义词,它实际上与服务、以及 服务的实现与使用方面多种元素相关,包括接口耦合、技术耦合和流程耦合。 ( 3 ) 可重用的服务 如果完全按照可重用的原则设计服务,s o a 将可以使应用变得更为灵活。可重用服 务采用通用格式提供重要的业务功能,为开发人员1 j - f , j 了大量时间。设计可重用服务是 与数据库设计或通用数据建模类似的最有价值的工作。 ( 4 ) 标准化的服务接口 近年来出现的两个重要标准x m l 和w e b 服务增加了全新的重要功能,将s o a 推向更 高的层面,大大提升了s o a 的价值。尽管以往的s o a 产品都是专有的、并且要求i t 部 门在其特定环境中开发所有应用,但x m l 和w e b 服务标准化的开放性使企业能够在所部 署的所有技术和应用中采用s o a 。 w e b 服务使应用功能得以通过标准化接口( w s d l ) 提供,并可基于标准化传输方式 ( t t t t p 和j m s ) 、采用标准化协议( s o a p ) 进行调用。例如,丌发人员可以采用最适于门户 丌发的工具轻松创建一个新的门户应用,并可以重用e r p 系统和定制j 2 e e 应用中的现 有服务,而完全无须了解这些应用的内部一t = 作原理。采用x m l ,门户丌发人员无须了解特 定的数据表示格式,便能够在这些应用间轻松地交换数据。你也可以不采用w e b 服务或 x m l 来创建s o a 应用,但是这两种标准的重要性f 1 益增加、应用f j 趋普遍。 ( 5 ) 精确定义的服务契约 服务是由提供者和使用者j n j 的契约定义的。契约规定了服务使用方法及使用者期望 的最终结果。此外,还可以在其中规定服务质量。此处需要注意的关键点是,服务契约 必须进行精确定义。 如果一个服务具有上述特征,那么在现在企业级应用采用面向服务的架构将给用户 带来以下几方面的好处哺1 : ( 1 ) 利用现有的资产 s o a 提供了一个抽象层,通过这个抽象层,企业可以继续利用它在i t 方面的投资, 方法是将这些现有的资产封装成提供企业功能的服务。组织可以继续从现有的资源中获 取价值,而不必重新从头开始构建。 ( 2 ) 更易于集成和管理复杂性 在面向服务的体系结构中,集成点是服务规范而不足实现。这提供了实现透明性, 并将基础设施和实现所发生的改变带来的影向降到最低限度。通过提供针对基于完全不 同的系统构建的现有资源和资产的服务规范,集成变得更加易于管理,因为复杂性是隔 离的。当更多的企业一起协作提供价值链时,这会变得更加重要。 ( 3 ) 更快的响应和上市速度 从现有的服务中组合新的服务的能力为需要灵活地响应苛刻的商业要求的组织提 供了独特的优势。通过利用现有的组件和服务,可以减少完成软件开发生命周期( 包括 收集需求、进行设计、开发和测试) 所需的时i h j 。这就可以快速地开发新的业务服务, 并允许组织迅速地对改变做出响应和减少上市准备时f 1 ;1 j 。 ( 4 ) 减少成本和增加重用 通过以松散耦合的方式公开的业务服务,企业可以根据业务要求更轻松地使用和组 合服务。这意味资源副本的减少、以及重用和降低成本的可能性的增加。 ( 5 ) 说到做到 通过s o a ,企业可以未雨绸缪,为未来做好充分的准备。s o a 业务流程是由一系列 业务服务组成的,可以更轻松地创建、修改和管理它来满足不同时期的需要。 2 1 4s o a 发展前景 近两三年,随着s o a 软件架构理念的产生与不断发展,业界的不同开发商也迅速跟 进,所研发版本不断升级。2 0 0 7 年3 月,由核心成员i b m 、b e a 、e d s 、s a p 、s u n 和中国 普元组成的o a s i s ( 结构化信息标准促进组织) 颁布s o a 国际标准s c a s d o ( 服务组件架 构月& 务数据对象) ,翻丌了s o a 的新篇章。 蓝色巨人i b m 是笫一个为构建、部署基于s o a 的i t 系统提供一系列全面的工具、 培训和服务线路的大型厂商,它涵盖了架构资产管理和s o a 解决方案生命周期的所有方 面,整个概念覆盖了他们提供的五大产品线w e b s p h e r e 、w o r k p l a c e 、t i v o li 、d b 2 及 其r a t i o n a l 。2 0 0 7 年3 月i b m 己发布的r a t i o n a l7 0 利s o a 架构之器,强化面向服务 的架构功能,帮助客户更加高效的交付高质量的软件和服务。它包含众多软件支付桌面 管理和服务,对e c l i p s e 开放源代码丌发框架提供企业级支持,部署了j 2 e e 门户应用, 基于u m i 。2 1 建模等,功能非常强大。 b e a 的旗舰产品w e b l o g i cp l a t f o r m8 1 是业界内s o a 实现的最佳平台,从w e b l o g i c s e r v e r 到w e b l o g i cp o r t a l 再到w e b l o g i ci n t e g r a t i o nb e a 的全线产品都是采用s o a 的理念去设计的,而w o r k s h o p8 1 则是第一个完整的i s e ( i n t e g r a t e ds e r v i c e s e n v i r o n m e n t ,面向服务集成环境) ,它覆盖了从设计、开发、测试到部署的各个环节, 并且宣称通过该平台能够快速为企业建立基于服务的应用。 o r a c l e 的j d e v e l o p e rl o g 是一种基于j a v a 与w e b 服务环境的丌发工具,具有网 络激活功能,并能够支持s o a ,并且提出在s o a 工具方面,领先于i b m 和s u n 这样的公 司,通过其数据库产品o r a c l el o g 和o a s ( o r a c l ea p p lic a t i o ns e r v e r ) 的支持,同时 加上a p f ( a p p li c a t i o np l a t f o r mf o u n d a t i o n ) 的支持,因此在s o a 的支持方面,o r a c l e 扮演领头羊角色。 目前,在s o a 产品方面,以i b m ,b e a ,o r a c l e ,s u n 为首的j a v a 应用牢牢占据企 业高端应用,除了具备跨平台的特点之外,更加重要的是他们在j a v a 标准之上形成了 非常成熟的产品线,从开发工具到应用服务器再到企业应用实现,自始至终都有一套完 s 善的解决方案,在这个世界里面他们成为领导者,他们着眼于中高端市场。然后,中国 软件业有其自身的差异,因此在s o a 中国路线图实施影向下,本文采用基于j a v a 标准 的j 2 e e 技术框架设计一种基于s o a 的应用程序框架。 2 2w e bs e r vic e s 架构 2 2 1w e bs e r v ic e s 简介 w e bs e r v i c e s 盯3 ( w e b 服务架构) 是由w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ,万维网联 盟) 制定的一套开放的标准的技术规范,w 3 c 对w e bs e r v i c e s 的定义如下:“w e bs e r v i c e s 是一个由u r i ( 统一资源标识符) 标识的软件应用,它的接口和绑定能够作为x m l 实体被 定义、描述和发现。w e bs e r v i c e s 支持利用在基于i n t e r n e t 协议之上的x m l 消息交换 来与其它的软件代理进行直接交互。” 下面是w e bs e r v i c e s 的一些关键的特点: ( 1 ) w e bs e r v i c e s 是自包含的。在客户端,额外的软件是不需要的。例如,一个支 持x m l 和h t t p 客户端的编程语言是足够达到要求的。在服务器端,只有一个w e b 服务 器和一个s e r v l e t 引擎是必需的。w e bs e r v i c e s 利用一个继存应用程序而不需要另写一 行代码是可能的。 ( 2 ) w e bs e r v i c e s 是自描述的。服务器端和客户端不需要知道除请求响应消息格式 和内容之外的任何事情( 松散耦合应用集成) 。消息格式的定义是以消息为载体的。额外 的原数据知识库或源码产生工具不是必须的。 ( 3 ) w e bs e r v i c e s 是模块化的。w e bs e r v i c e s 是种在w e b 上部署和提供访问业务 功能的技术;j 2 e e ,c o r b a 和其他标准都是w e bs e r v i c e s 的实现技术。 ( 4 ) w e bs e r v i c e s 能够通过w e b 发布、定位和调用。执行这些操作需要提供的标准 有s o a p 、w s d l 和u d d i 。( 2 2 3 节将会详述) ( 5 ) w e bs e r v i c e s 是语言独立和互操作的。在w e bs e r v i c e s 中,服务提供者和服 务请求者之间的交互是完全平台、语占独立的。这种交互要求w s d l 文挡定义接口和描 述服务,而且也伴随着网络协议( 通常是h t t p ) 的支持。由于这种交互方式使服务提供者 和服务请求者不需要知道对方所用的平台和语言,所以互操作性是显而易见的。 ( 6 ) w e bs e r v i c e s 是固有开放和基于标准的。x m l 和h t t p 是w e bs e r v i c e s 的技术 根基。w e bs e r v i c e s 技术的很大一部分是构建在丌源项目之上。因此,提供商的独立和 协作性是现实的目标。 ( 7 ) w e bs e r v i c e s 是动态的。w e bs e r v i c e s 使动态电子商务成为现实。这是因为 u d d i 和w s d l 使w e bs e r v i c e s 描述和发现自动实现。 ( 8 ) w e bs e r v i c e s 是可重组的。简单的w e bs e r v i c e s 能被组合成更加复杂的w e b s e r v i c e s ,实现方式为工作流技术或者从一个w e bs e r v i c e s 的实现中调用低层次的w e b s e r v ic e s 。 9 下图展示了基于图2 - 1 的s o a 模型的典型的w e b 服务协作。 2 b r e t st h e :i s e r v i c ec o n t r a c t “矜d参 3 a i n v o k e ,、 3 b r e q u e s t 3 b r e q u e s t r :e r v i c ,? 厂吖h = e a h 5 r e a c h e s s e r v i c e :。:;i c j : z n t e r n e t 、:;:;:v i c e l il i s e r v l c e p r o v id e r s e x v - ic e c o n s u m e r 西面圣圃 p r o v id e r 、八l w e b s c i v e t 图2 2w e b 服务协作图 2 2 2w e bs e r v i c e s 协议栈 w e b 协议栈的作用是用来描述w e b 服务的互操作问题,它定义了w e b 服务从底层的 数据传输到高层的服务质量、安全、路由等方面的规范。图2 - 3 描述了w e b 服务协议栈 【町 t 0 0 1l a v e rb u s res siss u e s w s f ls e r v i c ef l o w s t a ti c - u d d is e r v i c ed is c o v e r y 妊 d ir e c t - u d d is e r v i c ep u b l i c a ti o n 一c ) r - - 口0 s e r v i c ed e s c r i p ti o i l : 互 w s d ls e r v i c ei m p l e m e n t a ti o n ojq n s e r v i c eir l t e r f a c e 匕口qo _o - 暑 hf d oq 一 s o a px m l b as e dm e s s a gin g o c d x m ls c h e m ad a t am o d e li n g x m ld a t ap r e s e n t a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 再生物资回收挑选工转正考核试卷及答案
- 砖瓦生产工职业考核试卷及答案
- 小企业大数据营销方案
- 建筑方案设计必须招标么
- 篮球馆地板翻新施工方案
- 白水奖励十佳营销方案
- 工会春季运动活动方案策划
- 农牧企业营销咨询方案
- 宋代建筑改造方案设计原则
- 彩钢围墙的施工方案
- 资料员之资料员基础知识题库及完整答案(各地真题)
- 微生物实验室病原微生物评估报告
- 穴位埋线疗法在代谢性疾病中的应用及效果评估
- 学校各功能室使用情况登记表
- 气瓶检验员考试题
- 室内设计施工图图例与规范-课件
- 22G101系列图集常用点全解读
- 外研版初中英语单词总表(7~9)年级
- 商户二次装修管理方案及管控要点概述
- 液化气站年度安全教育培训计划及考试试题
- 大陆法系和英美法系的比较优质课件
评论
0/150
提交评论