(管理科学与工程专业论文)基于ejb的中间件技术的研究及应用.pdf_第1页
(管理科学与工程专业论文)基于ejb的中间件技术的研究及应用.pdf_第2页
(管理科学与工程专业论文)基于ejb的中间件技术的研究及应用.pdf_第3页
(管理科学与工程专业论文)基于ejb的中间件技术的研究及应用.pdf_第4页
(管理科学与工程专业论文)基于ejb的中间件技术的研究及应用.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(管理科学与工程专业论文)基于ejb的中间件技术的研究及应用.pdf.pdf 免费下载

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

文档简介

中文摘要 随着信息技术的高速发展以及网络技术的日趋成熟,以信息技术为主导, 综合信息技术和网络技术的管理! 信息系统正在成为现代化管理办公系统的首 选。而中间件技术是在信息技术和网络技术的高速发展下一个新兴的技术,它 是伴随着企业的全球化的趋势而产生的,随着企业全球化的发展,企业级的应 用不再满足于单机系统和简单的客户机j t i 务器系统,而是向着三层和多层体系 结构的分布式环境不断进步,为了解决在分布式环境下存在的问题,产生了中 间件技术标准。 本文系统的介绍了中间件技术的产生、分类、中间技术标准以及组件技术 e j b ,对组件技术e j b 做了较为详细的描述,包括e j b 的体系结构、e j b 的优点、 e j b 和三层体系结构等内容,最后论述了天津市地方科技奖励管理系统整个开发 过程,包括需求分析、系统设计和实现,该系统的整个开发过程是以基于组件 e j b 的中间件技术和三层结构为基础,完全实现网络化操作,项目申报和评审过 程都通过广域网进行的,打破了传统的c s 两层结构的局限性。本文的研究成果 对于提高地方科技奖励评审过程具有现实意义,同时也对其他信息系统的开发具 有借鉴意义。 关键词:地方科技奖励管理系统中间件技术组件技术e j b 三层结构 a b s t r a c t w i t ht h ed e v e l o p m e n to fi ta n dt h em a t u r a t i n go fn e t w o r k ,t h em a n a g e m e n t i n f o r m a t i o ns y s t e m ,w h i c hi sl e a db yi ta n di n t e g r a t e dw i t hn e t w o r kt e c h n o l o g y , b e c o m e st h ep r e f e r r e dm o d e mo f f i c i a ls y s t e m t h em i d d l e w a r ei s an e w t e c h n o l o g y t m d e rt h ed e v e l o p m e n to fi ta n dn e t w o r k ,i ti sb o o m i n gw h i l ee n t e r p r i s e st r e n dt ob e g l o b a l ,t h ee n t e r p r i s e a p p l i c a t i o ni sn ol o n g e rs a t i s f i e dw i t h s t a n d - a l o n ea n ds i m p l e c l i n f f s e r v e r s y s t e m ,b u td e v e l o p i n gt o w a r d s 3 l a y e r s a n dm u l t i l a y e rd i s t r i b u t e d e n v i r o n m e n t i no r d e rt os o l v et h ep r o b l e m su n d e rd i s t r i b u t e de n v i r o n m e n t ,t h e s t a n d a r do f m i d d l e w a r e t e c h n o l o g y c a m ei n t ob e i n g t h i sa r t i c l ei n t r o d u c e dt h es t a r t ,c l a s s i f i c a t i o n ,a n ds t a n d a r do fm i d d l e w a r e t e c h n o l o g y , d e s c r i b e d t h e g r o u p w a r et e c h n o l o g y e j bi n d e t a i l ,i n c l u d i n g t h e a r c h i t e c t u r e ,a d v a n t a g e so fe j b ,e j ba n d3l a y e r sa r c h i t e c t u r ee t c t h ea r t i c l ea l s o d i s s e r t a t e dt h e d e v e l o pp r o c e s s o ft i a n j i nl o c a ls c i e n c ea n dt e c h n o l o g ya w a r d m a n a g e m e n ts y s t e m ,i n c l u d i n gd e m a n da n a l y s i s ,s y s t e md e s i g na n di m p l e m e n t t h e d e v e l o p m e n to f t h i ss y s t e mi sb a s e do ne j ba n d3l a y e r sm i d d l e w a r ea r c h i t e c t u r e , c o m p l e t e l y r e a l i z e dn e t w o r k o p e r a t i o n ,b o t ht h ea p p l i c a t i o na n de v a l u a t i o na r ec a r r i e d t h r o u g hw a n ,b r e a c h e dt h el i m i t a t i o no ft r a d i t i o n a l 2l a y e r sc ss t r u c t u r e t h e r e s e a r c ha c h i e v e m e n to ft h i sa r t i c l ei sh e l p f u lt ot h el o c a ls c i e n c ea n dt e c h n o l o g y a w a r de v a l u a t i o n p r o c e s s ;a t t h es a m et i m ei tc o u l db eu s e df o rr e f e r e n c ef o r d e v e l o p m e n to f o t h e r i n f o r m a t i o ns y s t e m s k e yw o r d s :m a n a g e m e n ts y s t e mo f t h ee n c o u r a g e m e n t t os c i e n c ea n dt e c h n o l o g y m i d d l e w a r et e c h n i q u e c o m p o n e n tt e c h n i q u e e j b s y s t e m s t r u c t u r ew i t ht h r e el a y e r s 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得鑫盗盘芏或其他教育机构的学位或证 书丽使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名俐鼻掘字日期:矽c ,解f i ,月。日 学位论文版权使用授权书 本学位论文作者完全了解鑫洼盘鲎有关保留、使用学位论文的规定。 特授权苤鲞盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者躲孝卒咖纽 签字日期:0 胗厕缉月d 日 导师签名 必毽轭 签字日期:1 2 p 谚中年,月己月 箜:二童堕堡 一 1 1 课题研究的相关背景 第一章绪论 1 1 1 地方科技奖励管理信息化建设的必要性 随着信息技术的高速发展以及网络技术的日趋成熟,以信息技术为主导, 综合信息技术和网络技术的管理信息系统正在成为现代化管理办公系统的首 选。 科技奖励是一个跨地域、群决策的问题,信息采集的范围比较广,通常采 用通讯评议方式,通过邮政系统发布资料,将信息流转变成一个物流传送过程。 对于省市级科技成果管理部门来说,每年的奖励申报与评审工作项目众多、1 作量大、时间紧迫,是一项复杂的系统工程。特别是,奖励评审中存在大量数 据采集、数据处理及其统计分析工作,传统的人工操作极大地影响了工作的严 谨性和顺利开展。近年来,从国家科技部到各个省市地区,都做了有关科技成 果管理的计算机辅助系统,可以在一定程度上解决部分环节的重复性工作量, 但是对奖励评审工作的全过程支持的系统性不强,人机结合缺乏必要的灵活性 和简便性,同时难以全面支持有关领导和管理部门的统计与政策分析。 本项目针对科技奖励评审工作的需要,采用最新的中间件技术和三层体系 结构,快速设计与开发流程性的组件模块,形成集成化的科技奖励管理系统, 极大地提高了应用软件系统的可重用性和可扩展性,使得该系统可以适用于不 同种类和不同地区奖励评审工作。 1 1 2 国内该项目的发展状况 地方科技奖励管理系统作为一项常规的管理工作,运行了多年,在很多省、 市、区、局的科技管理系统多采用c s 两层结构模式开发,以便集中数据,方 便管理。这种以单一服务器和局域网为中心的应用系统,在实际应用中己显现 出许多弊端。 首先,系统用户在地理位置上分布比较分散,无论是申报还是评议过程, 各单位和专家都来自于相当大范围的地域,使整个系统的数据采集耗费大量的 人力物力,给管理本身带来很大的不便。 其次,系统的可维护性差,由于系统的每个用户都需要安装客户端软件, 第一章绪论 一旦程序做出更改,需要所有的用户重新安装,增加了维护工作的工作量。 最后,系统的工作效率低下,完成整个流程的时问比较长。 针对地方科技奖励工作的特点,希望采用新的系统结构解决存在的问题。 信息基础设施建设在全国范围的状况和水平是不平衡的,但是作为一个省市地 区范围内比较容易形成一致的解决方案,因此浏览器朋务器方案是可行的。运 用以e j b 组件为基础的三层体系结构,将应用的表示逻辑、业务逻辑和数据分 为多个不同的处理层,用e j b 组件技术封装整个应用领域的业务逻辑,客户只 需要通过调用e j b 组件就可以对数据库的数据进行处理,无需再安装客户端应 用程序。 1 2 课题研究的内容 本文以天津市科委科技奖励管理系统的设计和开发作为背景,介绍了基于 e j b 组件技术三层体系结构在地方科技奖励管理系统中的应用,文中主要包括 以下内容: 1 分析了中间件技术的起源、概念、所解决的问题和功能以及分类等问题, 介绍了对象中间件的三大技术标准:c o r b a 、c o m + 和e j b ,对三大技术标准 进行了详细的分析与比较,然后说明了选用e j b 组件技术作为开发标准的原因。 2 介绍了e j b 组件的开发平台j 2 e e 架构,e j b 组件技术的设计目标、体 系结构、角色和工作原理以及e j b 组件技术给开发者和使用者带来的好处,阐 述了两层结构和三层结构的优缺点。 3 最后一部分系统的论述了天津市地方科技奖励管理系统需求分析的设计 和实现过程,主要内容包括系统需求分析、系统的设计、系统组件的划分和开 发以及系统的主要特点。 第一二章中间件技术原理 2 1 中间件概述 2 1 1 中间件的概念 第二章中间件技术原理 中间件技术是一个比较新兴的技术,对其内涵和外延的研究还没有形成 个统一的共识,没有形成一个统一的定义,目前比较普遍被接受的是国际数据 公司( i d c ) 的表述:中间件是一种独立的系统软件或服务程序,分布式应用 软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操 作系统之上,管理计算资源和网络通信,为处于上层的应用软件提供运行与开 发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。中间件是独立 于硬件或数据库厂商( 处于其产品的中间,实现其互连) 的一类软件,是客户 与服务方之间的连接件,是需要进行二次开发的中间产品。 从国际数据公司对中间件的定义中可以看出,中间件是一类软件,而非一 种软件,中间件不仅仅实现互连,还要实现应用之间的互操作,中间件是基于 分布式处理的软件,定义中特别强调了其网络通信功能。 对于中间件,中国软件行业协会副秘书长吴克忠教授解释为:所谓中间件 就是位于平台( 包括硬件和操作系统) 与应用系统之间,具有标准协议与接口 的通用软件。 l应用软件层 j 亡 l中间件层 彳r 。jo l操作系统 _ ! ! rr i 底层硬件 幽2 - l中间件在计算机系统中的定位 第一二章中间件技术原理 2 1 2 中间件的起源 随着计算机技术的不断发展,企业的信息系统和以往相比也有了巨大的进 步。企业级的应用不再满足于单机系统和简单的客,。机服务器系统,而是向着 三层和多层体系结构的分布式环境不断发展。 在分布式的环境中,无论是硬件平台还是软件平台都不可能做到统一。大 规模的应用软件通常要求在软硬件各不相同的分布式网络上运行,为了更好地 开发和应用能够运行在这种异构平台上的软件,迫切需要一种基于标准的、独 立于计算机硬件以及操作系统的开发和运行环境。于是如何屏蔽不同厂商产品 之间的差异,如何减少应用软件开发的复杂性,就成为技术不断进步之后,人 们不能不面对的现实问题。 显然,由一个厂商去统一众多产品之间的差异是不可能的,而单独由计算 机用户在自己的应用软件中去弥补其中的大片空档,由于技术深度和技术广度 的要求,必然也是勉为其难。在这样的历史背景下,中间件应运而生。中间件 试图通过屏蔽各种复杂的技术细节使技术问题简单化。 在中间件产生以前,应用软件直接使用操作系统、网络协议和数据库,这 些都是计算机最低层的东西,越低层越复杂,开发者不得不面临许多棘手的问 题,如操作系统的多样性、复杂的网络程序设计和管理、复杂多变的网络环境、 数据分散处理带来的不一致和系统的效率等诸多问题。这些和用户的业务没有 直接的关系,但又必须解决,致使用户耗费了大量的时间和精力。于是有人提 出:能否将应用软件面临的共性问题进行提炼、抽象,在操作系统之上再形成 一个可复用的部分,供成千上万的应用软件重复使用。这一技术思想最终促使 中间件的诞生。 尽管中间件的概念很早就已经产生,但中间件技术却是在最近十年之中得 到广泛应用的。最早具有中间件思想及功能的软件是m m 的c i c s ,但由于c i c s 不是分布式环境的产物,因此人们一般把t u x e d o 作为第一个严格意义上的中问 件产品。t u x e d o 是1 9 8 4 年在当时属于a t & t 的贝尔实验室开发完成的,在经 过n o v e l l 并不成功的推广之后,1 9 9 5 年被现在的b e a 公司收购,b e a 公司1 9 9 5 年收购t u x e d o 后才成为一个真正意义上的中间件厂商,i b m 的中间件m q s e r i e s 也是2 0 世纪9 0 年代的产品,其他许多中间件产品也是最近几年才发展成熟起 来的。 4 第二章中间什技术原理 2 1 3 中间件解决的问题 根据中f a j 件的特点,主要解决如下问题: 1 解决远程传输的数据一致性问题。数据在传输时必须保证数据的完整, 作为基础平台的中间件,兼具了数据的同步传输模式和异步阐述模式,而过去 都是依赖技术人员自行开发和编程。 2 解决应用层的辅助功能,并可以提供其他多种功能,包括企业管理、信 息传递和查询等功能。 3 在某些具体行业及具体领域,中间件更为贴近应用领域。如在银行的信 息系统中,中间件可以作为专用的系统平台。 2 1 4 中间件的工作原理 从理论上讲,中间件的工作机制如下:客户端的应用程序需要从网络中的 某个地方获取一定的数据或服务,这些数据或服务可能处于一个运行着不同操 作系统和数据库的服务器中,客户机朋务器应用程序中负责寻找数据的部分只 需访问一个中间件系统,由中间件完成到网络中找到数据源或服务,进而传输 客户请求,并重组答复信息,最后将结果送圈应用程序。 2 2 中间件的分类 图2 - 2 中间件工作原理 随着i t 技术的发展和市场的演进,中间件的内涵也变得越来越丰富,品种 越来越多,技术也越来越复杂,应用范围越来越广。中间件已成为分布式应用 第二章中间什技术原理 系统中不可缺少的基础软件。中问件按功能可咀分为如f 几类 2 2 1 消息中间件 消息中间件适用于任何需要进行网络通信的系统,其职责是建立网络通信 的通道,进行数据或文件发送。消息中间件的一个重要作用是可以跨平台操作, 为不同操作系统上的应用集成提供便利。 现在越来越多的分布式应用采用消息中间件来构建,通过消息中间件把应 用扩展到不同的操作系统和不同的网络环境。基于消息的机制更多的适用于事 件驱动的应用,当一个事件发生时,消息中间件通知服务方应该进行何种操作。 事件可以是一个请求,也可只是一种警示,警示到来后,即可进行某种处理, 但不需等待应答。使用消息中间件编程采用的是消息中间件的a p i ,可以很好 的扩展到不同的操作系统或硬件平台上。 中间件领域目前最热门的技术是异步的消息中间件,异步中间件技术比同 步中间件技术具有更强的容错性,在系统故障时可以保证消息的正常传输。异 步中间件技术可以分为两类:广播方式和发布订阅方式。 2 2 2 交易中间件 交易中间件的主要功能是管理分布于不同计算机上的数据,保证系统处理 能力的均衡负载。它专门针对联机交易处理系统( o l t p ) 而设计的,适用于联 机交易处理系统,如银行业务系统、航空及铁路的订票系统等。联机交易处理 系统需要处理大量并发进程,处理并发涉及到操作系统、文件系统、编程语言、 数据通信、数据库系统、系统管理、应用软件等,是一个相当艰巨的任务,但 是工作的难度可以通过采用一个交易中间件来简化。交易中间件就是一组程序 模块,用以大大减少开发一个联机交易处理系统所需的编程量。 交易中间件的主要标准是x o p e n 组织定义的分布式交易处理模型:把一 个联机交易系统划分成资源管理( i t m ) 、交易管理( t m ) 和应用( a p ) 三部 分,定义了应用程序、交易管理器、多个资源管理器是如何协同工作的。资源 管理器是指数据库和文件系统,交易管理器可归入交易中间件。交易中间件管 理由应用声明和提交的交易,并通过两阶段提交协议等方式保证分布式交易的 完整性、控制并发、实现交易路由和均衡负载。 第一章中间什技术原理 2 2 3 对象中间件 面向对象的技术一直是软件界努力追求的目标,传统的对象技术通过封装、 继承及多态提供了良好的代码重用功能。但是这些对象只存在一个程序中,外 面的世界并不知道它们的存在,也无法访问它们。 面向对象的中间件就是解决这些问题的,它提供了一个标准的构建框架, 能使不同的厂商的软件通过不同的地址空间、网络和操作系统互相交互访问, 为软件用户及开发者提供一种即插即用的互操作特性,就像使用集成块和扩展 板装配计算机一样。 有关对象中间件的技术标准相继问世,象o m g 组织的c o r b a 、微软的 c o m + 以及s u n 微系统公司的e j b 等,这些标准都极大的促进了对象中间件技 术的发展。随着面向对象的应用系统的逐渐增长,对象中间件的需求也在逐年 加大。对象技术的优势和对象中间件的标准化,促使对象中间件的功能将最终 涵盖其它几类中间件的功能而成为中间件产品的主流。 2 2 4 数据库中间件 适用于应用程序与数据源之间的互操作模型,屏蔽不同厂商、不同类型数 据库之间的差异,直接实现异构数据的共享。客户端使用面向数据库的a p i , 以提请直接访问和更新基于服务器的数据源,数据源可以是关系型、非关系型 和对象型。 这类中间件大多基于s q l 语句,采用同步通信方式。数据库中间件的功能 在于它使得应用开发从复杂趋于简单。但如果是通过广域网使用,会带来严重 的效率问题,因为在低速网上来回交互s q l 语句会使通信流量过大,同时对数 据压缩、加密带来不便。 2 2 5 应用服务器中间件 用来构建i n t e m e t i n t r a n e t 应用和其他分布式构件应用,是企业实现电子商 务的基础设施。 2 2 6 安全中间件 提供完整的信息安全基础架构,屏蔽安全技术的复杂性,使设计开发人员 无需具备专业的安全知识就可以构造高安全性的应用。 笙兰童主囹坐! :垫查显堡 2 3 对象中间件的技术标准 中间件提供客户机与服务器之间的连接服务,这些服务具有标准的程序接 口和协议,针对不同的操作系统和硬件平台,这些服务可以有符合接口和协议 规范的多种实现。由于标准接口对于可移植性和标准协议对于互操作性的重要 性,中间件已成为许多标准化工作的主要部分。对于应用软件开发,中间件远 比操作系统和网络服务更为重要,中间件提供的a p i 定义了一个相对稳定的高 层应用环境,不管底层的计算机硬件和系统软件怎样更新换代,只要将中间件 升级更新,并保持中间件对外的定义接口不变,应用软件几乎不需任何更改, 从而保护了企业在应用软件开发和维护中的重大投资。 目前中间件的标准还在发展之中,尤其是不同种类中间件的接口标准还处 于草创阶段。当前应用最广泛的对象中间件的技术标准包括:s u n 微系统公司 的e j b 规范、o m g 的c o r b a 规范和微软公司的c o m + d c o m 规范。下面分 别介绍。 2 3 1 c o r b a 技术规范 c o r b a ( c o m m o n o b j e c tr e q u e s t b r o k e ra r c h i t e c t u r e ,公共对象请求代理 体系结构) 是由o m g ( o b j e c t m a n a g e m e n t g r o u p ,对象管理组织) 提出的公用 对象请求代理程序结构的技术规范,其核心是一套标准的语言、接口和协议, 以支持异构分布程序问的互操作性及独立于平台和编程语言的对象重用。它可 以使服务器真正实现高速度、高稳定性处理大量用户的访问,使各个厂商使用 的不同语言、操作系统和硬件开发出来的应用系统具有可重用性、可移植性和 互操作性,所以现在很多大型网站后端的服务器都运行c o r b a 。c o r b a 有广 泛的应用,它易于集成各厂商的计算机,从大型机到微型内嵌式系统到终端桌 面,是面向大中型企业应用的优秀的中间件。 c o r b a 使用的对象模型将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 ,对象请求代理) ,使c o r b a 系统中分布在网络对象的获取只取决于网络的畅通性和服务对象特征获取的准 确程度,而与对象的位置以及对象所处的设备环境无关。 第一二章中间件技术原理 图2 - 3c o r b a 参考模型 c o r b a 上的服务用i d l ( i n t e r f a c ed e f i n i t i o nl a n g u a g e ,接口定义语言) 描述,i d l 将被映射为某种程序设计语言如c + + 或j a v a ,并且分成客户方和服 务器方两部分,在客户方叫i d ls t u b ( 桩) ,在服务器方叫i d ls k e l e t o n ( 框架) , 两者可以采用不同的语言。服务器方在框架的基础上编写对象实现( o b j e c t i m p l e m e n t a t i o n ) ,而客户方要访问服务器对象上的方法,则要通过客户桩。双 方又要通过o r b 总线通信。 c o r b a 以o r b 为基础,定义了一种与程序设计语言无关的分布式对象模 型和构件模型,该模型及其构架结构将面向对象技术与客户机朋噩务器计算模式 结合起来,有效地解决了对象封装和分布式计算环境中资源共享、代码可重用、 可移植及应用间的互操作性等问题,实现了异构平台间对象的互操作,从而实 现真正的跨平台。它采用连接式基础对象模型,底层网络通信采用s o c k e t 机制, 此外还提供了分布和组装构件的方法,因此也可以看成一种构件集成模型。 1 对象请求代理 c o r b a 体系结构的核心是o r b ,o r b 是使得客户应用程序能调用远端对 象方法的一种机制,具体说来:当客户端程序要调用远程对象上的方法时,首 先要得到这个远程对象的引用,之后就可以象调用本地方法一样调用远程对象 的方法。当发出一个调用时,o r b 会通过客户s t u b 截取这个调用,因为客户和 服务器可能在不同的网络、不同的操作系统上,甚至是用不同的语言实现,o r b 还要负责将调用的名字、参数等编码成标准的方式( 称m a r s h a l i n g ) 通过网络 传输到服务器方( 实际上在同一台机器上也如此) ,并通过将参数u n m a r s h a l i n g 的过程,传到正确的对象上( 这个过程叫重定向,r e d i r e c t i n g ) ,服务器对象完 成以后,o r b 以同样的m a r s h a l i n g u n m a r s h a l i n g 方式将结果返回给客户。 9 第一章中间件技术原理 迭幽粤 图2 - 4o r b 模型 2 接口定义语言 i d l ,接1 3 定义语言,如果说o r b 使c o r b a 做到平台无关,那么i d l 则 使c o r b a 做到语言无关。i d l 仅仅编写定义接口,而不定义实现,实际上它 不是真正的编程语言。要用它编写应用,需要将它映射到相应的程序设计语言 上去,如映射到c + + 或j a v a 上去,映射后的代码叫客户端存根和服务器框架代 码。 i d l 的好处是使高层设计人员不必考虑实现细节而只需关心功能描述。i d l 是描述性语言,设计i d l 的过程也是设计对象模型的过程,它是编写c o r b a 应用的第一步,在整个软件设计过程中至关重要。 3 公用对象服务 o r b 并没有构成整个c o r b a 实现方法,还要有支持o r b 的服务,如: 命名服务,提供了c o r b a 客户机和服务器寻找网上对象的方法。用类似 于文件名路径的方法实现服务器表示,通过命名服务注册对象。客户机可以用 命名服务按名称请求对象的引用。 事件服务,使客户机和服务器向一个或几个接收方发送事件对象形式的消 息。对象可以请求听取特定事件通道;事件服务向其通知该通道上的事件,由 于事件服务存放待发送的事件,所以不要求客户机和服务器连接。 安全服务,提供了验证消息、授权对象访问和提供安全通信的方式。 事务服务,是定义对数据库或其他予系统控制动作的方法,使客户机和服 务器完成或退回事务,使事务影响多个数据库。 4 i n t e r n e to r b 问协议 客户机和服务器是通过o r b 交互的,而客户方的o r b 和服务器方的o r b 是通过i i o p ( i n t e m e ti n t e r o r b p r o t o c 0 1 ) 方式通信的。i i o p 基于t c p i p 协议。 0 。一一 篓:童主间鲑垫查丛堡 一一一一 目前有多个软件丌发商提供了对c o r b a 的支持,其代表软件有i n p r i s e 的v i s i b r o k e r 、i o n a 的o r b i x 等,但与其他主流技术相比,c o r b a 在软件丌 发的支持程度和产品成熟度上要稍差一些。 2 3 2 c o m + 技术规范 微软的组件对象模型c o m ( c o m p o n e n to b j e c tm o d e l ) 是计算机编程界的 新技术,它将成为最为流行的软件架构方案之一,因为w i n d o w s 平台是最流行 的操作系统,而且w i n d o w s2 0 0 0 本身就采用了c o m 组件架构。c o m 是一种 技术标准,其商业品牌称为a e t i v e x 。该组件的特点是:组件遵循c o m 规范编 写、是以w i n 3 2 动态连接库( d l l ) 或可执行文件( e x e ) 的形式发布的可执 行的二进制代码。组件与应用、组件与组件之间可以互操作,极其方便地建立 可伸缩的应用系统。c o m 组件并不是专为一种w i n d o w s 平台而设计的,同一 c o m 组件可以在w i n d o w s 、w o r k s t a t i o n 及w i n n t 上使用。组件既可以被嵌入 动态w e b 页面,还可以在l a n 或桌面环境的v b 、v c 等应用中使用。另外, 组件之间是彼此独立的,当应用需求发生变更时,可能需要更换中间层的个别 c o m 组件,但并不影响其他组件的继续使用。组件具有若干对外接口( 属性和 方法) ,可以根据不同的应用需求,有选择的使用不同的接口,同一c o m 组件 可以在不同的应用环境中重复使用。 微软的w i n d o w sd n a 模型的设计采用开发、部署、管理多层企业解决方 案来简化复杂的问题,它是由专一厂商支持的专有产品。w i n d o w sd n a 的核心 是c o m + ,它是一种用来构造可重用组件的语言无关技术。w i n d o w sd n a 由 w i n d o w sn t 中的中间件服务进化而来,包括集群服务、w e b 组件服务以及开 发和管理工具。c o m + 由几个微软产品进化而来:组件对象模型( c o m ) 、分布 式组件对象模型( d c o m ) 、微软事务管理服务器( m t s ) 以及微软消息队列 ( m s m q ) 的一部分。现在c o m + 包括了几个中间件服务,有事务管理、资源 管理和安全管理等。 在w i n d o w sd n a 中,表示层包括c o r b a 客户端、w e b 浏览器中运行的 a c t i v e x 控件、独立运行的应用程序、i n t e r a c t 服务器a p it i s a p i ) 程序、活动 服务器页面( a s p ) 和静态w e b 网页。客户端使用微软动态目录服务定位中间 层组件,使用d c o m 对其他组件进行方法调用,消息同样也可以通过m s m q 、 c o m + 事件或其他组件技术进行异步发送。 1 2 c o m + 负载平衡队列组件对象池 事件模型更优的组件管理配置 图2 - 6c o m + 模型 c o m + 的分布式应用原理是:客户端程序通过组件注册表来调用组件对象, 得以访问分布在网络上组件对象方法,并获得结果。一般情况下,组件多配置 在服务器上面,由于服务器上的软硬件配置比较高档,使得这种应用系统运行 性能也高,节约了网络资源。 目前可以支持c o m + 组件开发的编程语言很多,如j a v a ,v i s u a lc + + ,v i s u a l b a s i c 、d e m p h i 、p o w c r b u i l d e r 等,具有较好的集成性和扩展性。 2 3 3 e j b 技术规范 e j b ( e n t e r p r i s ej a v a b e a n s ) 技术是s u n 微系统公司所推出的j 2 e e ( j a v a 2 p l a t f o r me n t e r p r i s ee d i t i o n ) 中的核心技术之一。s u n 微系统公司与其他公司合 作在1 9 9 6 年提出了第一个j a v a b e a n s 的规格书,于1 9 9 8 年推出了基于企业级 计算的e j b l 0 规范,在2 0 0 1 年正式发布了e j b 2 0 规范。e j b 技术是j a v a 服务 器端服务框架的技术规范,定义了如何编写和部署服务器端组件,提供了组件 与管理组件的应用服务器之间的标准约定,它是一种组件架构,应用程序开发 者可以专著于企业应用所需的商业逻辑,而不必担心周围框架的实现问题,使 得开发人员能够快速开发出具有可伸缩性、多层次、可移植性、跨平台和分布 式的高度复杂的企业级应用,实现了完全面向对象,同时还可以实现对象在 i n t e r n e t 上的移动执行。 第二章中间件技术原理 2 3 4 三种技术标准的比较 以上几种技术规范都已经有了相应的商业产品,在实际开发过程中会涉及 到技术标准的选择问题,究竟选择什么样的标准不仅关系到用户的切身利益, 也关系到每种技术标准自身的发展,毕竟每种技术只能得到用户的认可和使用, 才能得到发展和完善,才有存在的价值。表2 1 对比了每种技术标准的特点。 比较c o r b ac o m +e j b 操 可应用于u n i x 平台、仅限于w i n d o w s 平台,不局限于具体的操作系 作 w i n d o w s 平台和l i n t l x对其他平台的支持还不统 系 统平台够成熟 网 可以在u n i x 、l i n u x 和主要应用于n t 网络环可以跨平台操作,各种 络 环 n t 等网络环境下应用,境,在其他网络环境下网络环境都能应用 境 平台协作性比较好应用尚不成熟 1 支持静态、动态调1 组件制作容易,有众1 编程简单,开发容易 用方法多的支持开发工具2 不存在内存泄漏和 2 组件位置透明性2 商品化的组件比较指针问题 优 3 组件可在界面间继多3 通过虚拟机可实现 点 承3 组件位置透明性跨平台互操作 4 支持多线程服务,且4 静态、动态界面支持4 接口可多继承 不需初始化5 支持多线程服务 5 接口可多继承6 对象支持多接口 1 允许o r b 厂商进行1 仅允许界面继承1 开发语言单一 扩充,可能会影响可2 静态和动态调用需2 需要j a v a 虚拟机 移植性和互操作性不同的界面 缺 点 2 技术规范仍有待进3 多线程需要对c o m 一步标准化库进行初始化 3 非标准命令集 4 开发工具较少 支 c 、c + + 、j a v ac 、c + + 、j a v a 、v b 、j a v a 、j a v a 持 p b 等 语 + 占 表2 - l 三种技术规范的比较 1 4 第二章中间什技术原理 2 3 5 选择e j b 技术规范的原因 2 3 5 1e j b 技术与c o r b a 技术的比较 e j b 技术和c o r b a 技术都得到了业界的广泛支持,双方的关系如下: 1 一个c o r b a 客户机可以存取基于c o r b a 的e j b 服务器上的构件。 2 一个客户机在一个事务过程中可以同时调用c o r b a 和e j b 对象。 3 一个事务可以同时利用多个由不同开发商提供的、基于c o r b a 的e j b 服务器。 但是与e j b 技术相比,c o r b a 技术缺点是庞大而复杂,并且技术和标准 的更新相对缓慢,而e j b 是s u n 微系统公司自己定的,演变速度很快,且跨 平台性能良好。s u n 微系统公司基于r m i ( r e m o t em e t h o di n v o c a t i o n ,远程方 法调用) ,提出了e j b 技术标准,作为j 2 e e 服务器端技术标准,e j b 框架提供 了远程访问、安全、交易、持久和生命期管理,支持分布对象的服务。目前e j b 技术和c o r b a 技术有融合的趋势。 2 3 5 2 e j b 技术与c o m + 技术的对比 e j b 技术与c o m + 技术相比具有较大的优越性,主要表现在以下几个方面: 1 业界支持 任何一个商业化的技术要想拥有良好的市场态势,需要得到业内大企业的 支持与参与。e j b 技术是由s u n 微系统公司发起的,得到了广泛认可的技术标 准,由于m m 、b e a 、o r a c l e 等公司的参与,现在已经多达2 5 个服务器端平台 支持e j b 技术规范,同时由于采用开放的协作制定规范,e j b 也体现了产品供 应商的知识和专业经验,这意味着产品解决方案能够满足任何商业需求。与此 相比,c o m +技术是由微软公司单独制定 和完成的,没能得到业界广泛支持,选择这种架构,就会局限在某一个供应商 的技术实现上。 2 服务器端组件支持 , 一个健壮的服务器端平台应该同时能够支持商务处理软件和数据软件。商 务处理软件为客户端执行动作,而数据软件是内存中对后端存储器内数据的复 制,它通过将数据包装在对象内来对永久数据的访问,使方法和数据联系起来。 e j b 规范支持两类组件:商务处理组件( 会话b e a n ) 和数据组件( 实体 b e a n ) 由于可以同时利用两种组件的优点,这使得开发者在设计他们的服务器 第二章中间件技术原理 端系统时有了很大的灵活性。 c o m + 支持商务处理组件,即c o m + ,然而c o m + 没有数据组件的概念, 开发者必须在自己的商务处理组件中操纵表格数据,想办法创造组件库来执行 数据逻辑,有结构化编程的趋势,而不是面相对象的开发。这一切的结果就使 得c o m + 脱离了面相对象的范例,限制开发者去创造丰富的领域对象模型。 3 有状态和无状态商务处理问的比较 有状念商务处理是指一个跨多个方法调用的商务处理过程。无状态商务处 理是只在一个方法调用上的商务处理过程。有状态商务处理需要服务器为客户 保留状态,但无状态商务处理不需要。 e j b 通过有状态会话b e a n 隐式地支持有状态商务过程。而c o m + 组件不能 在一个事务处理之外保存状态,为了进行一次谈话,开发者必须手工地将会话 状态配置到每个事务的组件中,并在事务结束时手工释放状态。 4 保存现有的资产 e j b 技术可以充分利用用户原有的投资,如一些公司使用b e at u x e d o 、 i b mc i c s 、i b m e n e i n a 、i n s p r i s ev i s i b r o k e r 以及n e t s c a p ea p p l i c a t i o ns e r v e r 等, 每一个供应商都对现有的客户提供了不用废弃已有的投资,进入可移植的e j b 领域的升级途径。同时基于e j b 技术的产品可以在任何的操作系统和硬件环境 中运行,现有的操作系统和硬件也能被保留。但是微软公司的c o m + 技术需要 客户购买和安装w i n d o w s2 0 0 0 ,同时还可能需要用户购买新的硬件,客户就没 有可能使用原有供应商的许可或维护协议,增加了项目成本。 5 伸缩性 企业必须要选择一种服务器端平台,这种平台应能够提供极佳的可伸缩性 去满足那些在它们系统上进行商业运作的大批新客户,基于j 2 e e 平台的应用程 序可被部署到各种操作系统上,能消除系统中的瓶颈,允许多台服务器集成部 署,这种部署可达数千个处理器,实现可高度伸缩的系统,满足未来商业应用 的需要。 6 稳定的可用性 一个服务器端平台必须能够全天候运转以满足公司、客户、供应商和合作 伙伴的需要。因为i n t e m e t 是全球化的、无处不在的,即使在夜间按计划停机也 可能造成严重的损失,若是意外停机,可能会有灾难性的后果。j 2 e e 被部署到 可靠的操作环境中,它们支持长期的可用性。 7 中间件服务器的良好支持 e j b 提供了对中i 竹服务器的良好支持,如状态服务,让开发人员写更少 的代码,不用关心如何管理状态,这样能够更快完成程序开发;持续性服务, 6 第二章中间件技术原理 止丌发人员不用对数据访问逻辑进行编码就能编写应用程序,能生成更轻巧, 与数据库无关的应用程序,这些应用程序更易于开发和维护:分布式共享数据 对象c a c h e 服务,让开发人员编制高性能的系统,极大提高整体部署的可伸 缩性。 2 3 6 e j b 成为对象中间件的首选 e j b 技术代表的是一种前沿技术,它使得应用领域开发人员将开发精力放 在应用逻辑方面,复杂的多层结构应用系统变的相对容易。e j b 技术建立在己 取得极大成功的j a v a 语言之上,采用e j b 技术能有效的进行软件复用,提高开 发人员的效率,降低软件的开发和维护成本,提高软件的质量,控制所构建系 统的复用性。e j b 技术将使得j a v a 在企业应用中的地位得到加强,为基于j a v a 的应用系统提供了一个框架,同目前许多的系统和模型相比,e j b 具有许多的 优越性,种种迹象表明,e j b 有可能成为多层结构分布式应用系统的服务器端 构件模型的首选。 第三章e j b 技术4 - - 层结构 3 1 j 2 e e 框架 第三章e j b 技术与三层结构 s u n 微系统公司在企业版中增加了一整套核心企业应用程序编程界面,所 有这些界面为标准的模块化组件。j 2 e e 技术还为这些组件提供套企业服务, 通过自动化的方式完成应用程序开发中的诸多耗时费力的工作,为客户提供一种 可创建广泛兼容的企业解决方案,而无需进行复杂编程的平台。 j 2 e e 使用了e j bs e r v e r 作为商业组件的部署环境,在e j bs e r v e r 中提供了 分布式计算环境中组件需要的所有服务。有些企业级的e j bs e r v e r 还提供了支持 高可用性和高性能的群集技术、失败的自动转移和恢复、应用负载的自动均衡能 力等。实现商业逻辑的e j b 组件可以更加高效地运行在应用服务器中,支持多 种客户端的访问,h t t p 的客户端可以向运行在w e

温馨提示

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

评论

0/150

提交评论