




已阅读5页,还剩48页未读, 继续免费阅读
(计算机应用技术专业论文)基于corba的广告管理信息系统服务器的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c p i 村人学硕i 学位论义 中南人学坝f j 学位论史 摘要 随着以网络计算为中心的应用系统规模的扩大和软硬件结构的日趋复杂多样, 客户端和服务器端的负担日益繁重并且传统软件的移植性、互操作性和重用性也 都不能满足现在的性能需求。传统的客户机服务器模式是一种双层模型。这种双层 的客户机服务器方案的优点在于实现数据访问相当简单,g u i 可与数据源直接约束 在一起数据维护的所有细节都可以得到自动控制。但是它也存在着很多的不利因 素。尽管数据访问得到了简化,但却缺乏灵活性。为此现代企业所采用的软件构架 都朝着客户中间层, q l l 务器迈进。这种基于构件的三层客户机服务器的优点可概括 为四个方面:可重用性,灵活性、可管理性、易维护性。 本文通过对广告公司信息管理系统服务程序的设计,提出了以c o r b a 技术为基 础,结合构件技术,设计了电广传媒广告分公司的管理信息系统服务器程序,从而 基本上解决了现有的广告管理信息系统可重用、灵活性、可管理、易维护等问题。 本文从体现多层客户机服务器的优点出发主要围绕基于c o r b a 的服务器模型 的核心技术展开说明了组件技术的重要作用。文章首先分析了电广传媒现有的信 息系统存在的弊端,接着提出了以构件技术和c o r b a 技术设计该管理信息系统的方 案。设计的重点是如何以构架为中心,以面向对象的思想来设计业务组件以及设计 时的一些关键技术。文章最后对该项目的设计作了总结,指出了系统中存在的需要 进一步完善的问题以及在该设计过程中自己的心得体会。 关键字:c o r b a ,构件技术,客户中间层服务器模式 c p i 村人学硕i 学位论义 a b s t r a c t a st h ea p p l i c a t i o n s t h a tb a s e do nt h en e t w o r kc o m p u t a t i o ng e tm o r e c o m p l i c a t e d t h eb u r d e no nt h ec l i e n ta n dt h es e r v e ri nt h et r a d i t i o n a lc sm o d a l a l s ob e c o m e h e a v y a n d t h et r a d i t i o n a ic sm o d a ic a n tm e e tc u r r e n tr e q u i r e m e n t s u c ha sp r o g r a m m i n gt r a n s p o r t a t i o n ,i n t e r a c t i o na n dr e u s e t r a d i t i o n a lc sm o d a l i sat w o t i e rm o d a i i t sm e r i ti st h a ti tc a ne a s i l ya c c e s st h ed a t a b a s e b u ta tt h e s a m et i m e ,i th a sm a n ys h o r t c o m i n g s a m o n gt h e m ,t h em o s ti m p o r t a n to r ei si t i a c k sf l e x i b i l i t y s ot o d a y m o s te n t e r p r i s e sc h o o s et h ec l i e n t m i d d e l w a r e s e r v e r m o d a lt ob u i l dt h e i rm a n a g e m e n ti n f o r m a t i o ns y s t e m s 仆 i s ) t h i st h e r e t i e r m o d a lh a sm a n ya d v a n t a g e ss u c ha sr e u s a b i l i t y f l e x i b i l i t y ,e a s ym a n a g ea n d e a s ym a i n t e n a n c e t h r o u g hd e s i g n i n gm a n a g e m e n t i n f o r m a t i o n s y s t e m f o rh u n a n a d v e r t i s e m e n tc o m p a n y 。t h i sd o c u m e n td e s c r j b e dh o wt ob u ij dm i sf o rc ur r e n t e n t e r p r i s e sb yu s i n g c o r b at e c h n i q u ea n dc o m p o n e n tt e c h n i q u e a n dt h i s s o l v e st h er e u s a b i l i t y ,f l e x i b i l i t y ,a d m i n i s t r a b l ea n dm a i n t a i n a b 川t y i no r d e rt oe m b o d yt h ev i r t u e so fm u l t i - t i r ec s t h i sd o c u m e n td e s c r i b e dt h e i m p o r t a n c eo fc o m p o n e n tt e c h n i q u eb yd e p l o y i n gt h ec o r et e c h n i q u eo ft h e s e r v e rm o d e lb a s e do nc o r b a a tf i r s t t h i s d o c u m e n t a n a l y z e d t h e s h o r t c o m i n g so ft h em a n a g e m e n ti n f o r m a t i o ns y s t e mt h a tc u r r e n tp o s s e s s e db y h u n a na d v e r t i s e m e n tc o m p a n y t h e nap r o j e c tb a s e do nc o m p o n e n t t e c h n i q u e a n dc o r b a t e c h n i q u ei sp u tf o r w a r d t h ec o r e so ft h i sp r o j e c ta r eh o wt o d e v e l o pe n t e r p r i s ec o m p o n e n t sc e n t e r e do nf r a m e t h r o u g ho b j e c to r i e n tt h o u g h t a n ds e v e r a lc r i t i c a lt e c h n i q u e s a tl a s t ,t h i sd o c u m e n t g e n e r a l i z e st h i sa r t i c l e a n d p o i n t so u tt h es h o r t c o m i n g so ft h i st o p i c k e y w o r d :c o r b a ,c o m p o n e n tt e c h n i q u e ,c l i e n t j m i d d l e w a r e s e r v e r m o d a i 第页 c p i 村人学硕i 学位论义 第一章绪沦 1 1 课题背景及意义 1 1 1 课题来源 本课题来源于“湖南电广传媒广告分公司广告管理系统”。广告分公司是湖南电广传媒 股份有限公司的一个重要分公司,统一经营和管理湖南各大媒体( 湖南电视台卫星频道、湖 南经济频道、湖南有线广播电视台、文体频道、生活频道、有线影视频道、湖南广播电视报) 的广告业务。既与客户直接打交道,进行广告合同的签订、广告的播出安排以及费用的收取, 又与广告的播出部门关系密切。其广告合同签订的业务繁杂,财务处理复杂,监播工作繁重, 迫切需要一套高效、全面、方便的计算机管理信息系统( m i s ) 来加强管理、提高工作效率, 为领导决策提供准确、及时的信息支持。 由于广告业务的正常开展经常要受到政策、价格、编播中的具体困难、用户的资金状 况、企业内部协作的紧密程度等因素的影响。湖南电广传媒广告分公司现有的广告管理系统 是单机版的,只能由专人负责处理信息,这种系统限制了公司的业务处理速度以及业务扩 展的需要,不适台现代企业的发展。为此,有必要设计出一套计算机信息管理系统软件,以 方便对订单合同在业务接洽、财务结算、编播管理等业务体系进行有效的运作管理,对部 c 蝮部f 丁- 、人员与人员间的协作关系与协作效率进行相应的改善川。 1 i 2 应用背景 网络技术的发展,为分布式计算带来了应用需求驱动和底层技术保障。然而,技术是为 解决问题而产生的。不同的问题,不同的需求,不然会发展成不同的解决的技术。在这里探 讨的是面向企业计算领域的分布式计算技术。 随着经济的全球化企业、企业间各部门的地理分布也日益趋向“全球化”。而市场的 快速变化,要求各个部门间,企业之间的信息流动更快。这不光就要求企业原来的各种计算 资源能互联在一起,提供快速的、2 4 x 7 的不间断的应用处理,并且不同企业间也要有一定 程度的信息共享。企业应用的计算结构相对大单一( 一般采用两层、三层或多层客户服务器 计算结构) ,其上的应用相对固定( 完成企业的业务处理功能) 。但是,这些应用一般情况 下不能终止,以保证企业的正常运转,即应用的高可靠性:还有的企业,如银行,有安全、 支持i n t e m e t 上大量的并发访问。因此,面向企业计算的分布式计算技术必须要考虑异构平 台互联、高可用、安全等的需求。 1 1 3 课题背景 面向企业的分布式应用具有复杂的需求,其中可以将这些需求区分为企业分布式应用的 业务逻辑需求,企业的业务处理本身的需求以及除此之外的其他需求,如要求分布式应用 具有高的可用性、可伸缩能力等等。对于企业应用开发人员来说,针对业务逻辑内容的实现 相对比较容易掌握而针对分布式应用高可用等内容的实现则一般并不熟悉。种可行的方 第1 页 c p i 村人学硕i 学位论义 案是将这些内容统一由第三方软件商来实现,如购买专用中州件软件。然而,对丁中小型企 业来说,购买大型中间件软件代价昂贵,且由于企业规模、应_ ; j 特点的限制,并不一。定能完 全发挥中间件软件的全部功能。 最适合上述企业用户的解决方案是采用通用的分布式计算平台技术,如c o r b a 、企业 级j a v a 或微软的d n a 2 0 0 0 技术。在这些计算平台中,一方面嵌入了支持系统高可用的内 容和相对廉价而有效的解决方案;另一方面也使得企业分布式应用的开发能够获得较高的通 用性,并可以使用比中间件技术更规范和完整的系统开发技术、软件工程技术。 目前尽管这些分布式计算平台技术给出了完整的企业应用解决方案,但在构造企业 分布式应用过程中,开发人员仍然面临大量的应用编程模式、程序设置开关以及如何集成各 种服务等复杂的内容,这无疑还是增加了应用开发人员的难度:而在另一方面,当今的企业 绩布式座用,必须支持企业应用的通用、易开发、高效灵活、高度可用等性能,并且开发的 成本在可接受的范围内,才能满足复杂的应用需求,并适应快速的需求变化,这无疑对面向 企业的分布式应用软环体系结构、开发方法、开发质量提出可更进一步的要求。 软件设计方法学研究使我们可以在基于软件构件、构件重用、软件组合的技术基础上, 将其应用于分布式计算领域,通过理由组装方法代替生产方法,实现基于构件的企业分布式 应用。这形成了新的面向分布式计算的软件工程方法,它能够显著提高分布式应用开发的通 用性、高效性和灵活性。 1 1 4 课题意义 研究该课题的意义在于: l 解决重复开发应用系统的成本; 2 降低系统的维护成本; 3 可增加应用系统的重复使用性; 4 发挥面向对象分析,面向对象设计的功能。 1 2 研究现状及电广传媒广告管理系统简介 1 2 1 研究现状 广告管理系统是在广告业务迅猛发展的形势下应运而生。它使大量的工作人员从旧式的 手工操作进入了科学的、高效的计算机操作,从而使电脑的应用从报社编辑部门和生产部门 延伸到广告部门以及其它经营管理部门并使上述部门利用计算机联成一个有机整体,并逐 步走向全面电脑化管理。 目前,广告管理系统在国内并不算是刚阿0 起步,在这一领域内有几家公司从事类似软件 的开发并有一些产品推出如北大方正经略广告管理系统,山东宏智的广告管理信息系统等。 北大方正经略广告管理系统采用完全的c 1 i e n t s e r v e r 体系结构,包含日常业务、经营 管理、决策分析三个层次的内容。其中日常工作流程部分,包括广告代理公司广告客户的 资料管理、广告业务订单处理、财务处理、版面调度、创意制作等广告部门的日常业务的操 第2 页 c p i 村人学硕i 学位论义 作和处理,通过数据庠对这些同常业务的原始基础数据进行存储,具备准确性、完备性,吲 时提供快捷的查| 旬功能。经营管理部分实现了报社广告部门的整体管理同时实现了数字化 统计、查询处理,对j “告业务原始数据进行二次加j 二,实现对日常业务进行实时、动态的事 前管理和控制,同时提供对领导层的服务功能。决策分析部分实现了报社广告部fj 数字化的 实时决策和管理。统计分析报表包含财务报表、经营报表、出报分析报袭、业务员业绩报表、 广告投放排名报表、账龄分析等几大类。 山东宏智的广告管理信息系统则是针对单个用户的系统,该系统完全针对广告公司的当 前操作量身定制,符合用户的个人习惯。其系统功能也包括日常业务,经营管理和分析决策 三大部分并能完成其基本功能。 纵观这些系统,经过分析,我们可以发现在系统的研究、开发现状,主要还存在一些问 题:系统的设计针对单个用户,因而使得工作效率无法提高;基于两层结构的设计还不能完 全满足现代企业发展的需求,并未考虑系统的扩展。因而有必要在总结这些系统的经验教训 上设计一个兼顾效率和业务扩展的系统。 1 2 2 电广传媒广告管理系统简介 电广传媒广告管理系统共分为时段价位信息管理模块、电子结算模块、广告业务模块、 监播管理模块、统计分析模块和虚拟银行服务六大模块。由于该系统的电子结算模块和虚拟 银行服务在未来的版本中可能直接与银行相连接,而银行的操作系统一般都采用u n i x ,因 此在设计该系统时采用跨平台技术较好的c o r b a 技术。采用构件技术将使得系统更容易得 到扩展,也使得程序的开发更具灵活性,简易性。本文将在第二章中对分布式构件技术作一 介绍。第三章中,本文将详细讲述电广传媒广告管理系统所基于的关键性技术c o r b a 技术。 1 3 本文的主要工作 本文的主要工作有以下几个方面: 1 、了解现代企业对分布式计算的需求。 2 、在c o r b a 分布式对象技术的基础上,研究c o r b a 构件规范的技术原理及分布式系统 中服务器端分布式应用的构造技术。 3 、设计并实现广告管理系统的应用服务器。 1 4 论文的结构 本文共分为六章,各章的内容概述如下: 第一章为绪论,介绍了本课题的来源,课题的背景。说明了本课题的内容,并论述了 本课题研究的意义。 第二章主要介绍了分布式对象模型以及当前构件技术的三大主流:c o r b a ,e j b , c o m d c o m c o m + ,并对三者作了比较。 第3 页 c p i 村人学硕i 学位论义 第。章上要对本课题所采用的c o r b a 技术作了较为详细的介纠,井分析1 rc o r b a 的模型。 第四章主要阐述了如何利j 【= i jc o r b a 技术来设计广告管理系统。 第五章为广告管理系统的实现中所采用的几个关键技术,包括:多线程技术,数据完 整性,负载均衡,异步通讯和安全机制。 第六章对本文作了总结。 第4 页 c p i 村人学硕i 学位论义 第二章分布式构件技术 2 1 分布式对象模型 8 0 年代末至9 0 年代初,分布式对象模型( d i s t r i b u t e do b j e c tm o d e l ,d o m ) 的概念 逐渐形成它以对象技术为基石,将对象技术融入分布式环境中,支持在分布式环境下对象 之间的互操作和协作,最终建立开放的分布式系统。d o m 己逐渐成为公认的分布式异构环境 下的主流计算模型口i 。 以d o m 的观点,分布式环境中的一个自治系统或一个应用都可视为对象或一组对象, 分布式系统中可共享的软硬件资源,如文件、数据库、打印机、硬盘空间等等,都被操作它 们的对象所封装。对象对外提供操作接口,操作由消息激活,在协调机制控制下,对象之间 通过传递消息共同完成任务。 d o m 还提供管理维护工具,它包括大量对象的创建、浏览、复制、注册、注销等,各种 数据库( 存放对象的元信息) 的维护,如一致性、完整性,以及各种安全控制。 d o m 为分布式环境下的资源提供了统一的视图,对象接口和消息传递屏蔽了异构性和分 布性,协调机制解决了互操作性,分布式系统的设计、实现和管理得以大大的简化。 分布式对象意味着对象与其他对象具有客户服务器的关系,分布式对象模型( 如图2 - 1 所示) 分布式异构环境下对象之间互操作和协作的主流计算模型。用这个模型去观察分析环 境,无论多么复杂,它都被视为由一系列对象组成,这些对象都利用统一的接口向外界( 即 分布式环境) 发布自己的功能服务。在对象管理的支持下,这些对象通过消息与消息协调机 制相互使用和提供服务实现互操作和协作,共同形成分布式环境的综合功能。 困团 l消息协调机制 幽 图2 1 分布对象模型示意 目前,国际上分布式对象技术有三大流派:c o r b a 、e i b 、c o m d c o m c o m + 。以下 分别对这三种技术作简要介绍。 2 2 公共对象请求代理结构c o r b a c o r b a 体系结构是对象管理组织( o m g ) 为解决分布式处理环境( d c e ) 中,硬件和软件系统 的互联而提出的一种解决方案。1 9 9 1 年0 m g 提出了c o r b a l 1 ,定义了i d l 接口定义语言, 第5 页 c p i 村人学硕i 学位论义 开发出对象请求代理o r b 中间f ,i :,在客户机服务器结构中,o r b 通过定的应用科序接 ( a p i ) ,实现对象之间的交互。1 9 9 4 年1 2 月o m g 完成了c o r b a 20 ,提出了i i o p ( i n t e r n e t i n t e ro b j e clp r o t o c 0 1 ) ,用以规范不同厂家的o r b 之间的真正互通,同时增加了互操作性 和对c ”及s m a l l t a l k 的匹配o m g 期望通过上述规范建立一种“连接世界的体系结构”。 c o r b a 在面向对象的标准化和互操作上迈出了坚实的一步。使用c o r b a 。用户能在不知道软 件和硬件平台以及网络位置的情况下透明的获取信息。c o r b a 自动进行许多网络规划任务如 对象注册、定位、激活:多路径请求:分帧和错误处理机制;并行处理以及执行操作;作为 面向对象系统中的通信核心,c o r s a 为当代的计算环境中带来了真正意义上的互联。 2 2 1c o r b a0 m g 参考模型 当1 9 8 9 年对象管理组织组建时,就强调异构系统的可移植的、分布式应用程序的开发 问题。自那时起,o m g 已经收到了大量来自业界的反馈,目前它是世界上最大的软件团体 拥有8 0 0 多个成员,包括了除m i c r o s o f t 之外的全部的业界大型厂商。大体上讲, 这是由于 o m g 参与制定的技术对于一些具体问题作了合理的抽象,并隐藏了低层的细节。尤其是, 由o m g 制定的最关键规范o m a ( o b j e c t m a n a g e m e n t a r c h i t e c t u r e 对象管理体系) 和 它的核心( 也就是c o r b a 规范) 提供了一个完整的体系结构。这个构架以足够灵活、 丰富的形式适用于各类分布式系统。 图2 2c o r b ao m g 参考模型 如图2 - 2 所示,o m a 定义了其体系结构和一组适合于异构分布式计算的服务,其核心 是o r b ( o b j e c tm a n a g e m e n t b r o k e r ,对象请求代理) 。o r b 提供了通信基础,处理诸如查 找服务器、启动服务器、在客户机和服务器之间交换和打包数据等事情。正是因为提供了位 置透明性、平台独立性,使得o r b 成为了o m a 的核心。它使得对象在分布式环境中可以 透明地发出请求或接受响应。 o m a 体系结构的其它部分是c o r b a 服务( c o r b as e r v i c e ) ,c o r b a 设施( c o r b a f a c i l i t i e s ) ,c o r b a 领域( c o r b ad o m a i n ) 和应用对象。c o r b a 提供了一组底层服务, 这些服务极有可能根植于每一个系统中。这些服务包括命名服务,持久性、事务服务和安全 服务等。c o r b a 设施提供了一些如打印管理等高层服务,如今,这些高层服务已经和标准 进程集成在一起,而不像以前的版本中的那样处于分散状态。作为在o m g 中增长最快的部 第6 页 c p i 村人学硕i 学位论义 分,c o r b a 领域表述的是和行业有关的标准,o m g 涉及的行业有制造业- 电信业,医疗 健康,金融业等。o m a 的最后一个成份应用对象并没有标准化,它们所表述的是用户自己 的客户机和服务器应用程序。在这个体系结构中,它们被显示地标注并且平等地参与活动, 就像任何其它的对象实现。 设计o m a 是为了提供一些实现分布式系统所需的工具。在做应用集成时,不提倡完全 自己实现其框架和服务,o m a 可以作为一个选择。通过对在分布式技术领域里优秀的技术 专家的经验的收集与整理定义了这套体系和服务。在定义和实现接口之前,应首先看看 o m a 和c o r b a 是否已经定义了所需要的元素。当然,总能扩展这个体系结构以满足特殊 的需求。因为o m a 分离了接口和实现,为了满足对特殊的服务质量和其他方面的需求可 以购买不同提供商的产品或是自主开发实现。 2 2 2c o r b a 的特点 1 、c o r b a 定义了一种面向对象的软件构件构造方法,使不同的应用可以共享由此构造出 来的软件构件; 2 、每个对象都将其内部操作细节封装起来。同时又向外界提供了精确定义的接口。从而 降低了应用系统的复杂性,也降低了软件开发费用: 3 、c o r b a 的平台无关性实现了对象的跨平台引用,开发人员可以在更大的范围内选择最 实用的对象加入到自己的应用系统之中; 4 、c o r b a 的语言无关性使开发人员可以在更大的范围内相互利用别人的编程技能和成 果,是实现软件复用的实用化工具1 4 1 。 2 3 企业级j a v a b e a ne j b 2 3 1e j b 结构 e n t e r p r i s ej a v ab e a n s ( e j b ) 是近几年提出的,其技术的主要目标是,成为创建分布 式的、面向对象的电子商务系统的标准组件体系结构。e j b 体系结构为高度专门化的业务逻 辑组件提供格式e j a 组件封装企业逻辑,从而避免应用程序员考虑系统级的问题,这些问 题包括:事务、安全性、伸缩性、并发问题、通信、资源管理、持久化、错误处理、操作环 境的无关性等等ne j b 结构如图2 - 3 所示。 a v a h e a n 构件 i l o p 或其它协议| l 广o z _ 一 i s e r v e l e t s 企业j a v a b e a n 构件 阱 j d b 图2 - 3e j b 结构 第7 页 c p i 村人学硕i 学位论义 企业j a v a b e a n 各组成部分的含义为: 1 、j d b c ( j a v a d a t a b a s ec o n n e c t i v i t y ) :基于s q l 标准j a v a 数据库连接t 其基本功能和 设计与o d b c 相似: 2 、j a v ar m l ( j a v ar e m o t em e t h o di n v o c a t i o n ) :j a v a 远程方法调用: 3 、j n d l ( j a v a n a m i n g a n d d i r e c t o r y i n t e r f a c e ) :j a v a 名字与目录接口: 4 、j a v ai d lf j a v ai n t e r f a c ed e f i n i t i o nl a n g u a g e ) :j a v a 接e l 定义语言; 5 、j t s ( j a v a t r a n s a c t i o ns e r v i c e ) :j a v a 事务管理服务; 6 、j m a p i ( j a v am a n a g e m e n ta p i ) :j a v a 网络管理a p h 7 、j m s ( j a v am e s s a g es e r v i c e ) :j a v a 消息传递服务。 用c o r b a 的观点来看,e j b 中包括了分布式构件的基础结构,也包括了各类公共服务 构件。并且由于j a v a 与生俱来的跨平台性和语言的一致性,使其成为软件构件模型的一个 有力的竞争者。 2 4 构件对象模型( c o m d c o m c o m + ) 2 4 1c o m d c o m c o m + 简介 c o l ( 是微软公司制定并颁布的一种不依赖任何编程语言的构件对象模型”。c o m 中的对 象是一种二进制代码对象,其代码形式是d u 或e x e 执行代码。t o m 中的对象都被喜接地注 册在w i n d o w s 的系统库中,所以t o m 中的对象都不再是由特定的编程语言及程序设计环境所 支持的对象,而是由系统平台直接支持的对象。为了区别于各种特定编程语言定义的源代码 对象,c o m 中的对象被称为构件对象或c o i l 对象。c o m 对象可能用各种编程语言实现,并为 各种编程语言所引用。t o m 对象之间以及t o m 对象与外界之间的交互方式仍然是对象方式的, 只不过这种交互也是由系统平台直接支持的。c 0 h 对象作为某个应用程序的构成单元,它不 但可为该应用程序中的其它部分,也可以单独的为其他应用程序系统提供服务。c o m 已成为 微软技术的基础在w i n d o w s 操作系统本身和o f f i c e 映红程序中都广泛的采用了该技术。 c 0 1 1 技术达到的基本目标是:即使对象是由不同的开发人员用不同的编程语言实现的,在开 发软件系统时,都要能够有效的利用已经存在于其他已有软件系统中的对象,同时也要使当 前所开发的对象便于今后开发其它软件系统时进行重用。为了实现与编程语言的无关性设 法在源代码层实现编程显然不是一种进行重用的好方法。c o m 解决这一问题的方法是将c o m 对象制作成二进制可执行代码,然后在二进制代码层,为对象提供标准的互操作接口,以及 使用这种标准接口的统一方式,并且由系统平台直接对to m 对象的管理与使用提供支持。 c o m 具有语育无关,进程透明和可重用的特性。 d c o m 作为c o m 的扩展,它不仅继承了c o m 的优点,针对分布式环境它也提供了一 些新的特性,如:位置透明性,网络安全性,跨平台调用等。d c o m 实际上是对客户调用 进程外服务的一种改进通过r p c 协议,使客户通过网络可以以透明的方式调用远程机器 上远程服务。在凋川过程巾,客户井不是直接调用远程机器上的远程服务而是首先在本地 第8 页 c p i 村人学硕i 学位论义 机器t 建立一个远j f ! f ! 服务代理,通过r p c 协议,调川远程机器上的存根,由存根米解析客 户的调用以映射到远程服务的方法或属性上。和进程外服务样,为了适应跨网络的需要, 必须对数据进行打包,在d c o m 规范中,其主要使用了0 集( m a r s h a l i n g ) 散集 ( u n m a r s h a l i n g ) 过程。列集是指客户调用构件对象的成员函数时,它实际上调用本进程内 代理对象的对应成员函数,由代理对象负责将客户的参数从堆栈中读出来,并写到一块内存 缓存区中,以便它们可以在网络上按数据包的方式传输。散集过程与列集过程相对应,但远 程机器上的存根代码接收到这些列集数据之后,它用这些数据重新建立堆栈,这个堆栈就像 客户代码使用的原始堆栈。一旦堆栈被建立起来,存根代码就可以调用构件对象的成员函数, 但调用返回时。任何返回值和输出参数需要从堆栈中进行列集处理形成新的列集数据,并 通过网络协议传输到客户机器上,由代理对象把结果散集到客户堆栈中,最后函数返回到客 户代码完成对远程构件对象的调用n c o m + 不但继承了c o m 。d c o m ,m t s 的许多特性,同时也新增加了一些服务,如:负 载平衡、内存数据库、事件模型、队列服务等。c o m + 新增的服务为c o m + 应用提供了很强 的功能。建立在c o m + 基础上的应用程序可以直接利用这些服务而获得良好的企业应用特 性i ”。c o m + 不再局限于c o m 的组件技术,它更加注重子分布式网络应用的设计和实现。 这正符合微软公司推出的w i n d o w s d n a ( d i s t r i b u t e d i n t e r n c t a p p l i c a t i o n a r c h i t e c t u r e 分布式 网际应用结构) 策略,因此c o m + 在该策略中扮演了重要的角色,被称为w i n d o w sd n a 的 粘合剂。 2 5 三者问的比较 应该说,在这三者中,c o r b a 标准是做的最好的。c o r b a 标准主要分成3 个层次: 对象请求代理、公共对象服务和公共设旆。最底层是对象请求代理o r b ,规定了分布式对 象的定义( 接口) 和语言映射,实现对象间的通讯和互操作,是分布式对象系统中的“软总 线”;在o r b 之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务服务、 安全服务等各种各样的服务:最上层的公共设施则定义了构件框架提供可直接为业务对象 使用的服务,规定业务对象有效协作所需的协定规则。总之,c o r b a 的特点是大而全,互 操作性和开放性非常好。目前c o r b a 的最新版本是3 0 ,增加了有关i n t e r a c t 集成和o o s 控制等内容。c o b r a 的缺点是庞大而复杂,并且技术和标准的更新相对较慢,c o b r a 规 范从1 0 升级到2 , 0 说话的时间非常短,而在往上的版本的发布就相对缓慢了。 相比之下,j a v a 标准的制定就快得多,j a v a 是s u n 公司自己定的,演变得很快。j a v a 的优势是纯面向对象的语言,跨平台性非常好。j a v a 分布式对象技术通常指远程方法调用 ( r m i ) 和企业级j a v a b e a n ( f a b ) 。r m l 提供了一个j a v a 对象远程调用另一j a v a 对象的方法 的能力,与传统r p c 类似,只能支持初级的分布式对象互操作。s u n 公司于是基于r m i , 提出了f a b 。基于j a v a 服务器端构件模型,e j b 框架提供了像远程访问,安全、事务、持 久和生命周期管理等多种分布式对象计算的服务。目前,j a v a 技术和c o r b a 技术有融合的 第9 页 ! ! 堕叁兰堡! 竺堡堡兰 趋势p 1 。 c o m 技术是m i c r o s o f t 独家做的,是在w i n d o w s 3 1 中最初为支持符台文档而使用o l e 技术上发展而来,经历了o l e 2 c o m 、a c t i v e x 、d c o m 和c o m - f 等几个阶段目前c o m + 把消息通讯模块m s m q 和解决关键业务的事务模块m r s 都加进去了,是分布式对象计 算的一个比较完整的平台m i c r o s o f t 的c o m 平台效率比较高,同时它有一系列的相应的开 发工具支持,应用开发相对简单。但它有一个致命的弱点就是c o m 跨平台性较差,如何实 现与第三方厂商的互操作性始终是它的一大问题。从分布式对象技术发展的角度来看,大多 数人,认为c o m 竞争不过c o b r a 。 县煎粼垮常谈到的分布式对象技术主要就是这3 种,涉及到它的模型、规范、标准 和实现。3 种分布式对象技术的详细比较见下表2 一l : 表2 13 种分布式对象技术的详细比较 c o r b a 0 r ba c t i v e x d c 0 me j b 跚1 支持跨语言操作 好好 一般 支持跨平台操作好一般好 网络通讯好一般好 公共服务构件 好一般好 事务处理好一般一般 消息服务一般一般一般 安全服务 好一般好 目录服务好一般一般 容错性一般一般一般 产品成熟度一般一般一般 软件开发商支持度一般好好 可扩展性好一般好 其中: 1 、集成性:集成性主要反映在基础平台对应用程序互操作能力的支持上。它要求分 布在不同机器平台和操作系统上采用不同的语言或者开发工具生成的各类商业应 用必须能集成在一起,构成一个统一的企业计算框架。这一集成框架必须建立在网 络的基础上,并且具备对于遗留应用的集成能力; 2 、可用性: 要求所采用的软件构件技术必须是成熟的技术,相应的产品也必须是成 熟的产品,在至关重要的企业应用中能够稳定、安全、可靠的运行。另外,由于数 据库在企业计算中扮演着重要角色,软件构件技术应能与数据库技术紧密集成: 3 、 可扩展性: 集成框架必须是可扩展的,能够协调不同的设计模式和实现策略,可 第1 0 页 c p i 村人学硕i 学位论义 以根据企业计算韵需求进行裁减,并能迅速反应市场的变化和技术的发展趋势。 通过保证当前应用的可重用性,最大程度地保护企业的投资。 2 ,6 本章小结 本章首先对分布式对象模型作了简要的叙述,然后分别介绍了现在流行的几种构件技 术;c o r b a 、e j b 以及c o m d c o m c o m + ,最后对这三者作了一个粗略的比较。从比较的结果来 看,我们可以得出三者中以c o r b a 最为优秀,这也正是选用它作为湖南电广传媒广告公司管 理系统主要技术的原因之一。下一章中。本文将对c o r b a 作出较为详细的介绍。 第1 1 页 c p i 村人学硕i 学位论义 第三章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 1 基于分布式对象计算的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 采用一定的手段增强分布式计算【1 0 1 : 允许客户机与服务器间灵活变化的关系,即服务器于客户机有可能互换,来充当对方的 角色;加入一个称为代理的中介,利用这个代理中介可以实现客户即于服务器之间的通讯, 使得客户机无需知道服务程序的具体位置和内部实现细节:允许服务器有多个进程,这使得 处理客户机请求的效率将得到提高;支持同步及异步两种通信形式。 对象模型是对象计算中的概念,是考虑问题及其可能解决方案的概念性框架对象模型 是建立在对象概念的基础之上的,对象提供了将行为和属性结合成一单独实体的手段。使用 对象模型具有以下优点: 定义一个基于现实世界的系统模型:把系统逻辑地分成能完成特定任务的对象,这样每 个完成特定任务的对象在实现时无需考虑太多的细节;当需求改变时扩展模块:需求变化 时,只器将新的模块对象实现,而不必重新编译整个应用程序。 在c o r b a 中分布式计算和对象模型的结合实现了相互促进。c o r b a 在分布式计算和对象 模型环境中加入了下列内容: 1 、分布式计算方面的增强:对分布式计算环境,c o r b a 在环境中加入了特定对象的引 用。在c o r b a 中,要完成某个操作,所需要做的仅仅是请求某个有能力完成该操作的对象去 完成它,客户机不需要知道更多的信息; 2 、对象模型方面的增强:对于对象模型,c 0 r b a 加入了代理器的概念。代理器使应用 程序不需要知道对象在网络上哪个地方和对方是如何工作的就可以进行交互,只有代理器需 要知道c o r b a 服务器和客户机在网络上的位置。 第1 2 页 c p i 村人学硕学位论义 3 2c 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 tb r o k e r a r e h i t e c t u r e ) 。这是一个通过请求代理( o r b ) 定位和激活其它对象的规范。c o r b a 对象模 型的基本思想如下】: l 、对象是一个被封装的实体,提供一个或多个服务。 2 、客户用一种独立于语言的请求方式请求服务器服务那些封装后实现的对象都是服 务器能够动态加载的实体( 对象实现) 。 3 、客户发出请求,获得服务。请求包括目标对象的信息( 对象引用) ,操作名字,操 作所需的实际参数,必要的时候还要加上操作语境等。请求可以由预编译器生成,也可 以由动态请求机制来产生。一个请求将完成一个服务,如果有一个非正常的条件发生, 请求将返回一个异常情况。客户所发出的请求经过对象请求代理传递给相应的对象实 现。 4 、客户可能发出的操作请求由对象实现的接口定义。接口由删g 的接口定义语言( 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 允许说明模块、接口、异常、常量和类 型定义等。模块规定了变量作用域。接口除定义类型、常量和异常外,还包含属性级操 作的说明,同时接口可以通过单重或多重的方式继承。在实际使用中,类型信息可以通 过i d l 接口获得,也可以通过存根程序或接口池来获得。 5 、o r b 通过一个或多个对象适配器( o a :o b j e c ta d a p t e r ) 向客户提供服务。每个对 象适配器将提供对象引用生成与解释的方法,对象实现的创建与销毁手段,对象实现的 注册等等。不同的对象适配器适用于不同的实现组,如数据库适配器,安全性适配器等。 c o r b a 的体系结构如图3 - 1 所示。 图3 1c o r b a 体系结构 3 2 1c o r b a 的主要组成部分: c o r b a 系统由以下五个主要部分组成【3 j : 第1 3 页 c p i 村人学硕i 学位论义 ( 1 )o r b 内核 ( 2 )接口定义语言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 ) ( 4 )动态激活接口d i i ( d y n a m i ci n v o c a t i o ni n t e r f a c e ) ( 4 )接口池i r ( i n t e r f a c er e p o s i t o r y ) ( 5 )对象适配器o a ( o b j e c ta d a p t e r s ) 1 、o r b 内核 在o m g 对象模型中。由对象提供服务,而客户根据自己的需要向o r b 发出请求,由服务 对象根据客户的请求,执行相应的服务。o r b 的作用就是将客户的请求传递到服务对象并且 将相应的执行结果返回给客户。这个过程对客户来说是完全透明的。他无需知道:对象驻留 在网络上的何处;对象问是如何通讯的;对象是如何实现的、如何存储的、如何执行的。 o r b 系统运行过程概述【1 2 】: 当一个客户要使用某个对象实现所提供的服务时,其操作步骤大致如下: ( t ) 客户通过某种方式找到特定对象实现的对象引用; ( 2 ) 如果该对象实现有相应的i d l 桩,则客户可以通过该i d l 桩向对象实现发送请求。 否则,在接口库的协助下,客户可以使用动态调用接口来向对象实现发出请求; ( 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江苏连云港恒驰实业有限公司招聘5人模拟试卷及答案详解(易错题)
- 2025春季国家电投广东公司校园招聘模拟试卷附答案详解
- 2025安徽淮南高新区部分学校引进紧缺专业人才招聘39人考前自测高频考点模拟试题及1套完整答案详解
- 2025广西来宾数广科技有限公司招聘3人模拟试卷及一套参考答案详解
- 2025陕西某国企招聘笔试历年参考题库附带答案详解
- 2025陕建四建集团校园招聘135人笔试历年参考题库附带答案详解
- 2025绿地控股江苏省建集团应届生校园招聘200人笔试历年参考题库附带答案详解
- 2025福建莆田市城市建设投资开发集团有限公司招聘企业员工初审情况及笔试安排笔试历年参考题库附带答案详解
- 2025江西吉安市吉安县退役军人事务局面向社会招聘工作人员1人模拟试卷及答案详解(夺冠)
- 2025贵州兴仁市马马崖镇村级卫生室医生岗位招聘模拟试卷附答案详解(突破训练)
- 智能化设计资源管理-洞察及研究
- AI时代网络安全产业人才发展报告(2025年)-安恒信息
- 供电服务技巧培训
- 2025浙江大学医学院附属儿童医院膳食部劳务派遣后勤工人招聘(莫干山院区)备考模拟试题及答案解析
- 2024-2025学年广东省广州市花都区黄广中学八年级上学期10月考数学试卷(含答案)
- 2025-2026人教版(2024)七年级上册英语教学计划 (三篇)
- 绿色化学全套课件
- 自然辩证法复习重点讲义
- GB/T 31722-2025网络安全技术信息安全风险管理指导
- 电气自动化专业求职面试题目及答案
- 肝功能实验室指标解读
评论
0/150
提交评论