(管理科学与工程专业论文)中间件技术在web企业信息系统中的研究与应用.pdf_第1页
(管理科学与工程专业论文)中间件技术在web企业信息系统中的研究与应用.pdf_第2页
(管理科学与工程专业论文)中间件技术在web企业信息系统中的研究与应用.pdf_第3页
(管理科学与工程专业论文)中间件技术在web企业信息系统中的研究与应用.pdf_第4页
(管理科学与工程专业论文)中间件技术在web企业信息系统中的研究与应用.pdf_第5页
已阅读5页,还剩71页未读 继续免费阅读

(管理科学与工程专业论文)中间件技术在web企业信息系统中的研究与应用.pdf.pdf 免费下载

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

文档简介

摘要 近年来,踟v 的发展非常迅速。中间件为w e b 提供了信息交互和事务处理 的功能,是w w w 技术的关键。随着w w w 应用的日益发展,企业需要一个从工业 化标准的协议到流行的集成化环境,再到保证不同类型数据源能够在两个阶段 顺利连接的强壮的体系框架。本文从应用系统体系结构的发展谈起,针对中间 件技术在w e b 企业信息系统中的应用进行了比较深入的研究,所做的工作主要 包括以下几个方面: 1 介绍了中间件的概念、特点、分类及国内外中间件技术的研究现状。回 顾了应用系统由两层客户机一服务器体系结构转向三层客户机一服务器体 系结构的发展历程并对两种结构进行比较。深入分析了中间件技术在三 层结构中的应用,提出了本文的研究方向和重点。 2 对当前流行的e j b 、c o m d c o m c o m + 、c o r b a 对象技术逐一加以介绍,并 将三者进行比较,指出与语言和平台无关的c o r b a 提供了最大的灵活性 和通用性。对c o r b a 规范及c o r b a 在多层分布式系统中的工作机制作了 详细的分析研究,从理论上验证了c o r b a 的跨平台性为面向对象的程序 设计带来了方便。 3 探讨运用j a v a 和c o r b a 两种技术构建w e b 中间件系统的可行性及方 案,给出了基于j a v a 和c o r b a 的o b j e c tw e b 框架体系。利用u m l 的面 向对象建模技术协助进行c o r b a 应用系统的分析与设计并总结出u m l 建 模的基本步骤。 4 最后,本文利用c o r b a 技术研制了一个电子银行系统,并结合该系统的 开发过程,详细介绍了构建j a v a c o r b a 中间件应用系统的思想、方法 和步骤。 关键词:w o r l dw i d ew e b ,中间件技术,三层客户机一服务器结构 c o r b a ,j a v a ,u m l a b s t r a c t i nr e c e n ty e a r s t h e r w ,h a sb e e nd e v e l o p e dv e r yq u i c k l y t l cw e b b a s e d m i d d l e w a r e ,w h i c hp r o v i d e st h ef u n c t i o n a l i t yo f i n f o r m a t i o n e x c h a n g e a n dt r a n s a c t i o n h a n d l i n g ,i st h ek e yo fw w wt e c h n o l o g y w i t l lt h ed e v e l o p m e n to fw w w ,t h e e n t e r p r i s e sn e e das y s t e m a t i ca r c h i t e c t u r e ,w h i c hc a r l b ef r o mi n d u s t r y - s t a n d a r d p r o t o c o l s ,t oi n t e g r a t i o nw i 也p o p u l a ri d e s ,t oar o b u s tf r a m e w o r kf o rs e c u r et w o - p h a s ec o m m i t a c r o s sh e t e r o g e n e o u sd a t as o u r c e s i nt h i sd i s s e r t a t i o n ,t h er e s e a r c ha n d a p p l i c a t i o no f m i d d l e w a r et e c h n o l o g yi nw e b b a s e de n t e r p r i s ei n f o r m a t i o ns y s t e ma r e i n v e s t i g a t e ds y s t e m a t i c a l l y 1 1 1 em a i n c o n t e n t ss t u d i e da r ea sf o l l o w s : 1 w ei n t r o d u c et h ec o n c e p t i o n ,c h a r a c t e r s ,c l a s s i f i c a t i o na n dt h er e s e a r c ho f m i d d l e w a r e t e c h n o l o g y i nt h ew o r l d t h e n ,w er e v i e wt h e p r o c e s s o f a p p l i c a t i o ns y s t e m f r o m2 - t i e rc l i e n t s e r v e ra r c h i t e c t u r et o3 - t i e r c l i e n t s e r v e ra r c h i t e c t u r ea n dc o m p a r et h e m w ea l s oa n a l y z et h ea p p l i c a t i o n o fm i d d l e w a r et e c h n o l o g yi n3 - t i e rc l i e n t s e r v e ra r c h i t e c t u r e ,t h e n ,p r e s e n t t h er e s e a r c hc o n t e n t so f t h ed i s s e r t a t i o n 2 w ei n t r o d u c ep o p u l a ro b j e c tt e c h n o l o g i e ss u c ha se j b ,c o m d c o m c 0 m + , a n d c o r b a ,t h e n ,c o m p a r et h e m w eg e n e r a l i z e t h a tc o r b ah a sn o r e l a t i o nt ot h el a n g u a g ea n dp l a t f o r ma n di st h em o s tf l e x i b l ea n du t i l i z a b l e i nt h ed i s s e r t a t i o nc o r b aa n di t sw o r kp a t t e r n si nm u l t i - t i e rd i s t r i b u t e d s y s t e m a r ei n v e s t i g a t e di nd e t a i l i ti sp r o v e dt h a tc o r b ai sb e n e f i tt o o r i e n t a lo b j e c ta p p l i c a t i o ni nt h e o r y 3 w ed e e d l y e x p l o r e t h e f e a s i b i l i t y a n ds c h e m eo fb u i l d i n gw e b - b a s e d m i d d l e w a r es y s t e mb yj a v a c o r b a t h e nw ed e m o n s t r a t et h eo b j e c tw c b a r c h i t e c t u r eb a s e do nj a v “c o r b a u m li su s e dt oi n v e s t i g a t ea n dd e s i g n c o r b a a n dw e g e n e r a l i z et h ep r i m es t e p so f o r i e n t a lo b j e c tm o d e lb yu m l 4 i nt h ee n d ,w ed e v e l o p e da l leb a n ks y s t e mw i t hj a v a c o r b at e c h n o l o g y w i t hd e v e l o p i n gt h i ss y s t e m ,w ei n t r o d u c et h et h o u - g h t s ,m e t h o d sa n ds t e p s o f c o n s t r u c t i n ga j a v a c o r b a m i d d l e w a r ea p p l i c a t i o ns y s t e mi nd e t a i l k e y w o r d s :w o r l dw i d ew e b ,m i d d l e w a r et e c h n o l o g y ,t h r e e - t i e r c l i e n t s e r v e ra r c h i t e c t u r e ,c o r b a ,j a v a ,u m l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得鑫盗盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:签字日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解墨盗盘茎有关保留、使用学位论文的规定。 特授权墨鲞盘鲎可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名 导师签名: 签字同期:年 月 日签字同期: 年月 日 第一章绪论 绪论 第一节中间件概述 计算机技术和网络技术的不断发展使得客户机一服务器体系结构得到蓬勃发 展,但是随着应用水平的不断提高以及企业应用的不断扩大,构建在两层客户 机一服务器之上的计算机应用系统的局限性就愈发地暴露出来。而且在分布式计 算模式环境中,无论是硬件平台还是软件平台都不可能做到统一。而大规模的 应用软件通常要求在软硬件各不相同的分布式网络上运行。所以为了克服这种 局限性、更好地开发和应用能够运行在这种异构平台上的软件,迫切需要一种 基于标准的、独立于计算机硬件以及操作系统的开发和运行环境,中间件技术 就此应运而生。 1 1 1 中间件的概念 中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提 供的基础服务( 功能) ,衔接网络上应用系统的各个部分或不同的应用,能够 达到资源共享、功能共享的目的。目前,它并没有很严格的定义,但是普遍接 受i d c 的定义:中间件是一种独立的系统软件或服务程序,分布式应用软件借 助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统 之上,管理计算资源和网络通信。从这个意义上可以用一个等式来表示中间 件:中间件= 平台+ 通信,这也就限定了只有用于分布式系统中才能叫中间 件,同时也把它与支撑软件和实用软件区分开来。一般认为,中间件必须具有 以下特点: 1 ) 标准的协议和接口。 2 ) 分布计算,提供网络、硬件、操作系统透明性。 3 ) 满足大量应用的需要。 4 ) 能运行于多种硬件和操作系统平台。 其中具有标准的接口和协议非常重要,因为它可以实现不同硬件和操作系 统平台上的数据共享和应用互操作。 从理论上讲,中间件有以下的工作机制:在客户端上的应用程序需要从网 络中的某个地方获取一定的数据或服务,这些数据或服务可能处于一个运行着 不同操作系统和特定查询语言数据库的服务器中。客户服务器应用程序中负责 第一章绪论 寻找数据的部分只需访问一个中间件系统,由中间件完成到网络中找到数据源 或服务,进而传输客户请求、重组答复信息,最后将结果送回应用程序的任 务。 在具体实现上,中间件是一个用a p i 定义的软件层,具有强大的通信能力 和良好的可扩展性的分布式软件管理框架。 1 1 2 中问件的作用和特点 中间件的作用简单来说就是试图通过屏蔽各种复杂的技术细节使技术问题 简单化。具体地说,中间件屏蔽了底层操作系统的复杂性,使程序开发人员面 对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己 的业务上,不必再为程序在不同系统软件上的移植而重复工作,从而大大减少 了技术上的负担。所以说中间件带给应用系统的。不只是开发的简便、开发周 期的缩短,同时也减少了系统的维护、运行和管理的工作量,还减少了计算机 总体费用的投入。其次,中间件作为新层次的基础软件,其重要作用是将不同 时期、在不同操作系统上开发的应用软件集成起来,彼此像一个天衣无缝的整 体协调工作,这是操作系统、数据库管理系统本身做不了的。 中间件是位于硬件、操作系统平台和应用程序之间的通用服务系统,具有 标准的程序接口和协议,可实现不同硬件和操作系统平台上的数据共享和应用 互操作。中间件应具有以下的特点: 首先,由于中间件是用来解决应用之间的互连性,所以它必须提供一个公 共的应用通讯机制和数据接口。通讯机制用来屏蔽各类通讯协议之间的差异, 完成通讯协议间尽可能地完全映射,同时用来控制数据传输过程中的流量、加 密方法、并发冲突等问题。数据接口用来实现异构、分布式环境中数据的共 享,从而做至q 对苏位置与平台无关性。 第二,中间件应具有可靠性保证。不同应用之间的通讯,即客户方和服务 器方的请求和应答过程需要通过中间件才能正确完成,中间件必须提供接管和 恢复事务的功能,确保关键性事务不被丢失。 第三,效率保证。中间件的工作流程是;当客户端的应用程序需要调用网 络上某个服务器的数据或服务时,中问件系统接收客户端的请求,由此查找数 据源或服务,建立相应服务或数据同相应服务器之间的对应关系。并在发送应 用程序请求后重新打包响应,将其传送回客户机中的应用程序。客户和服务器 的角色是相对而言的,发出请求的就是客户方,服务或数据的提供者就是服务 器。在不同的调用中,客户和服务器的角色可以互换。这样,由于实现了客户 2 第一章绪论 和服务器透明性面增加的请求响应时间则必须由中间件的工作效率来尽量缩 短。因此中问件提供的对服务或数据的查询效率是至关重要的。 1 t 3 中间件的分类 中问件按照其会话方式可分为同步会话和异步会话两种。 同步会话是指:客户方向服务方发出请求后,等待服务方返回的结果,在 收到服务方的处理结果前不做其它处理。在这种方式下,客户方在等待服务方 的处理结果时,可以结合“超时”概念,在规定时限内,如果客户方还未收到 服务方的处理结果,则本次请求失败。 同步方式可能因为拥挤的网络环境造成灾难。当客户方超时时问到了,却 未收到服务方的应答时,客户方本次请求失败,它会去重新发起请求。这样会 造成恶性循环,大大降低网络上的处理效率。 异步会话是指:客户方在等待服务方的处理结果时可以去完成其它任务。 在异步方式下,当一个节点向另外一个节点发出消息后,不等待应答。因 而一一个消息发送完成后,发送方就可以去处理其它事情。但不幸的是,发送方 同样也可以发送新的消息,因而同样会造成网络拥塞。 目村,针对不同的应用涌现出各具特色的中间件产品。从不同的角度和层 次对中间件有不同的分类。根据中间件在系统中所起的作用和采用的技术不 同,可以把中间件大致划分为以下几种: 一、数据访问中间件( d a t aa c c e s s m id d i e w a r e ) 在分柿式系统中,重要的数据都集中存放在数据服务器中,它们可以是关 系型、复合文档型、具有各种存放格式的多媒体型,或者是经过加密或压缩存 放的,数据访问中间件是在这种系统中建立数据应用资源互操作的模式,实现 异构环境f 的数据库联接或文件系统联接的中间件,从而为在网络上虚拟缓冲 存取、格式转换、解压等带来方便。数据访问中间件在所有的中问件中是应用 最广泛、技术最成熟的一种。一个最典型的例子就是o d b c ,o d b c 是一种基于数 据库的中日j 件标准,它允许应用程序和本地或者异地的数据库进行通信,并提 供了系列的应用程序接口a p i ,当然,在多数情况下这些a p 都是隐藏在j : 发工具中,不被程序员直接使用。不过在数据访问中问件处理模型中,数据库 是信息存贮的核心单元,中间件完成通信的功能,这种方式虽然是灵活的,但 是并不适合于一些要求高性能处理的场合,因为它需要大量的数据通信,而f i 当网络发生故障时,系统将不能正常工作。 二、远程过程调用中间件( r p c ) 第一章绪论 远程过程调用是另外一种形式的中间件,它在客户服务器计算方面,比数 据库中可件又迈进了一步。通过这种远程过程调用机制,程序员编写客户方的 应t 【 j ,需要时可以调用位f 远端服务器h 的过程。它的工作方式如卜:当个 应用程序a 需要与远程的另一个应用程序b 交换信息或要求b 提供协助时,a 在本地产生一个请求,通过通讯链路通知b 接收信息或提供相应的服务,b 完 成相关处理后将信息或结果返回给a 。r p c 的灵活特性使得它有比数据库中剧件 更广泛的应用,它可以应用在更复杂的客户服务器计算环境中。远程过程调用 的灵活性还体现在它的跨平台性方面,它不仅可以调用远端的子程序,而且这 种调用是可以跨不同操作系统平台的,而程序员在编程时并不需要考虑这些细 节。 r p c 也有一些缺点,主要是因为r p c 一般用于应用程序之间的通信,而且 采用的是同步通信方式,因此对于比较小型的简单应用还是比较适合的,因为 这些应用通常不要求异步通信方式。但是对于一些大型的应用,这种方式就不 是很适合了,因为此时程序员需要考虑网络或者系统故障,处理并发操作、缓 冲、流量控制以及进程同步等一系列复杂问题。 三、交易中间件 交易中间件是专门针对联机交易处理系统( o l a p ) 而设计的。联机交易处 理系统需要处理大量并发进程。处理并发涉及到操作系统、文件系统、编程语 言+ 、数据通讯、数据库系统、系统管理及应用软件,是一个相当艰巨的任务, 但是:r 作的难度可以通过采用一个交易中间件来简化。交易中间件就是一组程 序模块,用以大大减少开发一个联机交易处理系统所需的编程量。x o p e n 组织 专门定义了分布式交易处理的标准及参考模型,把一个联机交易系统划分成资 源管理( r m ) 、交易管理( 1 、m ) 和应用( a p ) 三部分,定义了应用程序、交易 管理器、多个资源管理器是如何协m t _ 作的。资源管理器是指数据库和文件系 统,交易管理器可归入交易中间件。交易中间件管理有应用声明和提交的交 易,并通过两阶段提交协议等方式保证分布式交易的完整性、控制并发、实现 交易路由和均衡负载。 交易中间件理论上相对成熟,功能和性能界定清晰,但基本上适用于联机 交易系统,如银行业务系统、定票系统等。尽管交易信息也是消息,交易 f n j 件也是基于消息的传输,也可支持同步和异步方式,但与消息中间件的定位差 距较大,属于种较专用的中间件。 四、面向消息中间件( m o m ) 第一章绪论 消息中间件能在不同平台之间通信,实现分布式系统中可靠的、高效的、 实时的跨平台数据传输,它常被用来屏蔽掉各种平台及协议之间的特性,实现 应用程序之间的协同;其优点在于能够在客户和服务器之间提供同步和异步的 连接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程 过程调用更进一步的原因。另外消息中间件不会占用大量的网络带宽,可以跟 踪事务,并且通过将事务存储到磁盘上实现网络故障时系统的恢复。当然和远 程过程调用相比,消息中间件不支持程序控制的传递。 消息中间件适用于需要在多个进程之间进行可靠的数据传送的分布式环 境。它是中间件中唯一不可缺少的,也是销售额最大的中间件产品,目前在 w i n d o w s2 0 0 0 操作系统中已包含了其部分功能。 五、面向对象的中间件( o b j e c to r j e n t e dm j d d l e w a r e ) 当前开发大型应用软件通常采用基于组件技术,在分布式系统中,还需要 集成各节点上的不同系统平台上的组件或新老版本的组件:组件的含义通常指 的是一组对象的集成,其种类有数百万种,但这些组件面临着缺乏标准而不能 相互操作,各厂家的组件只能在各自的平台上运行。为此,连接这些组件环境 的面向对象的中问件便应运而生。面向对象的中间件是对象技术和分布式计算 发展的产物,它提供一种通讯机制,透明地在异构的分布计算环境中传递对象 请求,而这些对象可以位于本地或者远程机器。在这些面向对象的中间件中, 功能最强的是c o r b a ,可以跨任意平台,但是太庞大;j a v a b e a n s 较灵活简单, 很适合于作浏览器,但运行效率差;d c o m 模型主要适合w i n d o w s 平台,已广泛 使用。但是d c o m 和c o r b a 这两种标准相互竞争,而且两者之间有很大的区别, 这在一定程度上阻碍了面向对象中间件的标准化进程。当前国内新建系统实际 上主要是u n i x ( 包括l i n u x ) 和w i n d o w s ,因此针对这两个平台建立标准的面 向对象中间件是很有必要的。 六、事务处理中间件( t p m ) 事务处理中间件是在分布、异构环境下提供保证交易完整性和数据完整性 的一种环境平台;它是针对复杂环境下分布式应用的速度和可靠性要求而实现 的。它给程序员提供了一个事务处理的a p i ,程序员可以使用这个程序接口编 写高速而且可靠的分布式应用程序基于事务处理的应用程序。 事务处理中间件向用户提供一系列的服务,如应用管理、管理控制、已经 应用于程序间的消息传递等。常见的功能包括全局事务协调、事务的分布式两 第一章绪论 段提交( 准备阶段和完成阶段) 、资源管理器支持、故障恢复、高可靠性、网 络负载平衡等等。 七、网络中间件 它包括网管、接入、网络测试、虚拟社区、虚拟缓冲等,也是当前研究的 热点。 八、终端仿真屏幕转换中间件 它的作用在于实现客户机图形用户接口与已有的字符接口方式的服务器应 用程序之间的互操作。 第二节国内外中间件研究现状及展望 中间件不仅在中国,在整个世界范围内都是一个正在蓬勃发展的技术领 域。大家知道,九十年代初,客户机服务器计算模式开始成为一种主流技术, 客户机服务器计算模式为计算机技术提供了一个巨大的发展空间,使实现灵活 性、高效率、低成本的应用环境成为一种可能,而中间件正是实现这一可能性 的关键技术。根据世界著名的i d c 公司的市场调查报告,中问件软件1 9 9 6 年在 全球就已经形成了1 5 亿美元的市场份额,这是一个非常巨大的市场。 1 2 1 国内外中间件的发展 最早具有中间件思想和功能的软件是i b m 的c i c 8 ,i b m 于1 9 9 4 年正式以中 间件产品的形式出售,确定了中间件产品的雏形。该软件用于联机事务处理, 可支持异构的平台。但是c i c s 不是分布式环境,所以人们把在1 9 8 4 年在贝尔 实验室完成的t u x e d o 作为第一个严格意义上的中间件产品。由于分布式处理没 有广泛用于商业,所以t u x e d o 在很长时间却是实验室产品,后来被n o v e l l 收 购,经商业推广,又被b e a 收购。尽管中间件的概念很早就己产生,但只在最 近1 0 年才在国外广泛使用,国内应用尚差很远。就国内大多数用户,甚至软件 工程师来说,还是知之甚少,或者是刚刚接触。因此,仍需要学习中间件,宣 传中间件,研究中间件,大力推广普及中间件。可庆幸的是,国内中间件的起 步正处于世界范围的中间件的初创时期,并不落后。早在1 9 9 2 年东方通科技公 司就着手中间件的研发,1 9 9 3 年推出第一个国产的中间件产品t o n g l i n k q 。之 后,又涌现了一批以中间件为核心业务的公司,如清华北美、四川拓普等,以 及也已开发出中间件产品的系统集成或软件公司,如中科软件、中国科学院计 第一章绪论 算机所、中软集团、中创公司、山东浪潮、金蝶、国防科大、东大阿派、北大 青鸟、亿阳通信、东华诚信等。中间件产品已初步形成系列。 国内许多企业原本是以一个系统集成商的身份进行中间件的市场开拓工 作。随着国内中间件市场的成熟,国外中间件厂商大举进入中国,国内中间件 市场的竞争逐步白热化。形势的发展要求我们作出新的抉择。不少企业最终选 择了放弃集成,做一个独立软件供应商,这是一条充满风险和牺牲的道路。既 然历史的机遇使我们在中间件技术领域,获得了与国外产品同时起步的有利时 机,取得了远远高于国外产品的中国市场占有率,具备了与世界最高水平平等 对话的地位,我们没有理由不在世界计算机行业为民族软件产业去争得一席之 地,这是一种荣耀,更是一种义不容辞的责任。 1 2 2 发展中间件面临的问题 虽然中间件的市场前景广阔,在业内已有很多成功的应用实例,特别是为 我们提供了发展系统级软件的难得机遇。但是,对于那些希望在这一领域有所 作为的软件企业来说,仍有一些现实的困难需要解决。 首先,中间件虽然被业界誉为有史以来发展晟快的软件产品,但在技术上 仍处于成长阶段,还没有统一的标准和模型,作为基础的标准化工作仍在进行 之中。 其次,就中间件产品本身而言,是否容易调用a p i 以及封装质量如何,是 区别其质量高低的重要标准。此外,虽然各家厂商的产品都是基于同样的技术 和标准进行开发,但是对于标准的实现程度仍有所差别。例如b e a 纯j a v a 的应 用服务器中间件,就完全符合了j 2 e e1 2 个标准中的1 0 项。对一些国内软件企 业而言,产品开发成功仅仅是万里长征走完了第一步,更重要的是如何精益求 精,在细微处下功夫。 其三,由于中间件涉及软件领域的各种技术、标准与规范,对软件开发人 员提出了很高的素质要求,因此真正开发成功一个中间件产品,绝非一朝一夕 的事情。正如b e a 公司大中国区技术总监李业所说,中间件的研发工作牵涉到 对于应用系统、数据库、网络、硬件平台甚至前端等方方面面的了解,丽国内 软件业缺乏具备总体设计能力的人才,以至于软件的功能设计往往不能实现一 步到位,直接影响到客户服务质量和产品的稳定性。 其四,如何真正实现产品化是目前国内中间件厂商遇到的最大问题。b e a 公司技术总监李业分析认为,国内软件企业的研究开发与产品化工作往往不能 同步进行,其原因在于项目管理出现闯题。就b e a 的经验而言,版本控制也是 第一章绪论 产品化的重要一环。b e a 公司重视中间件产品的通用性,不会专门为某位客户 提供单独的版本,否则随着用户量的增加,版本控制就会成为令人头痛的事 情。同时,b e a 也不向用户提供源代码,以免客户改变代码出现问题时,给技 术支持造成困难。 总体上看,国外厂商由于具备多年的技术积累和开发经验,可以降低因开 发失败带来的风险,少走许多弯路,同时在技术研发人才的竞争中仍具有一定 优势。目前看来,就管道类的中间件而言,国内厂商的差距不大,具有较强的 竞争力。而在平台类中间件领域,要想推出真正成熟的产品仍有待时日。 1 2 3 国内中间件发展前景 软件产业对于国民经济发展的重要性不言而喻。然而中国软件业发展至 今,在总体上仍然不具备参与国际竞争的实力。软件公司虽有5 0 0 0 多家,但 8 0 9 6 左右均为中小企业,缺乏具备品牌优势和国际竞争力的软件集团。1 9 9 9 年 中国软件出口额仅为1 3 亿美元,而只有几百万人口的爱尔兰,软件业年出口 额就达7 0 亿美元。 随着i n t e r n e t 的发展,作为大型分布式应用基础构架的组成部分,中间件 的地位正在变得日渐重要,甚至成为与操作系统和数据库管理系统并列的基础 软件领域的3 大支柱,这就为我国软件业提供了又一次发展良机。中间件市场 的竞争,是国内软件业在系统级产品领域,与国外一流厂商面对面的直接交 锋。从产品本身到企业的研究开发能力、市场推广能力及服务支持能力,这一 较量将是全方位的。我们在正视自身差距的同时,也应该树立信心,充分利用 自身的竞争优势,推出更为贴近国内用户实际应用需求的产品。 近年来,从事电子商务业务的c o m 公司不断涌现,尤其值得中间件厂商予 以更多地关注。以b e a 公司为例,e t r a d e 和a m a z o n 都是其中间件产品的大客 户,截止目前,新浪、网易、搜狐、易趣及2 1 c n 等2 0 余家国内知名网站均陆 续采用了b e a 的中间件产品。a p u s i c 公司首席技术官袁红岗也预测,a p u s i c 产 品的第一个用户将来自网站。 能否及时跟进中间件产品的技术发展趋势,也是国内相关软件企业要想有 所作为的关键所在。目前,随着i n t e r n e t 的发展,符合s u n 公司提出的j 2 e e 标准的中间件产品已渐成潮流。此外,基于w e b 的无线商务也令人关注。i b m 就推出了支持无线设备的通信中间件m q s e r i e se v e r y p l a c e 。m i c r o s o f t 也有通 信中间件的无线版本,但它只支持w i n d o w sc e 操作系统。 第一章绪论 目前,国外厂商在中间件市场上仍处于领先地位,长此以往,其价格和技 术垄断势必让国内用户付出更多的代价。随着国内软件企业相继加入到中间件 市场的竞争行列,将有助于用户摆脱对价格昂贵的国外中间件产品的过分依 赖,并为其带来更多的选择机会。 第三节本文的研究思路和创新点 一、本文的研究思路 第一章绪论。中间件概述、国内外中间件研究现状及本文的研究思路。 第二章三层结构的发展与中间件在其中的应用。本章从三层结构产生的 背景入手,追溯了从主机一终端体系结构、两层客户机一服务器体系结构发展到 三层客户机一服务器结构的历程。介绍了三层结构将传统系统中各种各样的部件 划分为表示层、业务逻辑层( 应用服务层) 、数据库服务层,共同组成一个应 用程序的特点。着重将两层结构与三层结构从c t m ( c o d i n g 、t e s t i n g m i g r a t i n g ) 费用以及客户端负载、对数据库服务器性能的影响等方面进行比 较,指出了三层结构的优势所在。本章还介绍了中间件在三层结构中的应用并 提出了基于w e b 的应用系统结构。 第三章中间件技术构建分布式企业系统。本章对当前流行的e j b 、 c o m d c o m c o m + 、c o r b a 对象技术逐一加以介绍,并将三者进行比较。重点分析 了c o r b a 技术的架构及工作特点,介绍了c o r b a 在多层分布式系统中的机制 ( 客户回调用法:静态调用,动态调用) 。 第四章基于w e b 的j a v a c o r b a 中间件技术。随着i n t e r n e t i n t r a n e t 技 术的发展,企业需要在w e b 环境下解决异构问题,构建现代集成应用系统。本 章根据j a v a 与c o r b a 自身的技术特点,将二者相结合,实现优势互补,共同构 建基于j a v a c o r b a 的o b j e c tw e b 体系。还介绍了o m gi i ) l 到j a v a 语言的关键 字、数据类型映射关系。 第五章u 儿应用建模技术。本章先对i n l 建模技术进行一定的介绍,然后 将u m l 运用到c o r b a 应用建模方面。介绍了u m l 到o m gi d l 的映射关系,总结 了u m l o m gi d l 建模的基本步骤,最后还推荐了u m l o m gi d l 建模工具 r a t i o n a lr o s e 。 第六章企业级应用系统分析、设计与实现。构建“电子银行系统”,在 三层结构的基础上对j a v a 、c o r b a 、u m l 等技术具体加以应用。 第一章绪论 第七章总结与展望。对本文的研究工作进行总结,并指出今后应用研究需 要考虑的问题。 二、本文的创新点 本文从应用系统体系结构的发展出发,对两层结构和三层结构进行详细比 较,并结合具体实例推导公式从定量方面加以分析,有很强的说服力。 本文对中问件技术在三层结构中的应用加以分析,引入分布对象技术,研 究开发新型的j a v a c o r b a 中间件技术,探讨利用j a v a c o r b a 技术开发w e b 中 间件应用系统的可行性、方案和技术,提出了o b j e c tw e b 的思想。 本文主要研究与j a v a c o r b a 中间件技术相关的重要内容,包括c o r b a 技术 规范、j 2 e e 体系和u l l i l 建模等。在第六章构建了一个“电子银行系统”,进一 步讨论了j a v a c o r b a 中间件系统的开发环境、体系结构和方法步骤。 j a v a 和c o r b a 都是w w w 的重要技术,也是当今分布计算技术的研究热点。 在国内,c o r b a 技术的理论研究虽然已经有一段时间,但集成y a v a c o r b a 到 w e b 中应用的研究刚刚起步,基于j a v a c o r b a 的w e b 信息系统更是少见。本文 立足于当今w w 分布计算的前沿技术,其研究成果不仅对于推动j a v a ,c o r b a 中间件技术在w e b 上的应用研究有着实际的参考价值,而且对于提高国内 o b j e c tw e b 技术理论的研究水平也有着重大意义。 第二章三层结构的发展与中间件在其中的应用 第二章三层结构的发展与中间件在其中的应用 第一节三层结构产生的背景 随着企业对数据库的应用规模不断的扩大和i n t e r n e t i n t r a n e t 的发展, 基于客户机一服务器的分布式系统已被广泛应用于各种企业信息网的环境之中, 它改变了传统的单机应用设计和系统实现方式。目前,对简单业务逻辑,一般 采用两层客户机服务器结构,但随着来自大量企业级关键任务对应用程序性能 和功能的强大要求,两层客户机服务器结构难以实现和满足复杂要求,维护和 升级需要投入大量的人力和财力。目前许多软件公司开始致力研发中间件,全 球很多大型信息系统采用以中间件为基层的三层客户机一服务器结构来建立企业 的m i s 系统。 以客户机一服务器模式为代表的二层结构应用系统因具备开放的体系结构、 丰富的工具和简单快速的开发周期曾经给开发商和无数用户在分享开放系统时 带来了许多好处,并促使原来专有系统的用户逐步向开放系统转移。但是,随 着计算机系统应用水平的提高,也有越来越多的用户对开放系统提出了更高的 要求,例如希望: 1 ) 应用系统应能够同时支持成千上万乃至更多用户的并发服务请求; 2 ) 应用系统应由单一的局域网向跨跃多个网络的广域网扩展; 3 ) 应用系统不仅支持一般的信息管理,而且应支持关键业务的联机交易 和处理; 4 ) 应用系统由仅支持单一的系统平台转向支持异构的多系统平台,等 等。 面对用户新的需求,当我们再次审视二层结构的应用模式而希望能找到解 决问题的答案时,不难发现:由于采用客户机一服务器直接联接的方式,二层模 式会形成固有的缺陷,例如: 1 ) 以单一服务器和局域网构成核心的系统,难以进一步扩展; 2 ) 难以管理大量的客户机: 3 ) 软硬件组合及集成能力有限; 4 ) 容易使应用受限于供应商,等等。 第二章三层结构的发展与中间件在其中的应用 这些在二层结构模式下不可逾越的屏障,不仅降低了人们对开放系统的信 心,也阻碍了开放系统的进一步发展,于是有人开始怀疑开放系统在关键业务 领域的发展问题,甚至怀念传统的主机时代。 为了解决传统二层模式与应用需求之间日益尖锐的矛盾,使开放技术实现 对大规模和关键业务的处理,以中间件为框架基础的三层客户机一服务器模式即 应运而生。三层结构由中间层来管理大量( 有时是海量) 的客户端并为其联 接、集成多种异构的服务器平台,以及通过有效的组织和管理,在极为宽广的 范围内将客户机一服务器进行高效的组合,而开创了以负载平衡、动态伸缩等功 能为代表的管理模式,成为建立关键业务应用系统的最佳环境,并使在二层模 式下不可能实现的应用成为可能。中间件和三层结构模式的成功为许多国际大 型企业在开发、部署方面节省了大量的时间和金钱,也得到了广泛的实施和应 用。 第二节三层结构的研究 2 2 1 三层结构的发展 分布式系统一般都由三个功能层组成,它们是: 1 ) 表示层( p r e s e n t a t i o n ) :负责用户与系统间的交互,并把相应的请 求通过调用中间层的组件传递给业务逻辑层。 2 ) 业务逻辑层( b u s i n e s sl o g i c ) :执行具体的事务逻辑, 方式向第三层的组件提出数据或其它资源请求。 3 ) 数据库服务层( d a t as e r v i c e ) :负责数据的物理存储, 据提供服务。 随着计算结构的发展,这三个功能层在系统中的应用如下: 一、主机一终端体系结构 通过s q l 等 并为底层数 最初的计算结构是一种基于主机一终端模式的计算模型,几乎所有的处理能 力都由主机来完成,业务逻辑层和数据访问层都位于该主机上,应用程序的用 户通过终端来与数据交互,终端只是作为一种输出设备,从技术上讲,表示层 也位于该主机上。所以,这种主机价格昂贵,维护费用高。 8 0 年代末,针对这种计算结构的不足,提出客户一服务器结构,其基本思 想是把应用分布在客户端和服务器端,一般用n 层结构描述应用在客户端和服 务器端的逻辑划分方式。 二、两层客户机一服务器体系结构 第二章三层结构的发展与中间件在其中的应用 两层客户机一服务器体系结构是最基本的客户一服务器系统结构,它把业务 逻辑一分为二,大部分业务逻辑在客户端运行,通过把s o l 请求送往运行在服 务器端的数据库,对数据进行访问。由于业务逻辑主要在客户端驻留执行,因 而这种结构也叫胖客户( f a t c l i e n t ) 结构,如图2 一l 所示: 客户机应用 业务邂揖 用户接口 图2 1 两层客户机一服务器系统结构 在两层结构的系统里,业务逻辑可能混杂在客户端的界面控制流中,也可 能嵌入在服务器端的数据库中。更常见的是,客户端和服务器端各实现一部分 业务逻辑。通过网络,客户端把s q l 语句、文件系统的调用以及其它请求送到 服务器端,服务器端对请求进行相应处理,然后把原始结果回送到客户端。 两层结构最大的优点在于系统结构简单,利用一些快速开发工具( r a d ) 可 以很快地开发出一些部门级的小规模应用,同时开发和运行的环境都相对简 单。随着一些成功的应用逐渐推广到企业级的关键任务( m i s s i o n c r i t i c a l ) 环境,两层结构的问题开始出现了,主要表现在: i ) 系统的可扩充性( s c a l a b i l i t y ) 差。在小规模环境下运行良好的这些 应用,一旦进入大规模生产系统后,性能即呈几何级数下降,以致影 响到系统的可靠性。由于任何一个操作都必须通过数据库,数据库通 常是最先瓶颈的地方,每增加一个客户机,就加重服务器的负担。而 服务器的升级能力总是有限的。 2 ) 系统维护代价高。由于大部分应用逻辑驻留在客户端,每个客户端都 要安装庞大而复杂的应用程序,一旦应用环境发生变化需要改变业务 逻辑时,每个客户端的程序都要修改,给系统的维护和管理造成了一 定的困难。 圃享 齄一 一 歹 垦垦 第二章三层结构的发展与中间件在其中的应用 3 ) 安全性差。在两层系统中,用户拥有的是数据库服务器访问的权限, 所以无法阻止一些用户绕过客户端应用的限制而直接操纵数据库,从 而利用其合法的权限来完成超越其应该拥有的权限的操作,甚至蓄意 的破坏。此外,大量代码化的企业业务流程驻留在客户端,也给系统 的安全性带来了极大的考验。 4 ) 系统间的通讯功能差。当各个部门级应用进入企业关键任务环境后, 设计人员面对的现实环境是不同业务对象的组合,但两层结构的应用 之间几乎没有互操作,显示出在两层结构下实现分布式系统的组件技 术具有很大的难度。 5 ) 数据库的并发连接问题。客户机在访问数据前,必须与数据库建立连 接,而建立一次连接需要消耗数据库服务器端很多资源,所以为了避 免每次访问数据库时都要建立连接的额外开销,客户端即使在不访问 数据库的情况下也会保持较长的连接。如果同时有成百上千个客户连 接数据库,则会造成资源的极大浪费。 6 ) 远程连接问题。由于客户端和服务器端都有大量的业务逻辑,所以为 完成一次应用请求,客户端和服务器需要传输大量的数据,加重了网 络的负担,在局域网中,一般问题不大,但在广域网上由于网络的不 可靠性则会带来问题。 7 ) 系统互联问题。两层结构要互联,一定要在统一系统环境下,异种系 统互联根本是不可能的。 由于两层客户机一服务器结构不能解决这些问题,所以需要一种新的技术来 解决。 三、三层客户机一服务器体系结构 随着i n t e r n e t i n t r a n e t 的兴起,二层客户机一服务器结构的局限性越来越 大,成为现代软件应用的一道不可逾越的障碍,越来越多的世界知名软件公司 改用三层结构开发软件。据世界权威媒体披露,每年全球约有超过5 0 的软件 开发项目最终以失败告终,仅1 9 9 6 年全球范围内就为此付出了逾1 4 0 0 亿美元 的损失。该媒体明确指出:三层结构是解决上述问题的关键。 三层结构是一种先进的协同应用开发程序模型,这种开发模型将传统系统 中各种各样的部件划分为表示层、业务逻辑层( 应用服务层) 、数据库服务 层,共同组成一个应用程序。这些层并不一定与物理上的分层相对应,而只是 概念上的分层,

温馨提示

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

评论

0/150

提交评论