(计算机应用技术专业论文)基于移动agent的soa架构及其应用模型的研究.pdf_第1页
(计算机应用技术专业论文)基于移动agent的soa架构及其应用模型的研究.pdf_第2页
(计算机应用技术专业论文)基于移动agent的soa架构及其应用模型的研究.pdf_第3页
(计算机应用技术专业论文)基于移动agent的soa架构及其应用模型的研究.pdf_第4页
(计算机应用技术专业论文)基于移动agent的soa架构及其应用模型的研究.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(计算机应用技术专业论文)基于移动agent的soa架构及其应用模型的研究.pdf.pdf 免费下载

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

文档简介

桂林工学院硕士学位论文 苎! ! ! 竺! ! ! ! ! ! ! 苎! ! ! ! i i i i i i i i 一! i ! ! ! ! 苎! ! 竺 摘 自1 9 9 6 年s o a ( 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 s b ( e n t e r p r i s e s e r v i c eb u s ,企业服务总线) 来选择所需要的服务。而服务请求者并不需要知 道获得的服务是谁提供的,也不需要知道实现服务的技术细节。尽管s o a 具有很 多的优点,但也存在不足。在传统的s o a 架构中,e s b 需要通过消息传递的方式 进行服务选择,需要人工干预,缺乏智能性。 本课题探讨的目标是:在e s b 中引入了移动a g e n t 技术,使得e s b 能够根据 服务请求者的请求智能地找到相应的服务,并探讨这个框架的设计、实现以及应 用。使用企业服务总线对服务进行统一管理。通过对服务进行粗粒度的划分以及 服务总线的使用,实现系统的松耦合和服务的透明化。 本文首先对s o a 架构的概念及发展趋势做了简要的概述,并对组成s o a 的三 个部分( 服务请求者、服务提供者和服务中介者) 的功能进行了介绍。在技术方 面,本课题采用s t r u t s 作为整个架构的基础。为了实现w e b 服务器和应用服务 器相分离,将业务逻辑放在应用服务器的s e s s i o nb e a n 中。出于对数据库的安 全考虑,本系统没有让模型层直接对数据库进行操作,而是在模型层中引入 e n t i t yb e a n ,利用e n t i t yb e a n 中的c m p 对数据库进行操作。对于s o a 架构的 服务接口,本课题采用w e bs e r v i c e 来实现。虽然w e bs e r v i c e 是实现s o a 的关 键技术,但二者在本质上并不完全相同,本文介绍了二者的联系和区别。在传统 的s o a 中,每一项服务进入企业服务总线时,都需要将该服务与端点监听器、目 标队列相关联,这一个过程需要人工干预,缺乏智能性,并且十分繁琐o l 本文将 移动a g e n t 技术引入企业服务总线,使其智能性得到了提高。在本文第三章中, 将传统的j 2 e e 技术与s o a 架构相结合,给出了本课题的完整架构模型,并对该 模型的建立过程给出了详细的介绍。在第四章中,根据该模型设计了一个网上购 物系统,对该系统的模块设计、数据库设计,以及各项技术的具体实现都给出了 详细的介绍。最后对该网上购物系统的商品管理模块和购物车模块进行了测试。 关键词:面向服务体系结构,w e bs e r v i c e ,企业服务总线,移动a g e n t 桂林工学院硕 士学位论文 a b s t r a c t n 圮s o a ( 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 ) c o n c e p tw a sp r o p o s e s e df r o m19 9 6 t o t o d a y ,s o af r a m e w o r kh a sb e c o m et h em a i np l a t f o r mf o re - c o m m e r c em o d e l t r a d i t i o n a le - c o m m e r c ep l a t f o r mh a sn os e p a r a t i o nb e t w e e nt e c h n o l o g i e sa n ds e r v i c e s , w h i c ht r a n s p a r e n c eo ft h es e r v i c e si sp o o r s o a ( 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 ) i sa f r a m e w o r kf o ri n t e g r a t i n gv a r i o u ss e r v i c e s ,i t se s s e n c ei st oc o n c e n t r a t eo nm a n a g e p l a t f o r ma n di n t e g r a t ev a r i o u ss e r v i c e st h r o u g hac o r es e r v i c et e c h n o l o g y s e r v i c e s p e t i t i o n e rn e e do n l yt h r o u g hs o am i d d l e w a r e e s b ( e n t e r p r i s es e r v i c eb u s ) ,t o c h o o s es e r v i c e sw h i c ht h e yn e e d s e r v i c e s r e q u e s t e rd o e sn o tn e e dt ok n o ww h oi s t h es e r v i c ep r o v i d e r , n o rn e e dt ok n o wt h et e c h n i c a ld e t a i l si ns e r v i c e s a l t h o u g ht h e s o ah a v em a n ya d v a n t a g e s ,b u tt h e r ea r ea l s om a n yd i s a d v a n t a g e s i nt h et r a d i t i o n a l f r a m e w o r ko ft h es o a ,e s bn e e dt oc h o i c es e r v i c e st h r o u g ht h ef o r mo fm e s s a g i n g , r e q u i r e sm a n u a li n t e r v e n t i o n , l a c ko f a ni n t e l l e c t u a ln a r i r e t h i st o p i c sd i s c u s s e da r c :i n t r o d u c et h em o b i l ea g e n tt e c h n o l o g yi ne s b ,t h e e s bc a na c c o r d i n gt ot h ep e t i t i o n e r sr e q u e s tt of m dt h ec o r r e s p o n d i n gi n t e l l i g e n t s e r v i c e s ,a n dt oe x p l o r et h ef r a m e w o r kd e s i g n , i m p l e m e n t a t i o na n da p p l i c a t i o n s e r v i c e sb u so nt h eu s eo ft h eu n i f i e dm a n a g e m e n ts e r v i c e s t h r o u g hd e m a r c a t i o no f t h ec o a r s eg r a n u l a r i t ys e r v i c e s ,a sw e l la st h eu s eo fb u ss e r v i c e s ,i m p l e m e n t a t i o no f l o o s e l yc o u p l i n ga n dt r a n s p a r e n ts e r v i c e s f i r s t l y , t h ep a p e rg a v eab r i e fo v e r v i e wt ot h es o ac o n c e p ta n ds t r u c t u r ea n d d e v e l o p m e n tt r e n d , a n dt ot h ec o m p o s i t i o no ft h et h r e ep a r t so fs o a ( s e r v i c e r e q u e s t e r , s e r v i c ep r o v i d e r sa n di n t e r m e d i a r ys e r v i c e s ) f e a t u r e sw e r ei n t r o d u c e d o n t h et e c h n i c a ls i d e ,t h ei s s u eu s e ss t r u t sa st h eb a s i so ft h ew h o l es t r u c t u r e i no r d e rt o a c h i e v ea 、m e bs e r v e ra n da p p l i c a t i o ns e r v e rp h a s es e p a r a t i o n , w i l lb eo nt h eb u s i n e s s l o g i co ft h ea p p l i c a t i o n $ c r v e ri nt h es e s s i o nb e a n f o rt h es a f e t yo ft h ed a t a b a s e ,t h e s y s t e md o e sn o ta l l o wm o d e ld i r e c t l yo p e r a t et ot h ed a t a b a s e ,b u ti n t r o d u c ee m i t y b e a ni nt h em o d e ll a y e r , u s i n gc m po fe n t i t yb e a no p e r a t ed i r e c t l yt h e d a t a b a s e f o r t h es e r v i c ei n t e r f a c eo fs o af r a m e w o r k , t h i st o p i c 墩w e bs e r v i c et oa c h i e v e a l t h o u g ht h ew e bs e r v i c ei st h ek e yt oa c h i e v i n gs o at e c h n o l o g y ,b u tt h e ya r en o t i d e n t i c a li nn a t u r e ,t h i sp a p e ri n t r o d u c e sl i n k sa n dd i f f e r e n c e sb e t w e e nt h et w o i nt h e t r a d i t i o n a ls o a ,e a c ho fs e r v i c e se n t e r st h ee n t e r p r i s es e r v i c eb u s w i l ln e e dt ob e 桂林工学院硕士学位论文 c o n n e c t e dw i t l lt h es e r v i c ee n d p o i n ts n i f f e r s , o b j e c t i v e sa s s o c i a t e dq u e u e t h i s p r o c e s sr e q u i r e sm a n u a li n t e r v e n t i o n , t h el a c ko fi n t e l l i g e n t , a n dv e r yt e d i o u s i nt h i s p a p e r , m o b i l ea g e n tt e c h n o l o g yw a s i n t r o d u c e di n t oe n t e r p r i s es e r v i c eb u s ,i t s i n t e l l i g e n c eh a sb e e ne n h a n c e d i nt h et h i r dc h a p t e r , t r a d i t i o n a lj 2 e et e c h n o l o g y c o m b i n e dw i t ht h es o a e w o r kp r o v i d et h ei n t e g r i t yo ft h em o d e la n dt h em o d e l o ft h ep r o c e s si sd e s c r i b e di nd e t a i l i nt h ef o u r t hc h a p t e r , d e s i g na no n l i n es h o p p i n g s y s t e ma c c o r d i n gt ot h em o d e la n d t h es y s t e m sm o d u l a rd e s i g n ,d a t a b a s ed e s i g n , a s w e l lac o n c r e t er e a l i z a t i o no ft h et e c h n o l o g ya l ep r e s e n t e di nd e t a i l f i n a l l y ,t h eo n l i n e s h o p p i n gs y s t e mm a n a g e m e n tm o d u l eo fg o o d sa n d c a r tm o d u l e w a st e s t e d k e yw o r d s :s o b , w e bs e r v i c e ,e b ,m o b i l ea g e n t n i 桂林工学院硕士学位论文 m l 独创性声明 本人声明:所呈交的论文是我个人在程小辉教授指导下进行的研究工作及取 得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包 含他人已经发表或撰写过的研究成果,也不包含为获得桂林工学院或其它教育机 构的学位或证书而使用过的材料。对论文的完成提供过帮助的有关人员己在论文 中作了明确的说明并致以了谢意。 学位论文作者( 签字) :壅蕴耋 签字日期:趁丝笸:l :垄 版权使用授权说明 本人完全了解桂林工学院关于收集、保存、使用学位论文的规定,即:按照 学校要求提交学位论文的印刷本和电子版本:学校有权保存学位论文的印刷本和 电子版,并提供目录检索与阅览服务:学校可以采用影印、缩印、数字化或其它 复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部 内容。( 保密论文在解密后遵守此规定) 学位论文作者( 签字) : 指导教师签字: 签字日期:五鲤星:笸: 桂林工学院硕士学位论文 1 1 研究背景 1 1 1 研究意义 第1 章绪论 多年的i t 建设让广大企业的各个管理信息系统项目变成了一个个信息孤 岛;软件建设跟不上快速变化的业务:软件不稳定,b u g 不断;过去的软件不断 被推翻进行重新开发,浪费严重;软件的投入产出比低;科技人才流动对企业造 成严重影响;信息化产品的应用面狭窄,自动化程度不高,信息工具单一,随着 s o a 时代的到来,这些问题得到了解决。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 的基础,可以直接 被应用调用,它要解决的问题领域跟c o r b a 、d c o m 、e j b 等早期的分布式技术式 一样,但s o a 在松散耦合、语言无关、平台无关等方面做的要比后者好很多,并 且s o a 提出的这种技术架构最大限度的包容了以往的技术,使已有的i t 投资得 到了保护和重用,让旧式应用与新技术结合起来,使之焕发了新的光彩。 e s b ( e n t e r p r i s es e r v i c eb u s ,企业服务总线) 是s o a 架构的关键部分, 是服务请求者和服务提供者之间的中介,对服务进行集中管理。在传统的s o a 架 构中,e s b 需要通过消息传递的方式进行服务选择,需要人工干预,缺乏智能性。 针对于以上的不足,本课题探讨将移动a g e n t 技术运用到企业服务总线中,使后 者能智能地协调服务提供者和服务请求。本课题是广西区教育厅资助项自( 桂教 科研 2 0 0 7 3 4 号,项目编号2 0 0 7 0 8 m s l 6 5 ) 的主要内容。 1 1 2 国内外研究现状、水平和发展趋势 s o a 的概念最初是g a r t n e r 公司于1 9 9 6 年提出m ,由于当时的技术水平和市 场环境尚不具备真正实施s o a 的条件,因此当时s o a 并未引起人们的广泛关注, s o a 在当时沉寂了一段时间。伴随着互联网的浪潮,越来越多的企业将业务转移 到互联网领域,带动了电子商务的蓬勃发展。s o a 是基于“软件变服务 的思想, 所提出的一种新的解决软件重用和软件集成的方案。通过采用面向服务的体系结 构,企业能够迅速便捷地构建开放的、模块化的、可重用的、与平台无关的、可 扩展的分布式应用系统。作为一种实现手段,服务提供了基于标准接1 :3 的若干中 桂林工学院硕士学位论文 i ii ii i i 间件,具有完好的封装性、松散的耦合性、协议规范的标准性以及高度的可集成 性等特点,能够很好的满足s o a 应用模式的需求。目前很多软件公司都注重于这 一领域内的研究和开发。 1 i b m 公司在相关产品上研发上不遗余力,已经投入超过l o 亿美元建立研 发中心,如今没有一个产品不是基于s o a 的。如为企业电子商务提供统一的身份 认证和授权管理的t i v o l i 认证管理系统。 2 h p 公司为了向客户提供更加灵活的软件,以帮助其实现业务流程的自动 化,计划将o r a c l ef u s i o nm i d d l e w a r e 融入其面向服务的架构产品系列中去, 利用o r a c l e 的软件和h po p e n v i e w 管理软件套件,计划开发和提供基于s o a 的 业务服务,以帮助客户对其业务流程进行自动化,集成不同的数据和应用,同时 充分利用现有的应用。 3 b e aa q u a l o g i c 为企业提供了获得生产级s o a 部署所有优势的途径,b e a a q u a l o g i c 产品家族提供了一种可互操作的基础架构和一组可重用的基础架构服 务,用于管理s o a 和组装复合应用程序,而无须考虑底层技术,并且可以提高业 务响应能力、效率和敏捷性。其次,可以降低i t 环境的复杂性。再次,还能增 加业务服务的重用性。最后,它还能有效地降低应用程序的生命周期成本等。作 为首款完全针对s o a 而构建的产品套件,b e aa q u a l o g i c 产品家族为提供了一组 统一的产品来处理消息传递、服务管理、数据一致和安全需要等需求。 4 复旦协达2 0 0 5 年推出的基于s o a 的协同软件是国内较成熟的应用s o a 的 设计理念的产品。复旦协达s o a 协同软件提供以下几种应用集成方案:紧密的应 用流程集成、松散的应用数据集成、开放的应用服务集成。作为中国第一套s o a 协同软件,复旦协达软件运行时能够完全以服务为中心,不仅充分体现以工作流 为导向的协同管理思想,而且能够在同一个门户中“随取即需 地集成所有应用 服务,完美解除信息孤岛的困扰,实现软件应用的大统一。 s o a 正以前所未有的速度向前发展,并有以下的发展趋势啪: 1 数据中心s o a 解决方案将与包括e t l ( e x t r a c t 、t r a n s f o r m 、l o a d ,抽 取、转换、装载) 在内的传统i t 技术集合相结合,实现巩固操作数据,b 2 b 通 信的f t p ,为后台流程管理进行工作日程安排,以a p m ( 软件性能管理) 管理s o a 合成软件中的软件包部分。 2 标准软件包将越来越积极的将通过s a a s ( s o f t w a r e a sas e r v i c e ,软 件即服务) 模式将外购作为目标。这些控制服务的不同之处在于,根本上并不来 源于w e bu i ( w e b 用户接口) ,而是作为s o a 复合应用的一部分出现。 3 随着i t 将资源整合入应用软件操作并从整体上管理硬件资产,s o a 的应 2 桂林工学院硕士学位论文 ir 用将激起虚拟化的发展。 4 s o a 的中间件( 企业服务总线) 选择服务的过程更加智能,而无需人工 干预。 1 2 本文的工作 1 2 1 研究目标 本文主要研究s o a 架构的实质。它是如何实现服务与技术的完全分离的,如 何实现服务的可重用性。需要用到什么样的技术,尤其是s o a 的基础w e bs e r v i c e , s o a 和w e bs e r v i c e 有什么联系和区别。在传统的s o a 架构中,中间件是如何实 现根据服务的请求去选择相应的服务接口,本课题设计的中间件与传统的中间件 是如何实现的,以及同传统的中间件相比有什么优势。本文将一步一步由浅入深 的介绍本课题的s o a 架构的形成过程,并最终用一个电子商务的实例加以验证。 i 2 2 研究内容 1 s o a 的三个部分( 服务请求者、服务提供者和服务中介者) 的各自功能。 2 用m v c 模式作为本架构的基础,将业务逻辑放到应用服务器的s e s s i o n b e a n 中,从而实现w e b 服务器和应用服务器的分离。 3 为了保证数据的安全,因而要用数据库和e n t i t yb e a n 来永久地保存用 户数据。并且用e n t i t yb e a n 中的c m p ( c o n t a i n e rm a n a g e dp e r s i s t e n c e ) 来 对数据层直接进行操作。 4 在应用服务器中引入w e bs e r v i c e ,实现逻辑服务接口调用层和逻辑服 务实现层完全分离开来,并且实现服务接口传输和调用的标准化。 5 研究基于企业服务总线s i b u s 构建s o a 的基本原理,以及传统的企业服 务总线和引入a g e n t 的企业服务总线的区别。 1 3 本文的创新点 1 将传统的j 2 e e 模式与s o a 相结合,把j 2 e e 中的e j b 组件包装为w e b s e r v i c e 的方式。使用w e bs e r v i c e 作为s o a 中的服务提供者,e j b 组件作为 服务的实现。 2 向s o a 体系结构中的企业服务总线( e s b ) 中加入了移动a g e n t 技术,使 桂林工学院硕,士学位论文 得系统的响应性、主动性和推理性、自治性都得到了加强。 1 4 本文的组织结构 本文共分六章,安排如下: 第l 章:介绍了s o a 的研究意义、国内外的发展状况及发展趋势,以及本文 的研究目标、研究内容和创新点。最后列出本文的组织结构。 第2 章:对s o a 架构的概念、基本特征、核心实质等方面做了深入的论述。 并对完成本课题所需要的关键技术做了介绍。 第3 章:探讨了一个基于j 2 e e 和企业服务总线( e s b ) 技术的s o a 框架, 并详细论述了这个框架的优越之处和相关的技术细节。 第4 章:结合一个具体网上购物系统实例,讨论了该框架在实际开发工作中 的应用。 第5 章:总结本文,并针对本文存在的不足,提出未来的研究方向。 1 5 小结 本章首先阐明了研究本课题的意义,并对s o a 的起源以及发展状况给予了 简要的介绍。给出了完成本课题所需要研究的目标和内容以及本文的创新点。最 后对本文的总体组织结构给出了描述。 4 桂林工学院硕士学位论文 第2 章s o a 概述及其整合应用的技术 2 1s o a 的概念 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 ,面向服务体系结构) 的理念是1 9 9 6 年由g a r t n e r 提出的睛1 ,它能够提供一个持久的、灵活的基础架构用于连接企业 的各种应用系统。w 3 c ( w o r l dw i d ew e bc o n s o r t i u m ,万维网协会) 将s o a 定义 为:一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务, 这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成 业务流程。服务是s o a 的关键概念,w 3 c 将服务定义为:服务提供者完成一组工 作,为服务使用者交付所需的最终结果h 】。 2 2s o a 的基本特征 s o a 本质的市场需求就是实现服务和技术的完全分离,从而最大限度上实现 服务的集成和重组。任何一个面向服务的体系结构都包含三个角色:服务请求者、 服务提供者和服务中介者嘲。它们之间的关系如图2 1 所示。 s o a 整合发布平台 平台i 服 w 翻i s e r v i c e 力 服务提供者1 务 服 中 平台2 务 w b b &i r v l c e 介 请 1 _r 者 7 l 服务提供者2 平台3 : i 求 h 服务提供者3 : 者 - 服 务 i 总 一 线 - i 图2 1s o a 架构的示意图 1 服务提供者:服务提供者是一个可以通过网络寻址的实体,它接受和执 行来自请求者的请求。负责创建服务的描述,发布到服务中介。 2 服务请求者:服务请求者是一个应用程序、一个软件模块或需要一个服 务的另一个服务。它对服务中介的服务进行查询,通过传输绑定服务,并且执行 5 桂林工学院硕士学位论文 服务功能。如果知道服务的具体地址,也可以绕过服务中介直接调用。 3 服务中介者:服务提供者和服务请求者之间的中介,例如企业服务总线 e s b 。 2 3s o a 架构的核心实质 2 3 1s o a 架构的要点嗍 判断一个架构是否是s o a ,目前还没有一个统一的规范标准,根据一般的共 识,s o a 架构应该包括下面的几个要点。 1 s o a 架构所提供的服务之间是松散耦合的。 2 s o a 架构应该按更接近于实际业务本身的粗粒度的角度来对服务进行划 分,发布服务接口方法。这就要求设计和开发人员直接从业务的角度来构建s o a 所提供的服务,而不仅仅从模块和技术的角度来构建s o a 服务。 3 s o a 架构中的所有服务的具体实现、位置和传输协议对调用者来说都是 透明的。 2 3 2s o a 和w e bs e r vi c e 的根本区别 s o a 和w e bs e r v i c e 是两个不同层面的问题,前者是概念模式,面向商业应 用;后者则是实现模式,面向技术框架,它们有如下的共同点h : 1 都提供服务。 2 服务接口都是基于开发的。 3 服务接口和服务的具体实现都是分离的。 s o a 概念并没有确切地定义服务具体如何交互,而仅仅定义了服务如何相互 理解。而另一方面,w e b 服务在需要交互的服务之间如何传递消息有具体的指导 原则。从技术上实现s o a 模型是通过h t t p 传递消息的w e b 服务模型。因而,从 本质上讲,w e b 服务是实现s o a 的具体方式之一。w e bs e r v i c e 服务接口需要绑 定具体实现服务的服务组件来实现服务,它对具体的服务实现完成了封装,实现 了服务的透明化,客户端不需要知道服务是如何实现的,但是w e bs e r v i c e 组件 本身是知道服务是如何实现的,另外客户端调用w e bs e r v i c e 组件时,需要知道 w e bs e r v i c e 的具体位置和传输协议,这些都会造成一定的不灵活性,它只是实 现了一定程度上的抽象m 。 6 桂林工学院硕士学位论7 文 广1封装广 l w e bs e r v i c e l 臣务接口卜叫服务实现组件l 1 - ji - j 图2 2w e bs e r v i c e 服务接口绑定服务组件 s o a 架构只和服务接口进行绑定,对服务接口实现了封装,实现了服务接口 的透明化,服务位置的透明化,服务传输协议的透明化。当客户端通过s o a 调用 服务时,不需要知道真正的服务提供者是谁,具体的服务位置在哪里和具体的传 输协议是什么。s o a 实现了最高程度上的抽象化,为实现具有最高灵活性的服务 建立了架构基础。 2 4s o a 的优点 图2 3s o a 架构平台的服务进行绑定 1 编码灵活性 可基于模块化的低层服务、采用不同组合方式创建高层服务,从而实现重用, 这些都体现了编码的灵活性。此外,由于服务使用者不直接访问服务提供者,这 种服务实现方式本身也可以灵活使用。 2 明确开发人员角色 例如,熟悉b e s 的开发人员可以集中精力在重用访问层,协调层开发人员则 无须特别了解b e s 的实现,而将精力放在解决高价值的业务问题上。 3 支持多种客户类型 借助精确定义的服务接口和对x m l 、w e b 服务标准的支持,可以支持多种客 户类型,包括p d a 、手机等新型访问渠道。 4 更易维护 服务提供者和服务使用者的松散耦合关系及对开放标准的采用确保了该特 性的实现。 5 更好的伸缩性 依靠服务设计、开发和部署所采用的架构模型实现伸缩性。服务提供者可以 彼此独立调整,以满足服务需求。 6 更高的可用性 该特性在服务提供者和服务使用者的松散耦合关系上得以体现。使用者无须 7 桂林工学院硕士学位。论文 了解提供者的实现细节,这样服务提供者就可以在w e b s p h e r e 集群环境中灵活部 署,使用者可以被转接到可用的例程上。s o a 可以看作是b s 模型、) ( m l w e b s e r v i c e 技术之后的自然延伸。s o a 将能够帮助我们站在一个新的高度理解企业 级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更 可靠、更具重用性架构整个业务系统。较之以往,以s o a 架构的系统能够更加从 容地面对业务的急剧变化例。 2 5 基于s o a 架构整合应用的技术 s o a ( 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 架构的整合应用, 需要包括以下几个方面的技术。 1 s t r u t s 技术:处理整个应用的用户界面部分,也可以用其他的m v c ( m o d e l v i e w c o n t r o l l e r ,模型视图控制器) 架构。本课题选用s t r u t s ,因 为s t r u t s 是目前主流的m v c 架构,在实际中大量被采用。 2 s e s s i o nb e a n 技术:处理应用业务的逻辑部分,也可以采用s p r i n g 等 技术来实现,本课题采用s e s s i o nb e a n ,因为它是j 2 e e 的核心业务组件,而且 可以实现远程分布调用。 3 c m p 技术:处理数据库操作的部分,也可以用h i b e r n a t e 或者i b a t i s 等 技术来实现,本课题采用c m p ,因为它是j 2 e e 中处理持久层的核心组件。 4 w e bs e r v i c e :提供标准化的服务接口,是s o a 提供标准化服务的基础。 5 服务总线:将各种服务进行集成管理,是s o a 架构的核心技术,本课题 将采用i b m 的服务总线。 6 a g e n t 技术:为了实现对服务的职能选择,在服务总线中加入移动a g e n t 技术。 8 桂林工学院硕士学位论文 2 5 1s t r u t s 架构的基本原理嘲 - - - - - 。- - - - - _ :v i e wm o d e lc o n t r o l l e r l i d 1 d i i d a t i o n x m l s t r u t s t a gl i bt i 舱bs e r v i c e t s t r u t s c o n f i g x m l - t i j s pq - 一l l a c t i o ns e r v l e t s e s s i o nb e a n t 0 if o r mb e a n 卜 - a c t i o nb e a r l , e n t i t yb e a n 图2 4s t r u t s 的m v c 架构图 2 5 1 - 1 视图层 页面显示部分由j s p 、h t m l 、s t r u t s t a gl i b 、f o r m b e a n 组成。 1 页面格式是由h t m l 和s t r u t s t a gl i b 负责,例如要输出一个报表,报表 需要分几列,每列显示什么颜色。 2 内容由f o r m b e a n 负责。如报表每一项数据的内容。 2 5 1 2 控制器层 1 控制器主要由a c t i o n s e r v l e t 和a c t i o n b e a n 组成加1 。 a c t i o n s e r v l e t 是s t r u t s 中最核心的部分,相当于中央控制器,它是通过 o r g a p a c h e s t r u t s a c t i o n a c t i o n s e r v l e t 来实现的,w e b 应用控制程序通过它 来控制页面的流程,通过传来的参数来分配下一个页面,其功能如下: ( 1 ) 负责所有页面信息收集和页面之间的转换。 ( 2 ) 系统通过w e b x m l 的 来配置a c t i o n s e r v l e t 。 ( 3 ) 系统通过w e b x m l 的 将s t r u t s c o n f i g x m l 载入内存以备 a c t i o n s e r v l e t 调用。 ( 4 ) v a l i d a t i o n x m l 以 方式载入内存备a c t i o n s e r v l e t 调用。 2 a c i o n b e a n 的性能如下: ( 1 ) h c t i o n s e r v l e t 通过s t r u t s - c o n f i g 。x m l 的配置来调用相应的a c t i o n b e a n 。 ( 2 ) a c t i o nb e a n 从f o r mb e a n 中取出相应的数据。 ( 3 ) a c t i o nb e a n 把相应的数据付给f r o mb e a n 。 ( 4 ) a c t i o nb e a n 负责调用相应的m o d e l 。 桂林工学院硕士学位论文 2 i = i i i ! ! ! ! ! ! ! ! ! ! 苎! ! ! ! ! ! ! ! ! 苎! ! ! 苎苎! ! ( 5 ) a c t i o nb e a n 负责将页面向前传递到相应的页面。 2 5 1 3 模型层 该部分的主要功能是负责业务的逻辑实现,包括w e bs e r v i c e 、s e s s i o nb e a n 、 e n t i t yb e a n 。从数据流的角度来看,这一过程主要包括下面两个方面1 : 1 将前端的f o r mb e a n 的数据传递到后端,进行数据库的插入、更新和删 除操作。 2 根据前端的请求,选择数据库数据,将数据传到前端的f o r mb e a n 。 2 5 2s e s s i o f fb e a n 分布式的业务需求是大量的,例如一家银行在全国各地都有分行,它的核心 业务的处理只是通过一个中央服务器来实现的。其它各个分行的服务器只需要调 用中央服务器的服务接口即可。类似的,应该把业务逻辑放在应用服务器的 s e s s i o nb e a n 中,从而实现w e b 服务器和应用服务器的分离。随着s o a 时代的 到来,多对多的服务调用会成为主流。在这里以银行系统为例,如分行之间的服 务调用,中央服务器对分行的服务调用等,这些都是需要j a v a 分布式应用开发 的支持。 目前j 2 e e 的分布式实现包括e j b 和w e bs e r v i c e 等。分布式服务的核心就 是要求一个服务器能够以透明的方式调用另一个服务器的服务对象,调用w e b 服 务s e r v l e t 或者j s p 时是通过给出u r l 链接和参数来实现的,但是这不能称为透 明方式。所谓的透明方式就是被调用的服务器对象好像就在本地一样,可以直接 调用。对于s e s s i o nb e a n 来说,调用者好像是在直接调用s e s s i o nb e a n 的业务 方法,而实际上,所有业务方法的实现都是由e j b 容器来完成的n 2 1 。 当我们在一个服务器上开发了进行业务处理的组件以后,希望其他服务器也 能够调用这些业务组件。但是其他服务器上并没有这些组件对象,为了调用这些 在不同服务器上的组件,由于不能直接调用,所以只能通过代理调用的方法来实 现。 2 5 2 1 跚i 协议用 s e s s i o nb e a n 包括远程接口、远程h o m e 接口、本地接口、本地h o m e 接口 和s e s s i o n b e a n 的实现类等n 钔。s e s s i o nb e a n 实现分布式服务的主要是依赖于 删i 传输协议n 耵。 p 3 t i ( r e m o t em e t h o di n v o c a t i o n 远程方法调用) 是一个纯j a v a 的传输 协议。在此用一个例子说明该协议。假设机器a 要远程调用机器b 上的c l a s sc l o 桂林工学院硕士学位论文 iii ii_ 的d 方法。机器a 需要告诉机器b 要调用其上面的c l a s sc 上的d 方法,如果机 器a 遵守r m i 协议来写这个请求,序列化后传给机器b ,那么机器b 在收到这个 请求后,首先进行反序列化,并得到这个请求消息,再根据r m i 协议来解析这个 请求,去调用c l a s sc 的d 方法:机器b 在调用完c l a s sc 的d 方法后,将返回 结果按照r m i 协议创建返回的响应信息,序列化后传给机器a 。 此外,客户端专门用来创建和解析r m i 协议及序列化和反序列化的s t u b 类。 服务器端专门用来完成创建和解析r m i 协议及序列化和反序列化工作的s t u b 类、 s k e l e t o n 类。s t u b 和s k e l e t o n 往返通信来实现分布式的远程调用机制,如图 2 5 所示。 机器a 请蕊鹏硎咖 s t u b 请求对象序 一丽觋舢胪硝0 0 l 列化 反序列化得 一 到相应对象 - 一。_ - - 。- 一- - - 。- 1 机器b ( c l a s sc : 的d 方法) : i $ k e l e t o n : - 反序列化得到请: 求对象 响应对象序列化 i 图2 5 用跚i 协议实现分布式应用的原理图 2 5 2 2s t a t e l e s ss e s s i o nb e a n 实现分布式应用 e j b 是基于r m i 远程协议来分布式调用的。s e s s i o nb e a n 分为s t a t e l e s s s e s s i o nb e a n 和s t a t e f u ls e s s i o nb e a n 两种u 引。s t a t e f u ls e s s i o nb e a n 需要 e j b 在服务器端保存客户端的s e s s i o n 信息,比较占服务器端的系统资源,性能 也比较差,而且客户的s e s s i o n 信息完全可以通过s e r v l e t 与相关的w e b 应用来 实现。从

温馨提示

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

评论

0/150

提交评论