(计算机应用技术专业论文)基于web服务的eai研究与应用.pdf_第1页
(计算机应用技术专业论文)基于web服务的eai研究与应用.pdf_第2页
(计算机应用技术专业论文)基于web服务的eai研究与应用.pdf_第3页
(计算机应用技术专业论文)基于web服务的eai研究与应用.pdf_第4页
(计算机应用技术专业论文)基于web服务的eai研究与应用.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

摘要 随着企业信息化建设步伐的不断加大,传统独立的应用系统越来越不能满足企业信 息化建设的要求,因此,近年来企业应用集成e 灿越来越多的被企业所广泛使用,但传 统的e a i 技术存在着各种各样的弊端,本文在此背景下做了以下方面的工作。 首先介绍了企业应用集成的概念、产生的背景、发展现状、e a i 的类型、架构以及 传统的e a i 技术,并在此基础上分析了传统企业应用集成技术存在的弊端。深入剖析了 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 b 服务的类型进行了归纳总结,使用u d d i 实现服务的发布、发现及其描述与部署,以及 客户端的调用方式,基于s o a p 实现系统互联互通,通过服务的定义,接口的实现,发 布,发现,调用等机制实现一种松散耦合的应用集成框架。 此外,应用本文提出的基于w e b 服务的企业应用集成思路,实现了对b 2 b 和b 2 c 的 电子商务平台的应用集成。 关键词:w e b 服务,企业应用集成,x m l ,s o a p ,w s d l ,u d d i a b s t r a c t a l o n gw i t ht h ei n c r e a s i n gc o n s t r u c t i o no fi n f o r m a t i o ni nt h ee n t e r p r i s e ,t h et r a d i t i o n a l a n di n d e p e n d e n ta p p l i c a t i o ns y s t e mg r a d u a l l yc a n tm e e tt h ed e m a n do fc o n s t r u c t i o no f i n f o r m a t i o n s o ,i nt h er e c e n ty e a r s ,a p p l i c a t i o no fi n t e g r a t e de a ii sm o r ea n dm o r ee m p l o y e d b ym a n ye n t e r p r i s e s b u tt h et r a c t i o n a le a ih a sv a r i o u sa b u s e t h i sp a p e rd os o m e t h i n g r e l e v a n tu n d e rt h i sb a c k g r o u n d f i r s t ,t h ep a p e r i n t r o d u c e st h e n o t i o n ,p r o c r e a n tb a c k g r o u n d ,d e v e l o p m e n t a l a c t u a l i t y , t y p ea n dt r u s so fe a ia n dt r a d i t i o n a le a it e c h n i q u e s e c o n d ,o nt h eb a s eo ft h a t , a n a l y s e st h ea b u s eo ft r a d i t i o n a le a ia n dt h es y s t e mc o n f i g u r a t i o na n dk e yt e c h n i q u eo fw e b s e r v i c ei n d e p t h ,i n c l u d i n gt h er e l e v a n tk e yt e c h n i q u e ,0 1t h eb a s eo fi t ,p u t sf o r w a r dam o d e l b a s e do nw e bs e r v i c e ,a n a l y s e si t sm e r i t sa n dp i v o t a l a s s e m b l y , b r i n g sf o r w a r di t s i m p l e m e n t i n gm o d e ,d i s c u s s e st h r e ed i f f e r e n tm o d e lo fi n t e g r a t e dw e bs e r v i c e ,s h i l l su pt h e t y p eo fe a i sw e bs e r v i c e ,a c h i e v e si s s u a n c e ,d e t e c t i n g ,d e s c r i p t i o n ,d i s p o s eo fs e r v i c e ,a n di t s t r a n s f e rm a n n e ro fc l i e n t ,a c t u a l i z e st h es y s t e mi n t e r l i n k a g eb a s e do ns o a p , a c c o r d i n gt ot h e d e f i n eo fs e r v i c e ,i m p l e m e n t ,r e l e a s e ,t r a n s f e ro fi n t e r f a c e ,t h ei n t e r g r a t e da p p l i c a t i o nf r a m eo f l c si sc o m et r u e a c c o r d i n gt ot h ea p p l i c a t i o no ft h o u g h tp u tf o r w a r db yt h i sp a p e r , t h ea p p l i e di n t e g r a t i o n o fe l e c t r o n i cb u s i n e s sa f f a i r sp l a t f o r mi si m p l e m e n t e d k e yw o r d s :w e bs e r v i c e ,e a i ,x m l ,s o a p ,w s d l ,u d d i 论文独创性声明 本人声明:本人所呈交的学位论文是在导师的指导下,独立进行研究工 作所取得的成果。除论文中已经注明引用的内容外,对论文的研究做出重 要贡献的个人和集体,均已在文中以明确方式标明。本论文中不包含任何 未加明确注明的其他个人或集体已经公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名: 黝骰 。7 年月 论文知识产权权属声明 7 e l 本人在导师指导下所完成的论文及相关的职务作品,知识产权归属学 校。学校享有以任何方式发表、复制、公开阅览、借阅以及申请专利等权 利。本人离校后发表或使用学位论文或与该论文直接相关的学术论文或成 果时,署名单位仍然为长安大学。 ( 保密的论文在解密后应遵守此规定) 论文作者签名: 勘霞 导师签名: 侧川参云 。7 年6 月7 日 年月日 长安大学硕士学位论文 1 1 引言 第一章绪论 在计算机和i n t e m e t 盛行的今天,我们的计算环境也在不断地发生变化。硬件性价 比的快速增长,网络技术的飞速发展,推动着计算技术日新月异。人们对软件开发的认 识从单一系统的完整性和一致性,向着群体生产率的提高、不同系统之间的灵活互连和 适应性而变化。这2 0 年来我们经历了计算模式的巨大转变:从1 9 8 5 年以前的单主机计 算( m a i n f r a m ec o m p u t i n g ) ,到1 9 8 5 至1 9 9 5 年间的分布式客户服务器计算( d i s t r i b u t e d c l i e n t s e r v e rc o m p u t i n g ) ,一直到19 9 5 至现在的网络计算( n e t w o r kc o m p u t i n g ) 。 网络计算确实开辟了一个新的软件开发和使用模式:“软件就是服务”。无数的应用 服务供应商开发出各种良好的构件( 软件i c 块) 放在自己的服务器上,供万维网上任何人 使用。使用者甚至不用下载,只需按时交使用( 服务) 费即可。网络计算首先要解决两个 主要问题:平台异构和数据通信。j a v a 己经成功地解决了前一个问题,而x m l 的出现正 是为了解决信息交互和数据共享的问题。 人们希望用x m l 来描述和连接如d c o m 、c o r b a 等远程过程调用,这样就可以 解决异构系统间的通信问题,实现真正的网络计算。从这个意义上,今后每个w e b 所 提供的就是一种服务,任何平台上任何应用都可以直接调用这些服务。这种服务就叫做 w e b 服务,即网络服务( w e bs e r v i c e ) u j w e b 服务已经在全球范围内掀起了一波i t 业的浪潮,无论是平台供应商、解决方 案供应商、技术供应商,还是服务提供商都纷纷在自己的平台、解决方案以及服务中加 入了w e b 服务。那么到底什么是w e b 服务呢? 微软认为“w e b 服务是程序的应用逻 辑接口,它可以通过标准i n t e r n e t 协议进行访问。w e b 服务集组件开发和w e b 技术之 所长。w e b 服务和一般组件的类似之处在于它也代表了可以重用的黑盒,而业务实现 的细节则不必关心。而和目前的组件技术不同的是,w e b 服务不通过特定的对象模型 来进行访问,比如分布式组件对象模型d c o m 、远程对象调用r m i 或者是i n t e r n e to r b 互操作协议i i o p 。相反,w e b 服务可以通过通用的w e b 协议和数据格式,如h t t p , x m l 和s o a p 来访问。w e b 服务提供者可以在任何平台以任何编程语言实现,只要他们可 以创建并且使用由w e b 服务接口所定义的消息。”t 2 】 本文以理解和促进w e b 服务应用于企业应用集成为目标,希望能够通过深入研究 第一章绪论 i n t e m e t 环境下企业应用集成( e a i ) 的发展需求和传统集成技术的不足,论证w e b 服务 适应i n t e r n e t 环境下的企业应用集成;希望通过深入研究w e b 服务的体系架构、关键 实现技术来把握w e b 服务的实质,深入理解w e b 服务的关键内容,研究w e b 服务应 用于企业应用集成的框架;希望通过对电子商务的集成实例,分析和实现具体的w e b 服务开发,理论分析与实践研究相结合,全面理解和应用w e b 服务。 1 2 课题背景及研究意义 由于软件发展经过了很多步的重大变化,作为应用这些软件的企业来说也面临着一 些尴尬的局面。随着企业的发展建设,企业内部在各种时期、各种用途的应用系统将会 越来越多,如n m s ,e t a , c l b m 等。随着时间的发展,这些软件的应用性逐渐降低,重 新编写一些新的系统来代替这些系统的花费太大,基本没有可能性。而且企业在运营过 程中,内部应用系统经常需要与企业外部的系统或个人进行信息交互,实现电子商务等 功能。但由于系统各自建设,信息各自存放,企业内部各系统之间及与外部系统之间信 息无法共享,从而形成企业中一个个“信息孤岛”。同时,应用分散在企业中各个部门, 没有一个统一的整体能够满足企业的一体化要求。这样建设的系统之间如同有许多高 墙,阻碍了各系统的信息互访,影响了企业的发展。 那么企业如何组织企业内各类信息,让这些资源发挥最大的作用,使现有的诸多应 用系统成为一个集成的、开放的、面向客户的i t 支持系统呢? 答案是采用企业应用集成 ( e 趾e m e r p r i s e a p p l i c a t i o n i n t e g r a t i o n ) 来整合企业中的所有系统,将各个系统间的“隔阂 消除。 1 3 论文构成 论文分为六章,具体组织如下: 第一章绪论 对本论文的选题依据,背景,意义等进行阐述。 第二章企业应用集成e a i 简单介绍了e a i 产生的背景、类型、发展状况并分析了传统e a i 所存在的不足 等。 第三章 w e bs e r v i c e 技术 介绍了该论文的核心基础技术w e bs e r v i c e 的相关知识。 2 长安大学硕士学位论文 第四章基于w e b 服务的e a l 分析与设计 分析了应用系统集成的需求,从组件间的集成、企业内部的集成、企业之间的 集成三个方面对e a i 的w e bs e r v i c e 实现进行了分析与研究。并分析了w e b 服务的 类型、接口以及用w e b 服务实现e a i 的相关技术。 第五章基于w e b 服务的b 2 b 和b 2 c 应用的集成 采用本文提出的思想,实现了对b 2 b 和b 2 c 电子商务平台的集成。 第六章总结与展望 对论文进行总结,并展望下一步需要做的工作。 3 第二章企业应用集成e a i 第二章企业应用集成e a i 企业应用集成技术,即e a i ( e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ) 技术,已在各行各业 中得到广泛的应用,如电信,金融,媒体,制造业等。一般来讲,如果某一应用领域中 的业务逻辑有一定的复杂性,不能单靠简单传统的用户界面( u s e ri n t e r f a c e ) j j i l 数据库技 术解决其业务问题,那么在这个应用领域中,就有可能应用e m 技术。e a i 技术旨在整 合既已封装的企业应用,通过一定的业务流程,来实现靠单个应用所不能完成的业务功 能。e a i 技术定位于异构环境下各数据源、遗留系统、以及新建立的应用系统的整合, 利用代码重用、数据转换、系统互联等方法实现软件互操作,屏蔽异构网络环境下编程 的复杂性,从而达到整合异构环境下分布的、异构的、自治的系统中各个数据源的目的, 使得已经建立并发挥作用的系统能够迁移到网络计算环境并与新开发的业务系统集成, 达到充分利用遗留系统的目的,同时保障系统和数据整合的安全性。e a i 起着将多个“孤 立的应用系统相互“粘接 的作用,是一个“中间插件 ,很像一个“中间人 的角 色,如图2 1 所示。1 3 1 藏褥是 瘳嬲转霾爨 口口 膨绣d l 簇瘸膨搿d ,、 瓣弼2 口一】( 蹦) 一口 i 口口口 缓罐f癌瑚8 凌耀鞭 图2 1 企业应用集成图 2 1e ai 产生的背景 e a i 的出现是企业的运行和管理水平发展到一定阶段的产物。产生e a i 的需求一 方面来自于市场竞争的需要,另一方面来源于企业提高自身生产管理水平的需要。 1 企业内外部信息共享、协同办公的需要对企业来说,近几年的信息化建设,在 企业内部形成了大量独立运作的信息系统,例如采购、生产控制、分销、财务以及供应 链管理和客户关系管理等软件。随着i n t e r n e t 的广泛应用,迫使企业必须有快速响应业 务流程处理的能力,以便在互联网时代依然能够保持竞争力。通常待处理的信息在不同 的系统中分布并累积,而快速响应要求这些系统能够协同工作并且共享信息。但是企业 4 长安大学硕士学位论文 内的这些应用系统又是相互独立运行的,相互之间没有畅通的信息交流与共享,甚至很 多时候存在大量重复的信息和数据。这样的后果是企业中经常会出现信息和数据的更新 不同步甚至不一致的现象,从而造成各个部门之间的矛盾,给企业中不同部门人员之间 的交流带来一定问题。有时提供给客户的信息也前后不一致,使客户感到困惑,严重影 响了企业的形象和信誉。另外,随着企业规模的扩大,企业兼并的现象时有发生,那么 如何将各自所有的信息系统整合起来,来共享被兼并企业的生产、财务、人事、客户等 诸多数据,如何在企业与企业之间进行信息交换,这些都是有待解决的问题。为了解决 以上“信息孤岛、应用孤岛”的问题,就需要从整体来考虑企业的整个信息系统,根据 实际需要,对各个应用系统进行总体规划,选择一个合适的集成平台,把企业的各个“信 息孤岛有机的集成起来。 2 降低企业系统开发维护成本的需要。企业中的各种遗留信息系统一般具有可重 用性低、扩展能力差、难以维护等问题,为了实现企业的所有功能、信息、组织管理的 集成化运行,必须克服这些遗留系统带来的异构信息源、应用系统的功能及实现技术的 多样性和复杂性等造成的障碍。 企业开发新的应用系统是非常耗费成本的,包括昂贵的正版软件授权费用、高开发 成本、发布成本和培训成本等等。因此,许多企业负担不起对现有业务系统改变所支出 的费用,也无法承受重建新系统所支出的费用,更不能放弃现有业务系统,因为企业在 此方面已经投入了大量的资金。 以上这些实际情况给企业提出了明确的需求,即缩短应用开发周期,降低开发成本, 提高企业的综合运行效率,降低系统维护费用,提供通用的通信和信息访问服务,使应 用软件功能不依赖于特定的硬件、操作系统、网络协议和数据库管理系统,提供通用的 应用编程接口以及可图示化界面,方便用户的使用。并且能够继承企业的原有系统和信 息源,充分发挥企业过去在信息技术上投资的效益,保证所开发的软件具有高度的可重 用性。这种情况下,e a i 就不失为一个比较好的方案。企业仍然可以利用现有的基础设 施和资源来为其服务。 3 提高信息化建设水平的需要。随着信息技术的发展,信息系统和信息作为一种 资源已不再仅仅支撑企业战略的实施,而是慢慢成为一种影响企业战略制定的关键性因 素。采用信息技术改造和提升传统产业,从而增强企业的竞争力得到了越来越多企业的 重视,用信息化带动工业化已经成为我国广大企业自觉行动和追求的目标。 企业信息化的实现是一项复杂的系统工程,是一个长期的发展渐近过程,而e a i 技 5 第二章企业应用集成e a i 术是其发展上升的过程中所不能避免的问题。建立强壮而灵活的企业信息体系的关键, 就是通过e a i 技术,将孤立的分散于企业内与企业伙伴间的应用系统联系起来,形成 资源共享、业务协作的分布式商业应用体系,从而提高企业的反应速度,提高企业的创 新能力和服务水平。从这个角度来说,实现e a i 的过程就是企业信息化的过程,e a i 是 企业信息化的重要目标和高级阶段。 2 2e al 的发展及现状 这个领域起源于美国及欧洲上个世纪九十年代中期,美国硅谷一批精英公司为这个 领域的形成及基础技术的研发奠定了市场和技术两方面的坚实基础。这批公司包括 c r o s s r o a d ( 后来被i b m 收购) ,t i b c o ,w e b m e t h o d 等。随着e a 技术的应用的深化,传统 的中间件厂商也涉足e a i ;这里包括b e a ,m m 以及o r a c l e 等。近年来,国内的厂商也 推出了中间件,e a i 或e r p 平台:如北大方正,四通等。当前,企业应用集成( e m ) 市场正在迅猛发展。世界各大行业用户都不约而同地把e a i 作为未来信息化的工作重 点。据g a r t n e r 预测,3 5 6 0 的企业信息技术资源将用于集成,这将导致在全球迅速 形成上百亿的e a i 市场。2 0 0 3 年全球e a i 市场约1 1 亿美元,到2 0 0 9 年这个市场可达 到2 6 亿美元。2 0 0 5 年,预计国内e a i 市场约2 0 亿人民币【4 1 。 在过去l o 多年里,e a i 领域得到飞速发展,其中的某些基础技术已近成熟,在实 用系统中得到广泛的应用。譬如我们在商品化产品中能看到的数据通讯性能,包括同步 通讯性能( c o r b a ,r m i ,w 曲s e r v i c e 等) ,和异步通讯性能( q u e u e 或c h a n n e l 等) 。这些 性能在商品化系统中都有较好的支持。一些工业标准也相继制定。如j 2 e e 为基于j a v a 的中间件系统设计设定了标准;基于j 2 e e 的j c a 标准为连接器的实施制定了标准;u m l 中的数据流图和状态图为业务流奠定了理论基础。 2 3 队i 的类型 e a i 技术本身在发展,涉及的技术又十分广泛,不同的技术实现的集成功能不同。 对要实施e a i 的企业而言,e a i 是分层次的,也就是说,同样是企业应用集成,其内 容和层次并不一定相同。e a i 涉及到结构、硬件、软件以及流程等企业系统的各个层面。 由于各个公司的策略不同,具体层面的划分也有所不同。一般来说,e a i 从易到难可以 分为以下三个层次:数据集成、功能集成、业务过程集成。1 3 1 如图2 2 所示。 6 长安大学硕士学位论文 2 3 1 数据集成 图2 2e a i 的三个层次图 数据集成主要为了解决不同应用系统间的数据共享和交换问题。数据集成可以让一 个系统的数据能为其他系统使用,可以说是e a i 中最原始、最朴素的集成方式。数据 集成一般是在数据库的基础上进行操作。为了使功能集成和业务过程集成成功实现,数 据和数据库系统的集成是必不可少的。 数据集成是目前企业应用集成的常用方法。具体来讲,数据集成方法又可划分为三 种类别数据复制、数据聚合以及面向接口集成。 数据复制方式的目的是为了保持数据在不同数据库间的一致性。它通过底层应用数 据源之间的一致性复制来实现不同应用之间的信息共享和互操作。它直接从一个应用系 统数据源中拷贝出所需数据并复制到其他应用系统中。数据复制方式的优点在于其简单 性和低成本。 数据聚合是指通过不同的应用系统共同访问一个全局虚拟数据库,通过这个虚拟数 据库为不同的应用提供全局信息服务,实现不同的应用和数据源之间的信息共享和数据 交换。这个虚拟的数据库包括了多个实体的物理数据库。数据聚合方法的优点是其将多 种数据类型表示为统一的数据模型,通过一个良好定义的接口,用户就可以如同访问一 个数据库一样能够访问到企业中任何相连接的异构数据库。 面向接口的集成主要用来集成应用软件包,如e r p 套件。这种数据集成方式中, 不同的应用系统之间利用适配器提供的应用编程接口来实现相互调用。适配器通过其开 放或私有接口将业务信息从其所封装的具体应用系统中提取出来,进而实现不同的应用 系统之间业务数据的共享与交换。这种方式的主要优势就是能够保证不同类型的应用系 统之间数据交互的高效性。本文的数据集成,采用此种方式,接口功能由w e bs e r v i c e 完成。 7 第二章企业应用集成e a i 2 3 2 功能集成 功能集成可以实现在网络环境中的跨平台应用系统之间的集成。功能集成提供了很 强的集成能力,解决问题的方法也相当灵活。功能集成的目标是把一个应用系统上的数 据或功能和另外一个应用系统的数据或功能连接起来,提供一个接近于实时的集成。功 能集成强调的是应用系统可以存取企业范围的信息,而且保证信息能够及时准确地传 递。一个应用系统发生变化之后,通过通讯的方式触发另外一个或者一系列的应用系统 发生变化,而不仅仅是简单的数据库内容的更改。例如,一个e r p 系统中的采购流程, 企业下了一个采购订单后,会自动产生一个命令,触发供应商的销售系统,使其销售系 统发生变化,从而供应商就可以迅速地为该企业供货。 功能集成主要处理多个应用系统之间的消息交换,提供了应用系统之间的互连与互 操作,实现系统间的集成。这种方法与数据集成的区别在于应用系统自己处理消息的转 换,并且它将影响被集成系统的数据转换和有效性。此外,功能集成需要对应用系统建 立发送和接收消息的接口。 2 3 3 业务过程集成 企业应用集成的最高层次是业务过程集成。业务过程集成这个层面强调的是对涉及 不同系统、不同角色人员所进行的活动的控制和协调。该层面既可以将多个离散的应用 当作一个应用系统管理,从而实现流程自动化,也可以将企业业务流程从应用逻辑中剥 离开,并集中到相应的业务流程管理工具中来统一管理并根据需要调整。 业务过程集成与业务流程管理是分不开的。企业必须要定义流程、授予权限并且控 制这些业务流程,从而实现在不同的业务系统之间交换数据和信息。它可以在企业间实 现业务的自动流转,降低成本并且提高了对客户需求的响应能力。业务过程集成包括流 程管理、流程建模以及综合了任务、流程、组织和输入输出信息的工作流,还包括业务 处理中每一步都需要的工具。 业务过程集成通过一个业务流程把所有的应用、数据都管理起来,让它贯穿很多应 用系统,贯穿很多数据,贯穿很多用户,贯穿很多合作伙伴。业务过程集成通过对业务 流程的模拟,设计出企业的业务流程和信息交换,并且监控业务协调和交易的发生,对 企业内外部的各种资源及其流程等活动进行协调和优化,使信息无障碍地在企业内外流 动起来。 r 长安大学硕士学位论文 业务流程的管理平台是由业务人员来控制,而不是给i t 人员控制。业务人员根据 业务的实际情况设计出满足实际业务需求的流程,并且能够监控整个业务的变化。通过 这样一个流程集成的手段,真正做到e a i 的最高层次。由于e a i 三种集成类型各自 解决的问题不同以及企业的具体需求不同,因此每一种集成类型,都有很广泛的应用群。 有时也可能是两种集成类型组合在一起共同解决一个集成问题。 2 4e 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 ) 、分布式组件对象模型 ( d i s t r i b u t e dc o m m o no b j e c tm o d e l ,d c o m ) 和远程方法调用( r e m o t em e t h o di n v o c a t i o n , r m i ) 为代表的分布式对象技术是传统企业应用集成的主要技术手段,它们为实现企业应 用的可移植性、可扩展性和可重用性提供了解决途径,在w e b 服务与s o a p 出现以前, 微软的d c o m 和c o r b a 的因特网内部o r b 协议( i n t e r n e ti n t e r - o r bp r o t o c o l ,i i o p ) , s u n 公司的j a v a r m i 是业界主流的对象远程过程调用( 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 ) 协议。 2 4 1c o r b a c o r b a 是由对象管理组织( o b j e c tm a n a g e m e n tg r o u po m g ) 制订的一种标准的面 向对象应用程序体系规范。由对象请求代理o r b 、对象服务、公共设施、域接口和应 用接口这几个部分组成。其核心部分是对象请求代理o r b ( o b j e c tr e q u e s tb r o k e r ) 。 o r b 提供了一种机制,通过这种机制,对象可以透明的发出请求和接收响应。分布式 的、可以互操作的对象可以利用o r b 构造可以互操作的应用。o r b 可看作是在对象之 间建立客户服务关系的一种中间件。基于o r b ,客户可以透明的调用服务对象所提供 的方法,该服务对象可以与客户运行在同一台机器上,也可以运行在其他机器上并通过 网络与客户进行交互。o r b 截取客户发送的请求,并负责在该软件总线上找到实现该 请求的服务对象,然后完成参数、方法调用,并返回最终结果。c o r b a1 1 由对象管理 组织在1 9 9 1 年发布,定义了接口定义语言( i d l ) 和应用编程接口( a p i ) ,从而通过实 现对象请求代理( o r b ) 来激活客户月艮务器的交互。c o r b a2 0 于1 9 9 4 年的1 2 月发布, 它定义了如何跨越不同的o r b 提供者而进行通讯。【6 j 9 第二章企业应用集成e a i 2 4 2d c o m d c o m 是m i c r o s o f t 公司提出的分布式组件对象模型标准,是m i c r o s o f t 的组件对象 模型( c o m p o n e n to b j e c tm o d e l ,c o m ) 的分布式扩展,它支持在局域网、广域网甚至 i n t e m e t 上不同计算机的对象之间的通讯。d c o m 基于c o m 的应用程序、组件、工具 等的基础之上,它在分布式计算环境( d i s t r i b u t e dc o m p u t i n ge n v i r o n m e n t ,d c e ) r p c 的顶端建立了一个对象远程调用过程( o r p c ) 层来支持远程对象处理网络协议的低层 次的细节问题,而不必关心太多的网络协议细节,从而使用户能够集中精力解决用户所 要求的问题。d c o m 位于应用程序的组件之间,将组件以不可见的方式胶合在一起,组 成具有完整功能的应用程序。【6 】 2 4 3r m i r m i 是s u n 公司推出的一个分布式通信模型。r m i 的客户通过激发位于客户端的 代理( p r o x y ) 对象中的方法而与分布式服务器透明的通信。客户代理对象将传递给他 的参数序列化,并且以流的方式将它们传递给适当的分布式服务器对象实例。方法的返 回值按照类似的途径从分布式服务器对象返回给r m i 客户。r m i 客户与一个实现了一 个j a v a 接口的对象进行通信,这个接口对应于一个特定的r m i 服务器所提供的远程接 口。【7 】 2 5 传统企业应用集成所存在的弊端 传统的企业应用集成存在着以下一些值得注意的问题: ( 1 ) 基于集成商的专有协议,缺乏工业标准支持:这几种应用集成解决方案在不同 的领域和侧面发挥了重要作用,但是,它们要么是针对一个特定的行业( 制造业电子商 务) ,要么是与一个特定的操作系统紧密结合( w i n d o w s ) ,要么支持特定的技术,例如 j 2 e e j c a 。另外,专有协议也会使得集成项目的维护变的复杂、费用变的昂贵,并要求 开发者具有针对性的专业技术和掌握繁多的开发工具。据估计,到目前为止所实施的 e a i 项目中有三分之一是以失败告终的,而缺乏工业标准支持的e a i 实施方法被列为 1 0 大失败原因之一。 ( 2 ) 体系结构的动态可扩展性比较差:它们都是针对特定的软硬件结构、网络环境 或者特定的应用领域而进行研究和开发的。面对软硬件结构等的动态变化,系统的自适 应能力太差,有些甚至表现为无能为力。同时,他们是针对独立的应用提供的服务,系 1 0 长安大学硕士学位论文 统的体系结构都是面向特定应用的,体系结构于整个企业的组织毫无关系,使得系统毫 无通用性可言,系统在企业中的可实施性较差。 ( 3 ) 在技术方面存在一定缺陷:例如,r m i 的实现需要通信的两端都有j a v a 运行环 境,这限制了其推广。c o r b a 虽然成功的定义了一种语言无关的通信方式,但却把实 现对象请求代理( o r b ) 的协议的任务留给了供应商,同时,企业防火墙注意到i i o p 新协 议,并且有的时候就阻止o r b 通信,i i o p 很快就给c o r b a 带来了一个难与防火墙一 起工作的坏名声。d c o m 依赖于严格管理的环境,如果要开发d c o m 应用程序,则所 有参与该分布式应用程序的节点都必须得到w i n d o w s 系统的支持。要找到能成功的在外 部调用d c o m 或者i i o p 的任意两台计算机几乎是一件不可能的事情。此外,程序员们 必须处理数据排列和数据类型所需的协议唯一的消息格式规则。d c o m 和c 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 ao r b 和c o m 之间) 引入了一个新的软 件,在c o r b a 的i n t e r a c ti n t e r - o r bp r o t o c o l ( i 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 e c a l l ( o r p c ) 之间,繁杂的双向转换将使得中间起桥接作用的软件变得很复杂。任何对 i i o p 协议和o r p c 协议的修改都导致修改桥接软件。 传统的e a i 是一种紧耦合集成模式,比较适用于那些对性能要求较高的、需要多种 层次集成的应用集成系统。而w e b 服务是一种标准化的松耦合集成模式,比较适用于 那些需要更大的灵活性,改动频繁的应用集成系统。 第三章w e bs e r v i c e 技术 第三章w e bs e r v ic o 技术 w e b 服务( w 曲s e r v i c e ) 是一种部署在w e b 上的对象,w e b 服务的基石是以x m l 为主的开放的w e b 规范技术,具备了完好的封装性,松散的耦合性,使用协议标准规 范和高度可集成力的特征。 w e b 服务的定义有很多版本,w 3 c 、i b m 、s u n 、m i c r o s o f t 等一些组织和公司都对 w e b 服务给予了定义或描述,其中:w 3 c 组织对w e b 服务的定义是:“一个w e b 服 务是一个由u r i 标识的软件系统。w e b 服务的公共接口和绑定使用x m l 来定义和描 述,并能被其他软件系统所发现。这些软件系统可以用接口定义中预先描述的方式并通 过基于x m l 的消息来与w e b 服务进行交互,而这个基于x m l 的消息又通过i n t e r n e t 协议来传送。 s u n 公司的定义为w e b 服务是互联网架构中可置换的标准零部件,认 为:“w e b 服务通过w e b 进行访问,w e b 服务提供一个x m l 接口,w e b 服务通过 u d d i 注册来定位,w e b 服务使用x m l 信息通过标准w e b 协议实现通信,w e b 服务 支持系统间的松耦合连接”。1 8 】 可以这样认为,w e b 服务就是一种可通过标准i n t e m e t 协议访问的自包含的、自描 述的、模块化的、可编程的应用逻辑,是对象组件技术在i n t e r n e t 中的延伸,可以通过 w e b 发布、查找和调用。与传统的构件技术不同,w e b 服务不是通过特定的对象模型 协议( 例如d c o m 、c o r b a 或州i ) 来访问,而是通过通用的网络协议和数据格式( 例 如h t t p 和x m l ) 来访问。它在内部定义了一些能完成特定操作的函数,并将函数的 接口在服务器上进行发布,用户查找到所需的w e b 服务,并通过接口调用w e b 服务 的函数完成相应的操作。w e b 服务提供了使用标准协议在松散耦合环境中交换消息的 能力,通过使用w e b 服务可以解决复杂分布式应用系统的一些核心问题:互操作、集 成、应用的伸缩性。 3 1w e bs e r v i c e 体系结构 w 曲s e r v i c e 的体系结构基于服务提供者、服务代理者( w e b 服务注册中心) 和服务 请求者三种角色之间的交互,交互涉及发布、查找和绑定三种基本操作。这些角色和操 作一起作用于w e b 服务构件:w e b 服务软件模块及其描述。服务( s e r v i c e ) 并不是新概 念,像r p c ,c o m d c o m ,c o r b a 等都可以称之为面向服务( s e r v i c e o r i e n t e d ) 的系统。 w e bs e r v i c e 中的服务主要是指利用i n t e m e t 协议提供给需求者按一定规则使用的一个 1 2 长安大学硕士学位论文 软件模块,它部署在由服务提供者提供的可以通过网络访问的平台上。服务描述包含服 务的接口和实现的细节,主要包括服务的数据类型、操作、绑定信息和网络位置,还可 能包括可以方便服务请求者发现和利用的分类及其它元数据。服务描述可以被发布给服 务请求者或服务注册中心。服务提供者定义w e bs e r v i c e 的服务描述并把它发布到服务 注册中心。服务请求者使用查找操作来从本地或服务代理者检索服务描述,然后使用服 务描述与服务提供者进行绑定并调用w e b 服务实现或同它交互。服务提供者和服务请 求者角色是逻辑结构,因而服务可以表现两种特性。如图3 1 表示了这些操作、提供这 些操作的组件及它们之间的交互。p 】 图3 1w e bs e r v i c e 体系结构图 3 1 1w e bs e r v i c e 体系结构中的三种角色: 服务提供者:发布自己的服务,并且对使用自身服务的请求进行响应。 服务请求者:利用s e r v i c eb r o k e r 查找所需的服务,然后使用该服务。 服务代理者:注册己经发布的s e r v i c ep r o v i d e r ,对其进行分类,并提供搜索服务。 3 1 2w e bs e r v i c e 体系结构中的三种基本操作: 发布:服务提供者对服务进行一定的描述并发布到服务注册库中。 查找:查找就是指服务注册库( s e r v i c er e g i s 仃y ) 中的服务如何能够被服务请求者发 现。注册服务器需要提供规范接口来接受服务请求者的查询请求;对于服务请求者,可能 会在两个不同的生命周期阶段中牵涉到查找操作:在设计时为了程序开发而检索服务的 接口描述,而在运行时为了调用而检索服务的绑定和位置描述。 绑定:它是指如何实现对服务的调用。在绑定操作中,注册服务器反馈给服务请求 者所请求服务的详细要求,包括服务的访问路径、服务调用的参数、返回结果、传输协 议、安全要求等,服务请求者使用服务描述中的绑定细节来定位、联系和调用服务,从 而在运行时调用或启动与服务的交互。 】3 第三章w e bs e r v i c e 技术 3 2w 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 的组件基本部分包括h t t p , x m l u d d i ,w s d l 和s o a p , 其中h t t p , x m l 和s o a p 可以看作是w e b 服务的核心层。这些层定义了w e b 服务之 间交互的方法和途径。这三个协议己经被w 3 c 接受作为标准。 发布服务使用u d d i ,查找使用u d d i 和w s d l 的组合,绑定服务使用w s d l 和 s o a p 。数据交换和表示的标准语言x m l 与u d d i 、w s d l 、s o a p 标准实现了w e b s e r v i c e 。如图3 2 所示。 w 院黢务 w s d l lu d d i | s o a pl w s i l 粥l h t t p 图3 2w e b 服务的组成图 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 ,可扩展标记语言) 作为一种新的i n t e m e t 上的数据交 换标准,开始设计时主要是用来弥补h t m l 作为网络标准语言的不足。h t m l 是 一种静态的页面表现机制,只涉及了简单页面文档及其相关媒体数据在i n t e r n e t 上的存 储和传输,而x m l 是一种自描述的数据共享机制,在数据描述方面具有绝对的优势。 作为一种可扩展的、自描述的标记语言,x m l 具有以下特点:自描述性、可扩展性、 分层结构、丰富的链接定义和多样的样式表支持。这些特性使得数据内容与数据的表现 形式分开,不同系统描述之间的差异性可以存在,。计算机可以在没有人为干涉的情况下 理解数据的含义,自动了解文档的内容。 随着x m l 在i n t e r n e t 应用中的不断普及,x m l 从w e b 网站的内容管理、内容表示 起步,开始组建扩散到其他基于i n t e r a c t 的应用中。这些基于x m l 的应用包括: 1 ) 内容管理发布:依靠x m l 可自定义和可扩展的能力来描述整个w e b 世界上种类 繁多、样式丰富多彩的信息内容,依靠一次描述、多次表现的x m l 标准应用模式使得 基于x m l 的内容能够以多种形式进行信息发布。 2 ) 电子商务应用:x m l 一般承担了以往e d i 所承担的角色,人们依靠x m l 来描述 1 4 长安大学硕士学位论文 传输商务事务信息,实现分布式的电子商务应用的交互。 3 ) 数据集成:随着在b 2 b ,b 2 c 商务应用中商务信息交换的应用模式不断深入人心, 面向通用领域的数据集成数据交换应用也成为一个重要的x m l 应用领域。 4 ) 分布式系统集成:当x m l 在经历了电子商务应用的经验之后,逐渐的人们可以 系统地在数据层上完成应用系统( 尤其是商务系统) 的连接,同时希望能在业务层或者函 数层上完成系统的互联。这方面的技术主要是以x m l 为基础的w e b 服务系列技术为 主。 5 ) 系统配置信息描述:随着x m l 应用的深入人心,原先系统软件、应用软件中使 用文本

温馨提示

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

最新文档

评论

0/150

提交评论