(计算机应用技术专业论文)连锁超市eai中的soa应用与若干关键技术.pdf_第1页
(计算机应用技术专业论文)连锁超市eai中的soa应用与若干关键技术.pdf_第2页
(计算机应用技术专业论文)连锁超市eai中的soa应用与若干关键技术.pdf_第3页
(计算机应用技术专业论文)连锁超市eai中的soa应用与若干关键技术.pdf_第4页
(计算机应用技术专业论文)连锁超市eai中的soa应用与若干关键技术.pdf_第5页
已阅读5页,还剩56页未读, 继续免费阅读

(计算机应用技术专业论文)连锁超市eai中的soa应用与若干关键技术.pdf.pdf 免费下载

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

文档简介

上海大学硕士学位论文 t h ep o s t g r a d u a t e t h e s i so f s h a n g h a iu n i v e r s i t y 摘要 如何充分利用原有信息系统的资源,建立低代价的、开放灵活的企业应用集 成系统,已经成为企业信息化建设的关键。企业应用集成( e a i ) 的传统解决方案 虽然可以达到集成企业遗留系统的目的,但这种紧耦合集成模式不利于业务流程 的调整和重组,缺乏可扩展性和灵活性。面向服务的体系结构( s o a ) 将各功能模 块封装成w e b 服务,不仅易于利用原有资源,而且具有业务敏感性,可以快速 满足企业业务需求。 本文以华联吉买盛综合管理系统为背景,研究如何以s o a 实现e a i 系统。 本文介绍了e a i 和s o a 等相关概念,分析了基于s o a 的e a i 集成的原理和优 势,提出了一种面向服务的e a i 框架,详细说明了华联吉买盛综合管理系统的 内部应用集成设计、对外接口设计、具体实现步骤和系统拓扑结构,并给出了这 个集成系统的部分运行实例。 本文还针对集成系统中的数据同步、w e b 服务事务处理和身份验证三个技术 难题,分别提出了解决方案。本文介绍的数据复制系统实现了异构数据服务器间 的相互复制,特别适用于连锁超市这类跨地域广、响应速度要求高的情形。本文 分析了w e b 事务处理需求,引入了业务活动协调器、业务活动分割与嵌套等概 念,提出了w e b 服务事务处理模型,用一个业务处理全局管理器监视各个子任 务的执行情况,提供了委托处理、参与者动态退出等能力,以保证w e b 事务的 完整性。本文还介绍了如何利用u s bk e y 身份认证来解决身份验证技术难题。 关键词:企业应用集成,面向服务体系结构,w e b 服务,事务处理 第1 页 上海人学硕士学位论文 t h ep o s t g r a d u a t et h e s i so f s h a n g h a iu n i v e r s i t y a b s t r a c t h o wt om a k em o s to fe x i s t i n gi n f o r m a t i o ns y s t e m sa n ds e tu pl o w c o s t ,o p e na n d f l e x i b l ee a is y s t e m sh a v ea l r e a d yb e c o m et h ek e yt oc o n s t r u c t i o no fe n t e r p r i s e s i n f o r m a t i o ns y s t e m s t r a d i t i o n a ls o l u t i o n sf o re a ic a ni n t e g r a t ee x i s t i n gi n f o r m a t i o n s y s t e m s ,b u ts u c ht i g h t c o u p l i n gm o d ei sn o tf i tf o rt h ea d j u s t m e n ta n dr e o r g a n i z a t i o n o ft h eb u s i n e s sp r o c e s sa n dl a c k se x p a n s i b i l i t ya n df l e x i b i l i t y s o ae n c a p s u l a t e s f u n c t i o nm o d u l ei n t ow e bs e r v i c e s ,u t i l i z e se x i s t i n gi n f o r m a t i o ns y s t e m se a s i l y , h a s b u s i n e s ss e n s i t i v e n e s sm a dc a r lm e e te n t e r p r i s e sb u s i n e s sd e m a n df a s t i nt h i st h e s i s ,w es t u d i e dh o wt or e a l i z ee a ib a s e do ns o ai nh g i s ms y s t e mo f h u l i a n g m s w ei n t r o d u c e ds o m ec o n c e p t i o ns u c ha se a i ,s o aa n ds oo n ,a n a l y z e d t h et h e o r ya n da d v a n t a g eo fe a ib a s e do ns o a ,p u tf o r w a r daf r a m e w o r k ,p r e s e n t e da d e t a i l e dd e s i g n d e s c r i p t i o n o fi n s i d e a p p l i c a t i o ni n t e g r a t i o n ,o u t s i d ei n t e r f a c e , r e a l i z a t i o ns t e p sa n ds y s t e mi o p o l o g yc o n s t r u c t i o n ,a n dg a v es o m ep r a c t i c a le x a m p l e i nt h i st h e s i s ,t h r e et e c h n i q u ed i f f i c u l t i e sa n dc o u n t e r m e a s u r e sw e r ed i s c u s s e di n d e t a i l ,i n c l u d i n gd a t as y n c h r o n i z a t i o n ,t r a n s a c t i o np r o c e s s i n go fw e bs e r v i c e sa n d i d e n t i t y a u t h e n t i c a t i o n f o rt h ef i r s t d i f f i c u l t y , d a t ar e p l i c a t i o ns y s t e mr e a l i z e d r e p l i c a t i o nb e t w e e ni s o m e r o u sd a t as e r v e r s ,a n dp e r f e c t l yf i t t e dc h a i ns u p e r m a r k e t s w h i c hd i s t r i b u t e di nw i d ea r e aa n dh a dh i i 曲d e m a n do nr e s p o n s es p e e df o rt h e s e c o n dd i f f i c u l t y ,w ea n a l y z e dt r a n s a c t i o np r o c e s s i n gd e m a n do fw e bs e r v i c e s , b r o u g h ti n s o m ec o n c e p t i o ns u c ha sc o o r d i n a t o r ,d i v i s i o nm a dn e s t i n go fb u s i n e s s a c t i v i t y ,a n dd e s i g n e dat r a n s a c t i o np r o c e s sm o d e lo fw e bs e r v i c e s i nt h em o d e l ,a m a n a g e ro fb u s i n e s sa c t i v i t yw a sd e s i g n e dt ow a t c hi m p l e m e n to fa l ls u b t a s k sa n d s u p p o r tc o m m i s s i o na n dd y n a m i ce x i t i no r d e rt oi n s u r ei n t e g r a l i t yo fw e bs e r v i c e s t r a n s a c t i o n w ea l s oi n t r o d u c e dh o wt ou s ei d e n t i t ya u t h e n t i c a t i o nb a s e do nu s bk e y t or e s o l v et h et h i r dt e c h n i q u ed i f f i c u l t y k e yw o r d s :e a i ,s o a ,w e bs e r v i c e ,t r a n s a c t i o np r o c e s s i n g 第1 1 页 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特别加以标注和致谢的地方外,论文中不包含其他人已发表 或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何 贡献均己在论文巾作了明确的说明并表示了谢意。 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即:学校有权保留 硷文及送交论文复印件,允许论文被查阅和借阅;学校可以公布论文的全部或部 分内容。 ( 保密的论文在解密后应遵守此规定) 签名:闷塞苎导师签名蓥丝日飙壁:,堑 上海大学硕七学位论文 t h ep o s t g r a d u a t et h e s i so f s h a n g h a iu n i v e r s i t y 第一章绪论 1 。1 企业应用集成的意义 企业多年的信息化建设,造就了大批综合性的、分布式的且不断变化的应用 系统,但由于缺乏整体规划,致使在局部需求得到满足的同时,企业内部各信息 系统各自为政,相互之间缺乏有效的通信,无法互通互联,形成“信息孤岛”。为 了发挥企业信息资产的潜在优势,充分利用已有的技术及应用资源,企业应用集 成( e a i ) u o 应运而生。 经过上个世纪末期的高速发展,今天的企业需要一个集成的、开放的、面向 顾客的且具有柔性的l t 支持系统,因此普遍需要考虑应用系统的整合问题。特 别是现在大部分企业应用系统开始w e b 化和面向过程化,这就要求企业具有一 个开放的应用集成系统。如何将多个企业的应用低代价地连接在一起,从而实现 大范围的跨企业实体的商务应用系统对接,这是摆在丌发人员面| i c 的一大问题。 不同的应用( 尤其是不同企业的应用) 的开发语言不同,部署平台不同通信协议 也可能不同,对外交换的数据格式也有着很大的差异,如何去解决语言差异、平 台差异、协议差异和数据差异所带来的高代价的系统集成是这个问题的关键脚。 如果不对如此众多的i t 支持系统进行适当的整合,给企业的信息化和面向过程 的集成及建立企业信息门户奠定一个良好的基础,面向w e b 的开放式过程集成 将很难成功,而实现企业之间的集成及虚拟企业的组织更是无法实现。 e a i 通过建立底层结构来联系横贯整个企业的异构系统、应用和数据源,满 足企业内部的e r p 、c r m 、m i s 和其它重要的内部系统之间无缝地共享和交换 数据的需求。这也是e a i 技术在今天被认为是企业获得成功的关键所在。 但现阶段大部分的集成方案都是紧耦合的集成模式,这种集成模式的结果不 利于企业业务流程的调整和重组,缺乏可扩展性和灵活性。企业迫切地期望能够 找到一种新的体系结构来实时支持业务的变化。面向服务的体系结构( 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 ) 业心的出现,将要把这一梦想变为现实。虽然 第1 页 卜海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so f s h a n g h a iu n i v e r s i t y s o a 本身不是一个全新的概念,但由于w e b 服务以及网格计算等技术的成熟, s o a 具备了更好的发展条件。对于e a i 来说,基于s o a 的e a i 可以随着企业业 务的变化而逐渐变化,从而降低实施e a i 的成本和风险。 1 2 企业应用集成研究现状 e a i 的目标就是通过对不同的信息系统及不同的业务单元的集成和优化,在 企业范围内甚至整个供应链的范围内实现业务过程整合,使员工、决策者、客户 以及业务伙伴能够随时随地访问企业服务,这一目标是通过两个方式实现的:一 方面,e a i 使现有的应用程序和数据库能够适用于新的环境,发挥新作用,即增 加现有系统的系统柔性;另一方面,e m 使新加入的数据和其他资源能够和原有 的资源一起协调工作,即提高整个系统的可扩展性。 e a i 的技术和内容从不同的角度有不同的分类方法川。从应用集成的对象来 划分可以分为面向数据的集成和面向过程的集成;从应用集成所使用的工具和技 术米划分,可以分成六个层次,分别是平台集成、数据集成、组件集成、应用集 成、过程集成和业务对业务的集成豳。如果从企业组织角度来看,e a i 可分为水 平的组织内的集成、垂直的组织内的集成和不同组织间系统的集成。 e a i 是对不同的信息系统及不同的业务单元的集成和优化,因此,在不同的 信息系统进行集成所采用的分布式技术就成了当前e a i 的研究热点。当前研究 热点主要集中在c o r b a 、m o m 、x m l 和j 2 e e j c a 。在第二章,我们将详细介 绍基于以上几种分布式技术的e m 体系结构,并对它们进行一些分析。 1 3w e b 服务的下一代体系结构 w e b 服务作为一种炙手可热的技术,应用到企业的i t 系统和商业流程之中, 并给企业带来直接的经济效益,一直以来得到了国内外企业管理者的推崇。而在 近两年,伴随着企业需求的不断变化,s o a 、e b 服务的下一代体系结构,再 一次引起业内关注。 s o a 并不是一个新事物,i t 组织成功建立并实施s o a 应用软件已经很多年 第2 页 上海人学硕士学位论文 t h ep o s t g r a d u a t et h e s i so f s h a n g h a iu n i v e r s i t y 了,b e a 、i b m 等厂商看到了它的价值,并且纷纷跟进。s o a 的目标在于让i t 变得更有弹性,以更快地响应业务单位的需求,实现实时企业。 s o a 的一个中心思想就是让企业应用彻底摆脱面向技术的解决方案的束缚, 轻松应对企业商业服务变化和发展的需要。企业i t 架构环境中单个应用程序是 无法包容业务用户的( 各种) 需求的,即使是一个大型的e r p 解决方案,仍然 不能满足这个需求在不断膨胀、变化的缺口。对市场快速做出反应,商业用户只 能通过不断开发新应用、扩展现有应用程序来艰难地支撑其现有的业务需求。通 过将注意力放在服务上,应用程序能够集中起来提供更加丰富、目的性更强的商 业流程。其结果就是,基于s o a 的e a i 系统通常会更加真实地反映出与业务模 型的结合。 服务是从业务流程的角度来看待技术的这是自顶向下的策略。这种角度 同一般的从可用技术所驱动的商业视角是相反的。因为服务的优势很清楚,它们 会同业务流程结合在一起,能够更加精确地表示业务模型、更好地支持业务流程。 相反,我们可以看到,以应用程序为中心的企业应用模型,迫使业务用户将其能 力局限为应用程序的能力。 传统的应用集成方法都很复杂、昂贵,而且不灵活。这些集成方法难以快速 适应基于企业现代业务变化不断产生的需求。基于s o a 的应用开发和集成可以 很好地解决其中的许多问题。它描述了一套完善的开发模式来帮助客户端应用连 接到服务上。这些模式定制了系列机制用于描述服务、通知及发现服务、与服务 进行通信。 不同于传统的应用集成方法的是,在s o a 中,围绕服务的所有模式都是以 基于标准的技术实现的。大部分的通信中间件技术,如r p c 、c o r b a 、d c o m 、 e j b 和r m i ,也同样如此。可是它们的实现都不是很完美,在权衡交互性以及标 准定制的可接受性方面总是存在问题。s o a 试图排除这些缺陷,因为几乎所有 的通信中f 刚件系统都有固定的处理模式,如r p c 的功能、c o r b a 的对象等等, 然而,服务既可以定义为功能,又可同时对外定义为对象、应用等等。基于s o a 的e a i 系统使用基于标准的服务,并包括过程数据服务、编排和组合。基于标 准的服务成了应用间的集成点。服务的编排和组合增加了服务的灵活性、重用性 第3 页 上海大学硕士学位论文 t h ep o s t f a d u a t et h e s i so f s h a n g h a iu n i v e r s i t y 和集成| 生。这使得s o a 可适应于任何现有系统,并使得系统在集成时不必刻意 遵循任何特殊定制。 目日i 许多大公司( 比如m i c r o s o f t 、m 等) 都在研究s o a ,但都处于研究 初期s o a 在事务处理、安全性等方面的技术还都没有得到解决,因此这些公 司将s o a 的应用只限于系统局部应用。本文将针对具体项目,结合这些公司的 s o a 的设计思想,提出基于s o a 的e a i 集成框架,并在一直未解决的事务处理 和安全性等方面提出了自己的解决方案。 随着我国人民生活水平的不断提高,人们的消费观念也发生着f 1 新月异的变 化。效率高、规模化、购物环境舒适的超级市场正在得到越来越多消费者的青睐。 连锁超市在我国发展非常迅速,且大多是跨越全国的分布式企业经营环境。 连锁超市对信息化建设非常重视,但因为初期缺乏整体观念,造成了“信息孤岛”, 不仅增加丁维护费用,且经常出现数据不一致现象,因此,连锁超市对企业应用 集成有着迫切的要求。基于s o a 的e a i 系统使用基于标准的、开放的w e b 服务, 可跨越防火墙进行访问,对于具有应用系统异地性和动态性的连锁超市企、i k 来 说,基于s o a 的e a i 具有较高的应用价值。本课题卡要来源于华联吉买盛综合 业务管理系统( h g i s m ) 的研制,h g i s m 是华联吉买盛的应用集成系统。华联 吉买盛公司是一家大型连锁超市,其在各地的下属系统很不统一,且无法互通, 严重影响了公司的业务效果,还增加了公司的维护成本。笔者针对h g i s m 集成 需求,设计了基于s o a 的e a i 集成框架,是x m l e d i 系统的主要开发者,而 且为系统中的数据同步、事务协调和身份验证三大技术难题找出了解决方案。 1 4 本文的主要内容与组织结构 本文首先介绍了四种典型的e a i 体系结构,在指出传统体系结构的存在问 题之后,引入了基于s o a 的e a i 体系结构,并简要介绍了该体系结构的实现原 理和优势,然后提出了基于s o a 的e a i 集成框架,并针对h g i s m 系统的特征, 讨论了h g i s m 系统的设计和实现。最后针列h g i s m 系统中的三项技术难题, 提出了自己的解决方案。 提出了自己的解决方案。 第4 页 l 海大学硕士学位论文 全文由以下六章组成。第一章,主要讨论了当前企业信息化现状,提出e m 的必要性;然后分析了e a i 的研究现状,并初步提出基于s o a 的e a i 体系结构 的概念;之后探讨了华联吉买盛应用系统的集成需求。第二章,在讨论了目前几 种比较典型的e a i 体系结构之后,介绍了s o a ,然后将s o a 和e a i 相结合,提 出了基于s o a 的e a i 体系结构的原理和优势。第三章,针对h g i s m 系统的集 成需求,给出了一个基于s o a 的e a i 集成框架,并详细论述了该框架中各个组 成部分的角色及其功能,并给出了内部应用集成设计和系统对外接口的设计。第 四章介绍了h g i s m 系统的实现,包括开发平台、具体的丌发和部署过程以及系 统拓扑结构,最后还给出了系统的部分运行实例。第五章提出了h g i s m 系统中 的数据同步、事务处理和身份验证等三个技术难题,并分别给出了解决方案。第 六章对全文进行总结,并展望了以后的研究工作。 第5 页 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so fs h a n g h a iu n i v e r s i t y 第二章基于s o a 的企业应用集成 现在,大多数企业都有各种各样的信息系统,使用不同的操作平台以及不同 时期和技术的体系结构。集成来自多个厂商跨不同平台的产品简直就像一场噩 梦。但是我们也不能单单使用一家厂商的产品,因为改变应用程序套件和基础设 施非常困难。e a i 通过对不同的信息系统及不同的业务单元的集成和优化,在企 业范围内甚至整个供应链的范围内实现业务过程整合。传统的应用集成方法,都 很复杂、昂贵,而且不灵活。这些集成方法难以快速适应企业现代业务的不断变 化。 s o a 是下一代w e b 服务的技术架构,它基于标准的服务,可适应于任何现 有系统,并使得系统在集成时不必刻意遵循任何特殊定制,让企业变得更有弹性, 以更快地响应业务单位的需求,实现实时企业。 本章我们研究基于s o a 的企业应用集成系统的分布式架构,我们称之为 s o a e a i 。首先介绍一下目前比较典型的e a i 体系结构。 2 1 典型的e a i 体系结构和分析 1 基于c o r b a 的e a i 公共对象请求代理结构( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e , c o r b a ) l :j 是分布式计算和对象模型的结合。它使应用程序能共享和访问其他应 用程序的对象,不仅提供了可扩展性、可重用性的优点,还便于优化软件结构, 特别方便了分布式应用软件的构建。c o r b a 可以让分布的应用程序完成通信, 无论这种应用程序是什么厂商生产的,只要符合c o r b a 标准就可以相互通信。 基于c o r b a 的e a i ,其基本方法是以产品为对象,以产品开发过程为核心, 采用面向对象和分布式对象计算技术,以企业模型、信息共享模型为基础,利用 软总线和软构件技术,开发不同应用软件的接口适配器,实现应用软件的即插即 用以及各种应用软件之间的信息交换与共享世。 2 基于m o m 的e a i 消息代理( m e s s a g eb r o k e r ) 是一种在数据源与目的地之间移动数据使信息处 第6 页 上海大学硕上学位论文 t h ep o s t g r a d u a t et h e s i so f s h a n g h a iu n i v e r s i t y 理流畅的软件技术。消息代理技术实现之后的产品形式就是消息中间件 f m e s s a g e o r i e n t e dm i d d l e w a r e ,m o m ) t 9 。消息中间件主要提供应用集成所必须的 数据的传送、收集、翻译、过滤、映射和路由等功能,屏蔽不同的硬件平台、数 据库、消息格式、通信协议之间的鸿沟与差异,提供应用到应用之间的高效、便 捷的通信能力删。 消息中间件产品已经广泛地应用在金融、邮电、交通、政府等数据传输频繁、 交易量大的行业。消息中间件以其独特的优势为各种分布式应用的开发注入了强 大动力,极大地推动了e m 的发展。 3 基于x m l 的e m 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 ) 革命性地改变了应用程序问的交流方式, 更直接地既,改变了计算机之间的交流方式。如果说e a i 是实现异构系统间紧 密连接的技术,那么,可以说x m l 是实现多个企业系统间平滑连接的最有前途 的语言心。 x m l 是一个独立平台,只需要标准文本,所以它几乎可以被所有的程序语 言读写。x m e 通过使用开始、结束标记,不需要把数据项精确的放在特定位置, 并且x m l 的自描述特性免去了费劲的复杂说明的阅读。 x m l 能作为异构系统间数据交换的“中间格式”使用,可以说是它存在的 最大意义。至今为止,系统间数据交换的电文格式一直是利用c s v 和e i a j 这样 的e d i 格式。x m l 相对于这些格式来说,概括起来有以下两大优势:第一,可 以灵活适应电文形式的变更,非常适用于需要频繁变更数据项的数据。这个特点 在存储数据时,也大有好处。若用x m l 存储数据,不定义模式也能构筑数据库, 也可以非常容易地变更数据项。另一个优势是,可以很简单的表示数据。在x m l 中有用于将数据变换为h t m l 的x s l ( e x t e n s i b l es t y l e s h e e tl a n g u a g e ) 语言,用它 来定义样式表,可以将x m l 数据以需要的形式显示在w 曲浏览器上凹。 4 基于j 2 e e 的e a j 当今,e a i 实现非常困难的原因之一是没有一个标准的框架解决异构系统间 的通信。为了解决这个问题,s u n 公司和它的合作伙伴提出了一个j 2 e e 连接 器体系结构标准( j a v ac o n n e c t o ra r c h i t e c t u r e ,j c a ) 心。j 2 e e 连接器通过一个标 准架构和一个统一接口的定义,在基于j 2 e e 平台的企业应用与现有各种企业信 第7 页 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so f s h a n g h mu n i v e r s i t y 息系统( e i s ) 的集成方面,解决了当前软件开发商和应用服务器厂商所面临的许 多棘手问题。首先,在j 2 e e 平台范畴内解决了多功能的集成问题;其次,让现 有各种e i s 和基于j 2 e e 的应用服务器做到了“即插即用”。就是说,任何支持 j 2 e e 标准的应用服务器都能够十分简单地与j 2 e e 连接器架构实现连接,可以很 方便地自由调用基于j 2 e e 连接器架构的某一e i s 的资源适配程序并实现其功能 凹。 2 2 传统e a i 体系结构的缺陷 根据以上几种e a i 体系结构的介绍,我们可以看出,传统的e a i 体系结构 存在着以下一些比较令人注意的问题: 1 ) 基于集成商的专有协议,缺乏工业标准支持心:这几种e a i 体系结构要 么是针对一个特定的行业,要么是与一个特定的操作系统紧密结合,要么需要特 定技术的支持。另外,专有协议也会影响到集成项目的复杂维护及昂贵费用,并 要求开发者具有针对性的专业技术和掌握繁多的开发工具心。 2 ) 体系结构的动态可扩展性比较差:它们都是针对特定的软硬件结构、网 络环境或者特定的应用领域而进行研究和开发的。面对软硬件结构等的动态变 化,系统的自适应能力太差,有些甚至表现为无能为力。同时,系统的体系结构 都是面向特定应用的,与整个企业的组织毫无关系,使得系统毫无通用型可占, 系统在企业中的可实施性比较差。 3 ) 在技术方面存在一定缺陷:例如,d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c t m o d e l ) a nc o r b a 都适用于服务器之间的通信,然而,它们在客户机对服务器通 信方面都存在严重的缺陷。 4 ) 互操作性差:一个c o r b a 客户程序若需要获得d c o m 客户程序的服务 ( 或者相反) ,常见的解决方案是使用一个c o m c o r b a 桥。然而,这种解决方 案存在许多问题。在c o r b a 的i n t e m e ti n t e r - o r bp r o t o c o l ( 1 i o p ) 至0d c o m 的 o b j e c tr e m o t ep r o c e d u r ec a l l ( o r p c ) 之问,繁杂的双向转换使得中间起桥接作用 的软件变得很复杂。任何对l l o p 协议和o r p c 协议的修改都将导致修改桥接软 件。 传统的e a i 是一种紧耦合集成模式,比较适用于那些对性能要求较高的、 第8 页 卜海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so f s h a n g h a iu n i v e r s i t y 需要多种层次集成的应用集成系统。而基于s o a 的e a i 是一种标准化的松耦合 集成模式,比较适用于那些需要更大的灵活性,改动频繁的应用集成系统岫。 2 3s o a 技术基础w e b 服务 1w e b 服务概述 w e b 服务皿是一种基于x m l 的革新技术,能够通过网络标准协议调用的自 描述的,自包含的模块应用。它拥有基于组件开发模型和w e b 的优点,软件开 发者只要调用像黑盒一样可重用的应用功能而无需考虑这些功能是如何实现的。 首先,w e b 服务使用普及开放的标准协议,例如h t t p 、s o a p 和x m l 。其次, w e b 服务的接口是用标准的、规范的x m l 描述的,只是定义了能够被收发的信 息,隐藏了实现服务的细节,允许独立于实现服务时所用的硬件或软件平台和编 程语言的格式要求而使用服务,因此基于w e b 服务的应用程序具有松散耦合、 面向组件和跨技术实现的特点。 2 w e b 服务的体系模型 w e b 服务体系叫基于三种角色( 服务提供者、服务注册中心和服务请求者) 之 间的交互。交互具体涉及到发布、查找和绑定操作。这些角色和操作一起作用于 w e b 服务构件w 曲服务软件模块及其描述。图2 1 展示了这些操作、提供这 些操作的组件以及它们之间的交互。 图2 - 1w e bs e r v i c e 体系模型 服务提供者、服务请求者、服务注册中心这三个角色是根据逻辑关系划分的, 在实际应用中,角色可能会出现交叉或者互换。组成w e b 服务体系的组件必须 具有上述一种或多种角色。 利用w e b 服务的应用程序,必须发生以下三个行为:发布服务描述、查询 第9 页 上海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so f s h a n g h a iu n i v e r s i t y 服务描述以及根据服务描述绑定或调用服务。这些行为可以单次或反复出现。 3 w e b 服务的关键技术 构筑w e b 服务技术家族u 业址的主要成员有x m ls c h e m a 、s o a p 、w s d l 和 u d d ,它们都完全基于新一代i n t e m e t 种子技术x m l 。x m ls c h e m a 为在 不同系统之间交换数据而提供了一个核心的跨平台数据建模工具;s o a p 为在不 同系统之间实施平台无关的交互定义了一套基本的元规则和跨平台消息机制; w s d l 则是w e b 服务接口界面的跨平台描述工具,依靠w s d l ,w e b 服务的交 互界面就能被系统自动处理;u d d i 则是在动态服务集成解决方案的首次尝试, 它把w e b 服务与用户联系起来,起中介作用。这组技术使得底层平台与应用的 交互透明,应用的互操作能力得到了前所未有的提升。 x m l ) ( 1 v i p ”是w 3 c 制定的文本标记语言规范,它是严格定义的结构化数据,可 以用来定义和描述数据。x m l 的优越性不仅仅在于表现和描述数据,更重要的 在于它采用文本标记的形式定义各种可交换数据结构,并且可以利用标准的网络 协议进行传输。x m l 解决了在不同平台系统之间的数据结构模式的差异,使得 数据层在x m l 技术的支持下统一了起来。x m l 是w e b 服务得以实现的技术基 础,w e b 服务所依赖的其它协议规范都是以x m l 为标准来描述和表达的。 s o a p s o a p t 型完全继承了x m l 的开放性和描述可扩展性。s o a p 使用基于t c p i :p 的应用层协议h t t p ,s m t p ,f t p 等,可以与现有通信技术最大程度地兼容。 s o a p 为在松散、分布的环境中使用x m l 对等地交换结构化和类型化信息提供 了一个简单的机制。s o a p 本身并不定义任何应用语义,如编程模型或特定语义 实现,它只定义种简单的机制( 一个模块化的包装模型,或者对模块中特定格 式编码的数据重编码) 来表示应用语义。s o a p 是个基于x m l 的,用于分布 式环境下数据交换的简单、轻量级协议,包括三部分:定义描述消息和如何处 理消息的框架的封包( s o a p 封包) ;表达应用程序定义的数据类型实例的编码 规n ( s o a p 编码规则) :描述远程过程调用和应答的协定。s o a p 定义t n 务 请求对象和服务提供对象之间的消息协议,实现了w e b 服务之间的消息交换。 因此,服务请求对象能以面向对象的方式执行服务提供对象的远端方法。 第1 0 页 卜海大学硕士学位论义 t h ep o s t g r a d u a t et h e s i so f s h a h g h a iu n i v e r s i t y w s d l w s d l 倒是m i c r o s o f t 公司的s d l ( s e r v i c e sd e s c r i p t i o nl a n g u a g e ) 和m 公司 的n a s s l ( n e t w o r ka c c e s s i b l es e r v i c e ss p e c i f i c a t i o nl a n g u a g e ) 结合并被w 3 c 接 纳后形成的标准。它为服务请求者提供了以x m l 格式描述w e b 服务请求的标准 方法。w s d l 用来描述一个w e b 服务能做什么,它的位置在哪里,如何调用它 等。 w s d l 把w 曲服务定义为网络端点的集合。它有一个根元素,以及数据类 型( t y p e s ) 、消癌, ( m e s s a g e ) 、操作( o p e r a t i o n ) 、端口类! 型( p o r t t y p e ) 、绑定( b i n d i n g ) 、 端口( p o r t ) 和服务( s e r v i c e ) 等元素来定义w e b 服务。 l i d d i u d d i t 2 舅是一套基于w e b 的、分布式的、为w e b 服务提供信息注册中心的实 现标准规范,同时也包含一组协议的实现标准,使企业能将自身提供的w e b 服 务注册,以便别的企业能够发现并访问。w e b 服务是下一代的w w w ,它允许 在w e b 站点上放置可编程的元素来进行基于w e b 的分布式计算和处理。u d d i 注册中心的创建目的就是促进企业的w e b 服务的发展及为企业发现适当的w e b 服务。同时,u d d i 与s o a p 、w s d l 、x m l 等是一个不可分割的技术体系。 u d d i 规范描述了w e b 服务的概念,同时也定义了一种编程接口,这种编程 接1 :3 提供了描述各种w e b 服务的简单框架。规范包括几份相关的文档和一份 x m ls c h e m a ,用来定义基于s o a p 的注册和发现w e b 服务的标准。u d d i 真正 实现了w e b 服务信息访问的“一次注册,到处发布”。 2 4s o a 的原理和优势 1 应用程序体系结构的发展 随着计算机技术和网络技术的飞速发展,计算机软件的复杂程度也在不断增 加,系统结构在软件设计和丌发过程中所起的作用越来越重要。 早期的软件产品大都是单机软件系统,通常设计人员和开发人员对系统结构 并不很重视。从整体上看,软件系统没有层次概念。 但出现了网络应用或者分布式应用之后,单层结构显然已不能满足要求。于 是很自然地把应用软件分成两部分:客户端部分和服务器端部分,从而形成了两 第1 i 页 上海大学硕上学位论文 t h ep o s t g r a d u a t et h e s i so f s h a h 。g h a iu n i v e r s i t y 层结构,有时候也称为客户一服务器结构。在两层结构的应用中,用户界面和业 务规则在应用的客户端;数据操作和维护在服务器端实现,通常由数据库管理系 统( d b m s ) 来管理和维护。 从两层结构到三层结构或者多层结构的演变也是个很自然的过程。在两层结 构中,如果把业务逻辑放在客户层,则往往使得客户层非常笨重;如果把业务逻 辑放在服务器层,则往往难以在数据库系统中实现复杂的应用逻辑。因此,在三 层或多层结构中,把业务逻辑单独提取处理,构成了中间的一层或多层,形成真 正的分布式应用系统倒。 随着i n t e m e t 的发展,多层体系结构已经不能解决原有的系统和应用程序之 间存在的异构性,需要出现一种新的体系结构,用来构建具有松散耦合、位置透 明、协议独立等特征的应用程序服务。s o a 的出现解决了这难题,成为应用 程序体系结构的发展趋势。 2 s o a 的基本特征 s o a 支持企业和业务合作伙伴之间的端到端集成,提供了一种灵活的业务 流程模型,使得客户可以迅速地响应新的顾客需求、新的业务机会以及竞争的威 胁。 s o a 是一种用于构建分布式系统的方法,采用s o a 这种方法构建的分布式 应用程序可以将功能作为服务交付给终端用户,也可以构建其他的服务。s o a 可以基于w e b 服务,但是它也可改为使用其他的技术。虽然s o a 常常与x m l 和w e b 服务连在一起,但后者只是s o a 原则针对具体应用环境的技术实现创。 今天基于w e b 服务的s o a 与过去应用程序体系结构的不同就在于它是基于 标准的以及松教耦合的。广泛接受的标准( 如x m l 和s o a p ) 提供了在各不同厂 商解决方案之间的交互性。而松散耦合将分布计算中的参与者隔离开束,交互两 边某方的改动并不会影响到另一方。这两者的结合意味着公司可以实现某些 w e b 服务而不用对使用这些w e b 服务的客户端有任何了解。 3 s o a 的优点 s o a 可以基于现有的系统投资来发展,而不需要彻底重新创建系统。如果 企业将研发力量集中在创建服务、利用现有的技术、结合基于组件的方法开发软 件上,将获得如下几方面好处凹: 第1 2 页 上海大学硕士学位论义 t h ep o s t g r a d u a t et h e s i so f s h a n g h a iu n i v e r s i t y 1 ) 利用现有资产这是首要的需求。将业务服务构造成现有组件的集合, 使用这种新的服务只需要知道它的接口和名称。 2 ) 商品化体系结构现有的组件、新丌发的组件和从厂商购买的组件可 以合并在一个定义良好的s o a 框架内。这样的组件集合将被作为服务部署在现 有的体系结构中,从而可以更多地将体系结构作为一种商品化元素来加以考虑 3 ) 更快的产品上市速度使用w e b 服务库来构建和部署服务将显著地加 快产品的上市速度,因为对现有服务和组件的新的创造性重用缩短了设计、丌发、 测试和部署产品的时间。 4 ) 减少成本随着业务需求的发展和新的需求的引入,通过采用s o a 框 架和服务库,为现有的和新的应用程序增强和创建服务的成本大大地减少了。同 样,开发团队的学习难度也降低了,因为他们可能已经熟悉了现有的组件。 5 ) 降低风险重用现有的组件降低了增强或创建服务带来的风险。如前 所述,这也减少了维护和管理支持服务的基础架构的风险。 6 ) 持续改进业务过程s o a 允许清晰地表示流程流,这给商业用户提供 了监视业务操作的理想环境。流程控制是以一定的模式重组部件来实现的,不仅 允许更改流程流,而且可以同时监视产生的结果,因此促进了持续改进。 7 ) 以流程为中心的体系结构在以流程为中心的体系结构中,应用程序 是为过程开发的。流程可以分解成一系列的步骤,每一个步骤表示一个业务服务。 将这些业务服务链接在一起可以创建满足业务需求的流程流。 2 5 基于s o a 的e a i 1 集成原理 w e b 服务使用标准的x m l 协议和开放的i n t e m e t 标准,在平台、语占和发 布者之间能够互相独立,且消除了现存解决方案( i nc o r b a 和d c o m ) 中的互用 性问题,给企业应用集成带来了新的集成体系结构幽幽,其原理如图2 2 所示。 在集成中,丌发人员将需要复用的方法和业务功能构建为w e b 服务,然后使用 相应的工具将这些w e b 服务发布到服务注册库,并且这些服务可以得到统一的 管理维护。不管这些服务是用什么工具、什么语言写出来的,只要使用s o a p 协议通过h t t p 来调用它。这样从应用的外部来看,应用是由一系列标准的服务 第1 3 页 t 海大学硕士学位论文 t h ep o s t g r a d u a t et h e s i so f s h a n g h a iu n i v e r s i t y 接口组成。其他任何语言、平台上的客户应用都可

温馨提示

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

评论

0/150

提交评论