




已阅读5页,还剩48页未读, 继续免费阅读
(计算机软件与理论专业论文)基于xml的企业应用集成系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕上论文基于x m l 的企业应用集成系统的研究与实现 摘要 随着计算机软件技术的发展和企业信息化工作的不断推进,企业拥有越来越 多的应用系统。企业应用集成技术可以把各个应用程序集成为一个无缝整体。利 用企业应用集成技术将企业内已有系统集成是提升企业内部系统、达成企业目标 和增强企业竞争力的重要手段,也是当前计算机应用的发展趋势之一。 本文以实际项目为背景,首先研究了中间件技术、x m l 技术、w e bs e r v i c e 技术以及设计模式等相关理论和关键技术,然后在此基础上,给出了一个基于 x m l 的企业应用集成系统c e n e a i 的总体框架,描述了整个框架各组成部分的 作用和整体数据流程,并且给出了框架中关键组件的设计和实现技术,接着通过 描述系统的应用场景,阐述了该系统的特点和优势,最后提出了一种基于该系统 的数据和服务网络架构。 关键词:e a i ,面向消息中间件,x m l ,w e b 服务 硕士论文 基于x m l 的企业应用集成系统的研究与实现 a b s t r a c t w i t ht h ea d v a n c e m e n to fi tt e c h n o l o g ya n di t sb u i l d i n gf o r e n t e r p r i s e m o r ea n d m o r ec o m p u t ea p p l i c a t i o ns y s t e mw e r es e t u pi nt h o s ec o m p a n i e s t h et e c h n o l o g yo f 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 ( e a i ) c a l li n t e g r a t em a n ya p p l i c a t i o np r o c e d u r e s i n t oaw h o l ew h i c hh a sn o g a p a p p l y i n g e a i t e c h n o l o g y c a nl e v e r a g et h ec a p a b i l i t i e s o fe x i s t i n ge n t e r p r i s e a p p l i c a t i o n s ,a c h i e v ee n t e r p r i s eg o a la n dh e l pe ne n t e r p r i s e c r e a t e c o m p e t i t i v ea d v a n t a g e e a i i so n eo ft r e n d so fc o m p u t e r a p p l i c a t i o n t e c h n o l o g yn o w a d a y s b a s e do na ni n d u s t r yp r o j e c t ,t h i sp a p e rf i r s ti n v e s t i g a t et h ek e y t e c h n o l o g ya n d r e l a t e dt h e o r yo f e a i s u c ha sm i d d l e w a r e 、x m l 、w e bs e r v i c ea n d d e s i g np a t t e r n s , g r o u n do nt h i ss t u d y , w ed e s c r i b et h ew h o l es t r u c t u r eo f t h ec e n e a ia n dt h ed e s i g n , f u n c t i o n a l i t i e so f c o m p o n e n t s i nt h i sf r a m e w o r k a n dt h e nw e g i v e t h e i m p l e m e n t a t i o no ft h ek e yc o m p o n e n t si n t h ef r a m e w o r k 。w ea l s od e s c r i b et h e i n f o r m a t i o nf l o wi nt h i sf r a m e w o r ki nd e t a i l a f t e rt h a tw e g i v et h ea d v a n t a g ea n d c h a r a c t e r i s t i co f t h i ss y s t e mb ya d e s c r i p t i o no f a p p l i c a t i o ns c e n e 。f i n a l l yw e d e s c r i b e an e wf r a m e w o r ko f d a t aa n ds e r v i c en e t w o r kb a s e du p o nc e n e a i s y s t e m k e yw o r d s :e a i ,m o m ,x m l ,w e b s e r v i c e 第1 i 贞 y6 2 4 2 , 5 3 声明 本学位论文是我在导师的指导下取得的研究成果,尽我所知,在 本学位论文中,除了加以标注和致谢的部分外,不包含其他人已经发 表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学 历而使用过的材料。与我一同工作的同事对本学位论文做出的贡献均 已在论文中作了明确的说明。 研究生签名:兰垂! 鲨2 一,。4 年占月歹日 学位论文使用授权声明 南京理工大学有权保存本学位论文的电子和纸质文档,可以借阅 或上网公布本学位论文的全部或部分内容,可以向有关部门或机构送 交并授权其保存、借阅或上网公布本学位论文的全部或部分内容。对 于保密论文,按保密的有关规定和程序处理。 研究生签名: 乙一u 侔6 月岁日 硕十论文 基于x m l 的企业应用集成系统的研究与实现 1 绪论 1 1 企业应用集成的产生 据i d c 统计,在过去的1 0 年中,全球企业在信息系统上共投资1 8 万亿 美元。巨大的投资为企业建立了众多的信息系统,以帮助企业进行内外部业务的 处理和管理工作。 根据m e t ag r o u p 的统计,一家典型的大型企业平均拥有4 9 个应用系统, 3 3 的i t 预算是花在传统的集成上,通过零星的“点对点”连接,把众多的“信 息孤岛”联系起来,以便让不同的系统之间交换信息。 根据摩根斯坦利公司对大企业c i o 的调查,在这些主管企业信息化人士所 关心的问题中,如何将众多的企业应用系统集成起来,是他们最为关注的热点。 孤立的信息系统无法有效地提供跨部门、跨系统的综合性的信息,孤立的信 息系统也无法实现实时的信息存取和对业务流程的透视,无法实现对客户、供应 商、项目、订单、资产等的全面掌控,无法实现企业价值链的全面的、彻底的透 视和控制l l 】。同时由于孤立的信息系统之间没有畅通的信息交流和共享,经常出 现信息和数据的更新不同步甚至不一致,从而造成各个部门之间的矛盾【”,给企 业中不同部门的人员在交流时带来很多问题,给客户也经常提供一些前后不一致 的信息,使客户无所适从,严重影响企业的形象和信誉。 在企业信息化建设的过程中,显然重新设计并实现这些孤立的信息系统并使 它们形成一个整体而协同工作并不是一个最好的办法【3 】,存在了如下的弊端: ( 1 ) 需要消耗大量的人力物力重新对企业的各部门的业务流程进行重新调 研: ( 2 ) 耗费大量的时间进行新系统的设计和开发不利于企业在商业竞争中迅 速提高综合竞争力: ( 3 ) 员工需要重新适应新系统的操作规则【3 j ,引入了新的培训和操作成本。 于是,企业从整合自身业务流程、利用现有资源等方面出发,面对应用开发 提出了新的要求,正是在这样一种情况下,企业应用集成( e a i ,e n t e r p r i s e a p p l i c a t i o ni n t e g r a t i o n ) 应运而生。 1 2 企业应用集成的概念及发展历史 1 2 1 e a i 概念 传统的应用系统之间的集成是一种点对点的体系结构【4 】,如图1 2 1 1 所示。 第l 页 烦士论文 基于埘l 的企业应用集成系统的研究与实现 关系 s a p i 双 图1 2 1 1 点到点的集成 点对点的应用系统集成结构的出发点很简单,当两个系统之间需要相互协作 时,为这两个系统开发相应的连接组件( 又称a d a p t o r 或c o n n e c t o r ) 将二者互联, 这种由简单出发的结构存在着严重的隐患:随着应用系统个数的增加,连接组件 的数目将快速增长为( 总数将为n t ( 小1 ) 个连接组件,其中r l 为应用系统的个数) , 而且在不同应用系统之间由于缺乏自动提交请求的机制,必须在相关的连接组件 内部固化请求的提交功能,应用系统之间存在着高度的耦合性,这为系统的维护 带来了巨大的复杂性,任何一个系统的升级或改动都将影响到其它与之相关的应 用系统的修改;同时当个新的应用系统需要纳入整个应用集成体系时整个工作 将变得非常复杂。 点到点的应用集成体系结构的应用环境接口复杂,通信状况混乱,维护代价 昂贵,也不利于整个应用系统的扩充。为了解决传统点到点应用集成中的问题, 许多软件公司提出了新的解决方案企业应用集成e a i 。e a i 的概念就是将企 业内部不同的、相互之间相对独立的软件集成起来。并且在集成过程中应当不影 响应用软件本身 4 1 。如图1 2 1 2 所示。良好的应用集成体系结构应该保证不同应 用系统之间的高度内聚,同时又保持各个应用系统的相对独立性,系统之间存在 着松散的藕合关系,基于a p p l i c a t i o nh u b ( 应用集线器) 的e a i 结构能够满足复 杂的企业应用集成需求和发展的需求。 第2 页 硕士论文 基于x m l 的企业应用集成系统的研究与实现 共最 s p r 段 图1 2 1 2e a i 解决方案 与点对点的应用集成结构相比,在基于应用集线器的e a i 体系结构中,连 接组件的数目很少( 在被集成的应用系统的总数为n 的环境中,每个应用系统只 存在一个对应于应用集线器的连接组件,使得连接组件的总数减少到n 个) :而 且各相互集成的应用系统之间不存在直接的关联,所有的集成工作通过中央的应 用集线器进行,当某应用系统需要与其它的系统集成时该应用程序发请求( 一般 通过消息的方式) 给应用集线器,由应用集线器自动地将该请求转发给相应的目 标系统进行处理后将结果返回给请求者【5 1 。在这种体系结构中,系统的维护非常 简单,每一个应用系统的更新和修改都能够实时地实现,同时当新的应用系统出 现时能够简便的纳入到整个i t 环境当中,与其它的应用系统相互协作,共同为 用户提供服务。 e a i 能够将业务流程、应用软件、硬件和各种标准联合起来,在两个或更多 的企业应用系统之间实现无缝集成,使它们像一个整体一样进行业务处理和信息 共享吼它通过建立底层架构,来联系横贯整个企业的异构系统、应用j 数据源 等。e a i 追求的是一个灵活、标准的企业应用底层架构,以允许新的基于i t 的 应用和商业处理更容易和更有效地被连接。这个架构允许企业中的应用能够实时 的,无缝的互相通信。以保证对供应商、客户做出快速响应,确保在激烈的竞争 中立于不败之地。 第3 页 硕士论文基于x m l 的企业应用集成系统的研究与实现 1 2 2 e a i 的发展历史 在2 0 世纪6 0 年代到7 0 年代期间,企业应用大多是用来替代重复性劳动的 一些简单设计。当时并没有考虑到企业数据的集成,惟一的目标就是用计算机 代替一些孤立的、体力性质的工作环节。 到了2 0 世纪8 0 年代,有些公司开始意识到应用集成的价值和必要性。这是 一个巨大挑战,很多公司的技术人员都试图在企业系统整体概念的指导下对已经 存在的应用进行重新设计,以便让它们集成在一起。然而这种努力收效甚微。 传统的企业由于缺少不同系统相互集成的技术,导致很多关键的信息被封闭 在相互独立的系统中,部门间重复着冗余的工作,这直接导致了企业工作效率的 降低和运营成本的上升。 2 0 世纪9 0 年代,e r p 应用开始流行的时候,同时也要求它们能够支持已经 存在的应用和数据,这就必须引入e a i ”。对e a i 的需求首先来自与企业将它们 的主机系统转换成c s 结构系统的过程中,其次是利用e r p 建立企业骨干信息 系统时。企业迫切需要一种方法,让它们少写程序,无须花巨大的费用,就可以 将各种就的应用系统和新的系统集成起来。其他推动e a i 市场的因素还有供应 链管理( b 2 b 集成) 、基于流程的业务处理以及w e b 应用集成。 随着企业各种应用的迅速增加以及更多地把自己的业务转向电子商务,e a i 方案对企业的重要性也日益显现。越来越多的企业开始采用e a i 解决方案将企 业内部的应用软件与外部客户和供应商的应用软件进行链接,实现数据流和业务 运作的自动化,从而达到业务的实时与快速。 e a i 与电子商务的结合为企业快速实现业务的自动化提供了可靠的保证,呈 现在我们面前的将是一个同时具有数据自动化和业务流程高度可塑的企业管理 框架,从而进一步加快端到端的电子商务应用集成,包括供应链管理、客户关系 管理和e r p 系统相关联的门户网站、前端应用、后端应用等。 3 企业应用集成的分类 企业应用集成可以从广度和深度两个方向来研究。不同的广度和深度,集成 所实现的目标是不同的“。从系统内部的集成,到系统间的集成,到企业间的集 成,集成的难度和能够取得的效益也是不同的。 从集成的广度上来看,从易到难有以下种类的集成: 部门内部的信息系统集成; 部门之间的信息系统集成; 企业级的信息系统集成: 第4 页 i ! i ih 论文 基于x m l 的企业应用集成系统的研究与实现 与有稳定关系的合作伙伴之间的信息系统集成: 与随机遇到的合作伙伴之间的信息系统集成; 从集成的深度上来说,从易到难有以下种类的集成: 数据的集成。该集成主要发生在不同的数据存储上,支持不同数据存储器如 数据库之间的直接数据交换,包括数据的抽取、转换与迁移,通过该模式,将从 一个数据库中提取出来的数据经过必要的处理与修整后,用来更新另外一个数据 库的信息】。此类方法有c l i 、o d b c 和j d b c 等。此类集成因无需修改应用程 序而易于实现,但它的维护昂贵、不适用于b 2 b 集成。为了完成应用系统集成 和业务流程集成,必须首先解决数据和数据库的集成问题。在集成之前,必须首 先对数据进行标识并编成目录,另外还要确定元数据模型【l 】。这三步完成以后, 数据才能在数据库系统中分布和共享。 应用系统的集成。就是应用接口层集成。应用借口是用于获取由一个应用系 统所提供的相关服务的函数。从提供服务的类型不同又可以分类三种形式:业务、 数据及对象,业务服务用于提供一些商务逻辑,如价格计算或者客户信息更新; 数据服务为进行数据库提供一个途径,类似于数据层集成;对象服务则是将业务 和数据二者相结合,即将其合并为一个对象,其优势在于操作的整体性、约束的 完整性等【l 】。应用系统的集成为两个应用中的数据和函数提供接近实时的集成。 不同应用通过交换消息来实现集成。此类集成利用了现有应用的数据转换及合法 性检查从而易于保持数据的完整性 6 l 。但它需要修改现有应用以建立发送和接受 消息的接口。 业务流程的集成。通过建立商业流程来整合现有应用,应用之间的数据交换 仍然通过消息进行,但有一个流程引擎来完成流程的解释执行及消息路由等功 能。此类集成将离散的应用转换成商业流程的粘合系统,灵活性高且适合b 2 b 集 成,但实现难度最大1 2 。当对业务过程进行集成的时候,企业必须在各种业务系 统中定义、授权和管理各种业务信息的交换,以便改进操作、减少成本、提高响 应速度【”。业务过程集成包括业务管理、进程模拟以及综合任务、流程、组织和 进出信息的工作流,还包括业务处理中每一步都需要的工具。 4 课题来源及所做的工作 我国企业信息化经过十几年的努力,已经得到了很大的发展,很多企业已经 拥有了较为完善但又相互独立的应用信息系统。随着技术的进步以及i n t e r n e t 和 电子商务应用的不断深入,企业对信息化应用的要求也在不断提高。为了适应发 展变化的形势,绝大多数企业倾向于采用e a i 技术将不同的应用信息系统集成 起来。因此,e a i 是未来信息技术发展的一个主要方向有着广阔的市场前景。 第5 页 硕士论文基于, 0 1 l 的企业应用集成系统的研究与实现 本课题来源于中关村科技软件股份有限公司的c e n e a i 项目。c e n e a i 系统 是为企业和政府部门开发的应用整合平台。该系统的功能定位为:能够突破横亘 于异构不兼容应用和数据库之间的连接,从而解决目前企业或政府部门在实旆信 息化所面临的“信息孤岛”问题。c e n e a i 系统是可信赖的信息传输交换平台。 本人研究了e a i 系统中相关技术和理论,并参与了系统的设计和实现,负责系 统中流程激活组件和数据处理组件的开发以及o p e n j m s 开源项目与系统的集 成。 1 5 论文的结构 本论文共分六章: 第一章绪论。介绍了本文的课题来源和本文的背景,介绍了本人的主要工 作和论文的组织。 第二章相关理论及关键技术。分析研究了企业应用集成涉及的相关理论与 关键技术。 第三章c e n e a i 系统的总体设计。首先给出种企业应用集成解决方案 c e n e a i 系统的设计思路和总体框架,接着详细阐述了框架中各个组件的设计。 第四章c e n e a i 系统的具体实现。详细论述了c e n e a i 系统中的关键实现技 术。 第五章c e n e a i 系统的应用及展望。设计了一个应用场景,描述c e n e a i 系 统的应用,并介绍了系统的特点和优势。并提出了一种基于系统的数据和服务网 络架构。 第六章结束语。对本文进行了总结,论述了本文解决的问题和今后需要做 的工作。 硕士论文 基于x m l 的企业应用集成系统的研究与实现 2 相关理论及关键技术 2 1 中间件技术研究 2 1 1 中间件的基本概念 中间件是在计算机硬件和操作系统之上,支持应用软件开发和运行的系统软 件,它能够使应用软件相对独立于计算机硬件和操作系统平台,为大型分布式应 用搭起了一个标准的平台,把大型企业分散的系统和技术组合在一起,实现大型 企业应用软件系统的集成【7 】。中间件目前还没有一个明确的定义,通常的定义为: 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同 的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源 和网络通讯。从中间件的定义可以看出,中间件是一类软件,而非一种软件;中 间件不仅仅实现互连,还要实现应用之间的互操作,并具有强大的网络通讯功能。 中间件具有标准的程序接口和协议,可以实现不同硬件和操作系统平台上的 数据共享和应用互操作。在具体实现上,中间件是一个用a p i 定义的分布式软件 管理框架,具有强大的通信能力和良好的可扩展性。 从理论上讲,中间件有以下的工作机制:客户端上的应用程序需要从网络中 的某个地方获取一定的数据或服务,这些数据或服务可能处于一个运行着不同操 作系统和特定查询语言数据库的服务器中【”。而c s 应用程序中负责寻找数据的 部分只需访问一个中间件系统,由中间件完成到网络中找到数据源或服务,进而 传输客户请求、重组答复信息,最后将结果送回应用程序的任务。 作为一个中间件【7 】,应该满足以下四点: 首先,用户需要一个公共的应用通信与数据接口层,使任何人都能够通过它 无缝连入应用开发环境中,也就是说,应用程序可以很容易地定位和共享应用逻 辑和数据。 其次,中间件应该是可靠的,它需要提供接管和恢复功能,保证事务及关键 性业务不被丢失。 第三,中间件应能和同构或异构环境下的多种数据源通信,同时,应该能够 管理数据间的公共逻辑约束。 第四,中间件应该易于使用,将用户从复杂的平台、网络、数据库选择中解 放出来。 第7 页 硕士论文基于x m l 的企业应用集成系统的研究与实现 2 1 2 中间件的分类 中间件的产品种类很多问】,根据中间件在系统中所起的作用和采用的技术不 同,大致划分为以下五种: 数据库中间件( d m ,d a t a b a s em i d d l e w a r e ) 数据库中间件在所有的中间件中是应用最广泛,技术最成熟的一种。一个最 典型的例子就是o d b c ,o d b c 是一种基于数据库的中间件标准1 7 】。不过在数据 库中间件处理模型中,数据库是信息存贮的核心单元,中间件完成通信的功能, 这种方式虽然是灵活的,但是并不适合于一些要求高性能处理的场合,因为它需 要大量的数据通信,而且当网络发生故障时,系统将不能正常工作。所谓有得必 有失,就是这个道理,系统的灵活性提高是以处理性能的降低为代价的。 远程过程调用中间件( r _ p c ,r e m o t ep r o c e d u r ec a l l ) 远程过程调用是另外一种形式的中间件,它在客户服务器计算方面,比数 据库中间件又迈进了一步【7 】。它已经存在了相当长的时间,而且沿用了大多数程 序员都非常熟悉的编程模式程序员就像调用本地过程一样在程序中调用远 程过程。启动远程过程的运行,然后将运行结果返回给本地程序。不但如此,远 过程调用还可以将程序的控制传递到远端的服务器当中去。 r p c 的灵活特性使得它有比数据库中间件更广泛的应用,它可以应用在更 复杂的客户服务器计算环境中。远过程调用的灵活性还体现在它的跨平台性上 面,它不仅可以调用远端的子程序,而且这种调用是可以跨不同操作系统平台的, 面程序员在编程时并不需要考虑这些细节。 i 冲c 也有一些缺点,主要是因为r p c 一般用于应用程序之间的通信,而且 采用的是同步通信方式,因此对于比较小型的简单应用还是比较适合的,因为这 些应用通常不要求异步通信方式。但是对于一些大型的应用,这种方式就不是很 适合了,因为此时程序员需要考虑网络或者系统故障,处理并发操作、缓冲、流 量控制以及进程同步等一系列复杂问题。 面向消息中间件( m o m ,m e s s a g e o f f e r e dm i d d l e w a r e ) 消息中间件的优点在于能够在客户和服务器之间提供同步和异步的连接,并 且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用更 进一步的原因【8 】。另外消息中间件不会占用大量的网络带宽,可以跟踪事务,并 且通过将事务存储到磁盘上实现网络故障时系统的恢复。当然和远程过程调用相 比,消息中间件不支持程序控制的传递,不过这种功能和它的优势比起来却是无 关紧要的。 消息中间件适用于需要在多个进程之间进行可靠的数据传送的分布式环境。 第8 页 硕士论文 基于x m l 的企业应用集成系统的研究与实现 基于对象请求代理( o r b ,o b j e c tr e q u e s tb r o k e r ) 的中间件 对象请求代理是近年来才发展起来的一项新技术,它可以看作和编程语言无 关的面向对象的r p c 应用,被视为从面向对象过渡到分布式计算的强大推动力 量。从管理和封装的模式上看【刀,对象请求代理和远程调用有些类似,不过对象 请求代理可以包含比远程过程调用和消息中间件更复杂的信息,并且可以适用于 非结构化的或者非关系型的数据。 目前有两种对象请求代理的标准,分别是c 0 砌j a 和d c o m ,这两种标准 是相互竞争的,而且两者之间有很大的区别,这在定程度上阻碍了对象请求代 理中间件的标准化进程。 事务处理中间件( t p m ,t r a n s a c t i o np r o c e s s i n gm o n i t o r ) 事务处理中间件是一种复杂的中间件产品,是针对复杂环境下分布式应用的 速度和可靠性要求而实现的【_ ”。它给程序员提供了一个事务处理的a p i ,程序员 可以使用这个程序接口编写高速而且可靠的分布式应用程序基于事务处理 的应用程序。 事务处理中间件向用户提供一系列的服务,如应用管理、管理控制、以及应 用程序间的消息传递等。常见的功能包括全局事务协调、事务的分布式两段提交、 资源管理器支持、故障恢复、高可靠性、网络负载平衡等等。 2 1 3 m o m 中间件研究 基于消息的中间件( m o m ) 提供了一个完整的处理环境,允许开发者及用户 连接不同系统之间的数据和代码,或采用一致的界面进行应用处理的互连例。 m o m 提供了一个高层应用接口,为不同系统提供操作核心。 m o m 的工作主要是通过将信息以消息的方式在程序间传递来完成。一般可 以分为两种形式:消息传递( m e s s a g ep a s s i n g ) 和消息队列( m e s s a g eq u e u i n g ) 。消 息传递在建立大型的分布式应用中比较常见。其主要的模式是广播订购 ( p u b l i s h s u b s c r i b e ) 方式。采用该方式,应用程序既可以订购,也可以广播。广 播订购通信模型提供了位置透明性。程序只需简单地将消息以主题方式发送出 去,由中间件来负责将消息传递给所有订购该主题的程序。 m o m 主要通过a g e n t s 技术来实现广播订购方式应用。当程序广播消息时, 首先与一个代理进行连接,之后将消息传递给代理,代理负责路由消息给相应的 程序。由于代理可以实现消息的动态路由功能,因此,广播订购方式能够提供 较好的容错功能【1 0 】。它比较适合于对容错性和可靠性要求较高的分布式应用。但 它缺乏m o m 的异步特性,不太适合长时间网络断开的情况。 第9 页 硕士论文 基于x m l 的企业应用集成系统的研究与实现 消息队列方式在程序间的通信中一般要借助于队列来实现。它允许程序无需 直接建立起连接即可发送和接收消息。使用消息队列方式,程序只需简单地将消 息发送给消息队列,由消息队列负责消息的传递,对应用程序完全透明。消息队 列可以认为是p u l l 技术,程序从消息队列中提取消息。在大型企业级应用中,消 息还可以从一个队列转发到另一个消息队列中。 消息队列采用异步方式,为信息提供了一个安全的存储方式,特别适用于不 是直接连接的应用,如手机短信用户,发送方和接收方进程可能处于不活动状态 的应用。 m e s s a g e 队列方式的缺点是需要一些配置工作,性能不是很高,而且如果队 列丢失,整个系统将受到影响。m o m 提供同步和异步两种方式访问功能,它的 异步访问方式更加常用【9 j 。它将请求保存在队列中,并在应用可用时将请求传递 给它f 1 。m o m 不仅仅用来传递消息,还可以实现如下功能:数据格式翻译、安 全性、数据广播、错误恢复、在网络中定位资源、基于成本的路由功能、消息及 请求优先级设定和扩展的调试功能。 典型的m o m 应用包括任何客户机服务器应用或i n t e m e t 应用,需要访问大 量的同构或异构应用。客户可以通过m o m 的a p i 将消息传递给服务器。 m o m 可以克服基于r p c 的中间件的限制,可以提供基于消息的异步通信 机制,因此,m o m 的a p i 调用不会阻塞应用程序。同时,m o m 不会占用大量 的网络带宽,可以跟踪事务,通过将事务存储在磁盘上,可以恢复系统及网络 故障。 但目前m o m 也存在以下一些问题:需要开发者学习新的m o m 的a p i 编程: 缺乏流行的开发工具的支持:如果使用传统的客户机f l a 务器开发工具集成 m o m ,必须使用m o m 厂商提供的d l l 、a c t i v ex 控件或同工具类库相集成i l o 】。尽 管m o m a f m e s s a g e o r i e n t e dm i d d l e w a r ea s s o c i a t i o n ) 组织正在进行m e t al e v e l 的 互操作标准化工作,但有关m o m 的标准还未形成。 2 2 x m l 技术研究 2 2 1x m l 技术特点 ( 1 ) x m l 语言特性 可扩展性:x m l 在两个意义上是可以扩展的。首先,它允许开发者创建 他们自己的d t d ( 文档类型定义) 和s c h e m a ( 模式) ,有效地创建可被用于多种应 用的可扩展标志集。其次,使用几个附加的标准。开发者可以对x m l 进行扩展, 这些附加标准可以向核心的x m l 功能模块集增加样式、链接和参照能力。企业 第1 0 页 硕士论文 基于x m l 的企业应用集成系统的研究与实现 可以用x m l 为电子商务和供应链集成等应用定义自己的标记语言,作为该领域 信息共享和数据交换的基础。 互操作性;x m l 可以在多种平台上使用,而且可以用多种工具进行解释。 因为文档的结构是相容的,所以解释它们的语法分析器费用较低。x m l 支持用 于字符编码的许多主要标准【】,允许它在全世界许多不同的计算环境中使用。 开放性:x m l 标准本身在w e b 上是完全开放的,可以免费获得。其文档自 己也较为开放,任何人都可以对一个结构良好的x m l 文档进行语法分析,如果 提供了d t d 和s c h e m a ,则还可以校验这个文档。 灵活性:x m l 提供了一种结构化的数据表示方式,使得用户界面和结构化 数据分离。在x m l 中可以使用样式表,另外,x m l 文档事件的超链接功能由 独立的x l i n k 来支持。 自描述性:x m l 文档通常包括一个文档类型声明,因而x m l 文档是自描 述的【l ”。x m l 文档中的数据可以被任何能够对x m l 数据进行解析的应用所提 取、分析和处理,并以所需的格式显示。x m l 表示数据的方式,真正做到了独 立于应用系统,并且这些数据能够被重用。 简单性:与s g m l ( 标准通用标志语言) 相比,x m l 简单、易学、易用且易 实现。此外,x m l 采用u n i c o d e 字符编码系统,从而支持几乎所有主要语言, 并且不同语言的文本可以在同一文档中混合使用,支持l 的软件能处理所有 这些语言的任何组合。因此x m l 使得信息交换可以跨越民族和文化的界限。 ( 2 ) x m l 适用于企业应用集成的技术特性 异构应用之间数据通信:x m l 使用的是公开、非专有的格式,允许企业各 应用以及各个企业方便的为自己创建特定的标志,用以描述其各自特殊的应用需 求【1 引。x m l 的开放性和自描述性决定了它可以成为异构应用之间进行数据通信 的媒介,各系统应用只要装x m l 解析工具,便可理解x m l 为中介由其它系统 应用传送的消息并加以利用,而不必考虑对方的信息格式和使用特殊的软件,从 而完成跨平台的交流。 异构数据库之间数据集成:企业数据库发展速度惊人,而这些数据库是不兼 容的、复杂的。而x m l 能够将不同来源的结构化的数据结合在一起,通过中间 层的服务器上对后端数据库和其他应用处得来的数据进行集成,在论文的后续章 节中将有详细介绍。 2 2 2 x m l 的相关标准 x m l 名称空间( n a m e s p a c e ) :用于在一个全局命名系统中对元素进行定位。 第1 1 页 硕士论文 基于x m l 的企业应用集成系统的研究与实现 x m l 是可扩展的,但是,如果使用不当,可扩展性会带来一系列问题。因为x m l 允许用户进行自由地定义标志,这样同一个标志也许就有了不同的含义【坨】。从而 为了识别x m l 元素,必须声明名称空间,这个声明将统一资源标识符( u n i f o r m r e s o u r c ei d e n t i f i e r ,u i u ) 跟前缀联系起来,并把该前缀放在元素前面进行元素 的识别。 样式表:x m l 受到两种样式表支持:可扩展样式语言( e x t e n s i b l es t y l e s h e e t l a n g u a g e ,x s l ) 和层叠样式表( c a s c a d i n gs t y l es h e e t s ,c s s ) 。c s s 是一种比 较成熟的方案,工作原理是如何直接将x m l 文档以h t m l 的形式显剥1 7 l 。x s l 是 功能更强大的工具,它有两部分组成:x s l 转换( x s l t r a n s f o r m a t i o n x s l t ) 和 格式化对象( f o r m a t t i n go b j e c t ,f o ) 。x s l t 是专门用来转换x m l 文档的语言, 用它把x m l 文档转换为h t m l 或者x m l 。f o 可以用来把x m l 文档转换为 p d f ( p o r t a b l ed o c u m e n tf o r m a t ,可移植文档格式) 。两部分可以结合使用。 d o m 和s a x :d o m ( d o c u m e n to b j e c tm o d e l ,文档对象模型) 和s a x ( s i m p l e a p if o rx m l ,x m l 简单a p i ) 是用来访问x m l 文档的a p i 。d o m 是基于对象 的接口,通过在内存中建立对象树和应用程序交互,比较消耗内存,适合于密集 型应用【1 3 1 。s a x 是基于事件的接口,要求解析器向应用程序发送事件,消耗资 源更少,效率比较高,适用于对x m l 文档进行较少操作的情况。 d t d 和x m ls c h e m a :d t d ( d o c u m e n tt y p ed e f i n i t i o n ,文档类型定义) 和 x m ls c h e m a ( x m l 模式) 用来验证x m l 文档的合法性【1 4 】。d t d 比较成熟,但 没有数据类型的概念、不支持命名空间、不支持继承和子类等面向对象的技术、 不是x m l 语言写成,需要额外分析器,不适合数据交换和应用集成。因此w 3 c 开发了x m ls c h e m a ,它使用x m l 语法,并专门为了x m l 文档编写。适合数 据交换和企业应用集成。 x l l :x l l ( e x t e n s i b l el i n kl a n g u a g e ,可扩展链接语言) 包括x 1 i n k ( x m l l i n kl a n g u a g e ,x m l 链接语言) 和x p o i n t e r ( x m lp o i n t e rl a n g u a g e ,x m l 指针 语言) 。该标准用于提供一种在文档间建立关联和超链接的机制,它们都是x m l 语法写成。其中x l i n k 定义了一个文档如何与另一文档相关联,x p o i n t e r 定义了 文档的各部分如何寻址。 2 2 3 x m l 在e a i 中的应用 x m l 语言的强大功能使它可以很方便地对各种类型的应用进行集成。这是 因为它提供了一个坚固的、能够被人们所理解的信息交换标准,而且是一个一致 的标准。它支持应用语义和应用内容的交换,在应用相互之间没有任何了解的情 况下,提供了一种应用级的企业信息产生和共享机制。如图2 3 2 1 所示。 第1 2 页 硕= l 论文基于x m l 的企业应用集成系统的研究与实现 l x m l l 图2 3 2 1 基于x m l 的集成机制 x m l 是信息交换机制发展的推动力,在企业应用集成领域,x m l 更是发挥 了巨大的推动作用【”1 。基于x m l 的信息传输和交换有两种方案。第一种方案通 过服务器b i z t a l k 进行信息的处理,b i z t a l k 的主要功能在于能够帮助企业系统内 的各种软件相互进行对话。其关键步骤如下:当文档发送到b i z t a l k 时,b i z t a l k 首先从消息处理模块接受文档,在这个模块中对文档进行格式的转换,根据输入 输出文档的s c h e m a 定义把文档转换成x m l 格式的文档,或者把企业外部的 x m l 数据转换成本企业内部的x m l 数据。把转换后的x m l 数据发送到不同的 目的地或者企业的业务处理模块,由企业的业务处理模块协同企业内部各应用系 统使用并调用c o m d c o m 服务来完成数据的处理。这种方案的缺点如下: ( 1 ) 这是一种纯的x m l 解决方案,而x m l 技术有待进一步发展。 ( 2 ) 目前各行业的x m l s c h e m a 标准还不完善。 ( 3 ) 这种模式还处于初级阶段,有待在具体应用中进一步发展。 第二种方案是通过s o a p 协议进行信息的处理的,x m l 仅仅起到中间的数 据表示与消息传输的作用【旧。即企业内部各个模块可以在不同的平台上采用不同 的语言与工具开发,利用x m l 封装各个模块与内部的接1 2 1 。外部系统把自己所 需要调用的方法以及方法的参数,通过x m l 进行封装,并采用h t t pp o s t 的 方法传送给远程服务器。即利用s o a p 协议访问远程对象,实现数据的共享。这 种方案的优点在于: ( 1 )调用的方法名与参数使用基于x m l 的编码方式,利用了x m l 在数 据交换中的强大能力。 ( 2 )其传输的协议采用h t t p 协议,可以穿越防火墙的限制。 ( 3 )提供了一种松耦合的远程方法调用方式。 在实际的数据交换传输中,第二种方案更加有利。有利于重用企业原有的各 个内部分系统,保护原有投资,这正符合了设计e a i 方案的初衷。 数据级e a i 集成是其他上层层次集成的基础,也是真正意义上应用整合的 前提1 17 1 。数据集成就是共享或者合并来自两个或者更多应用的数据集合,创建一 第1 3 页 坝十论义基于x m l 的企业应用集成系统的研究与实现 个具有更多功能的企业应用的过程。 换方面有独特的优势,它是开放的、 基于以上研究表明,x m l 在数据传输和交 公众化的、普适的、廉价的。 2 3 w e bs e r v i c e s 技术研究 2 3 1 w e bs e r v i c e s 概述 w e bs e r v i c e s 是近两年提出的一种新的面向服务的体系结构,其中定义了一 组标准协议【1 8 】,用于接口定义、方法调用、基于i n t e m e t 的构件注册以及各种应 用的实现。同传统的分布式模型相比,w e bs e r v i c e s 体系的主要优势在于:( 1 ) 协议的通用性。w e bs e r v i c e s 利用标准的i n t e r n e t 协议( 如h r r p 、s m t p 等) , 解决的是面向w e b 的分布式计算;而c o r b a 、d c o m 、r v i i 使用私有的协议, 只能解决企业内部的对等实体间的分布式计算。( 2 ) 完全的平台、语言独立性。 w e bs e r v i c e s 进行了更高程度的抽象,只要遵守w e bs e r v i c e s 的接口即可进行服 务的请求与调用。而c o r b a 、d c o m 、r v i i 等模型要求在对等体系结构间才能 进行通信。如c o r b a 需要每个连接点都使用o r b ( o b j e c tr e q u e s tb r o k e r ,对象 请求代理) ,d c o m 需要每个连接点都使用w i n d o w s 平台,r m i 需要每个连接点 都使用j a v a ,否则双方是不能通信的。 在电子商务市场中,要求所有的参与者都采用同一个基于某种语言和平台的 模型是不现实的。而w e bs e r v i c e s 结合了面向组件方法和w e b 技术的优势,利 用标准网络协议和x i v i l 数据格式进行通信,具有良好的普适性和灵活性,在 i n t e r n e t 这个巨大的虚拟计算环境中,任何支持这些标准的系统都可以被动态定 位以及与网络上的其它w e bs e r v i c e s 交互,任何客户都可以调用任何服务而无论 它们处在何处,突破了传统的分布式计算模型在通信、应用范围等方面的限制, 允许企业和个人快速、廉价建立和部署全球性应用。 2 3 2 w e bs e r v i c e s 体系结构 w e bs e r v i c e s 是一种能够被描述并通过网络发布、发现和调用的自包含、自 描述、松散耦合的软构件。w e bs e r v i c e s 体系结构如图2 3 2 1 所示。所有的应用 实体都被抽象成服务。其中包括三个实体和三种操作【l8 j 。( 1 ) 服务提供者( s e r v i c e p r o v i d e r ) 。从商务角度看它是指服务的所有者,从体系结构上看它是指提供服务 的平台。( 2 ) 服务请求者( s e r v i c er e q u e s t e r ) 。从商务角度看它是指需要请求特定 功能的企业,从体系结构上看它是指查找和调用服务的客户端应用程序。( 3 ) 服 务代n ( s e r v i c eb r o k e r ) 。它是指用来存储服务描述信息的信息库( r e p o s i t o r y ) 。服 第1 4 页 硕士论文 基于x m l 的企业应用集成系统的研究与实现 务提供方在这里发布他们的服务:服务请求方在这里查找服务,获取服务的绑定 信息。 图2 3 2 1w e bs e r v i c e s 体系结构 与w e bs e r v i c e s 有关的操作主要有以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医疗器械基础知识培训考核试题及答案(完整详细版)
- 2025年药房岗前培训试题及答案
- 2025年辐射医学科影像学解读模拟测试卷答案及解析
- 2025年医疗事故处理应急演练模拟卷答案及解析
- 防疫技能培训试题及答案
- 2025年康复科康复技术应用测评答案及解析
- 2025年儿科常见传染病诊断处理能力评估答案及解析
- 关于移动应用软件服务合作的合同说明
- 2025年神经科帕金森病早期症状辨识模拟测试答案及解析
- 2025年口腔医学根管治疗手术注意事项考试答案及解析
- 2025年全国“质量月”企业员工全面质量管理知识答题(含答案)
- GB/T 13576.4-1992锯齿形(3°、30°)螺纹公差
- GA 668-2006警用防暴车通用技术条件
- 《C语言程序设计》一等奖说课稿
- 油画综合材料与技法
- 血浆置换 (1)课件
- 保洁常用工具和设备一览表
- 测量教案5章-es-602g全站仪
- FJC系列浮选机说明书(最终版)2010100712
- 某项目工程应急处置预案工程施工组织设计方案
- 通信系统原理概述
评论
0/150
提交评论