- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息技术高级研讨会烟台2001.7
分布式组件技术初探
毕敏刚1周宁2岳克东3
范的体系结构,从多方面对两者进行了比较,最后给出了基于组件技术开发多层分布式应
用的几点建议.
关键词:组件技术COMCORBA分布计算
组件技术与分布式应用
20世纪90年代以来,软件技术的一个重要进展就是组件化。由于应用软件的规模越
来越大,要求完成的功能越来越繁杂,为了提高软件生产力、不草率地进行新的开发,设
计开发人员希望尽可能地利用现有软件模块的功能,组装构造新的软件系统,因此大大增
强软件复用和集成能力的组件技术便显示出非同寻常的意义。
与20世纪80年代发展起来的面向对象编程技术不同,组件技术是一种更高层次的对
象技术:它独立于语言和面向应用程序,只规定组件的外在表现形式,而不关心其内部实
现方法;它既可用面向对象的编程语言实现,也可用非面向对象的过程语言实现。只要遵
循组件技术规范,各个软件开发商就可以用自己适合的语言来实现可复用的组件,应用程
序的开发人员就有可能实现在计算机硬件领域早己实现的梦想:挑选部件、组装新的应用
系统。
由于面向对象方法学的兴起和发展完善,面向对象的组件技术日益成为主流,如COM
和CORBA两大主要的组件技术体系都采用面向对象方法来定义组件模型并描述其行为。
~个应用软件往往由多个组件构成,这些组件通过各自的接口实现互操作,协作完成软件
所提供给用户的功能。接口本质上是一种数据结构,它描述了组件对象对外提供的一组服
务。接口提供了一种机制,并与其它机制配合,支持二进制可执行模块问的相互调用。
为新的技术热点。网络计算的一个本质要求是:运行在不同主机上的应用软件能够透明地
相互请求或提供服务。软件组件技术的发展顺应了这种要求,于是面向对象的分布式组件
技术应运而生。近两年来,分布式应用领域,多层客户/服务(C/S)开发模式的兴起,更
促进了分布式组件技术的发展。
1北京图形研究所 北京市朝阳区华严北里5号院 100029
2中国电子系统设备工程公司研究所北京市郑常庄307号100039
3秦皇岛海关学校
中国科技情报学会北京科技情报学会
2体系结构
分布式组件技术体系的核心任务是采用面向对象的方法给出软件组件的定义,即如何
构造组件对象(以下略作对象),同时给出一套对象之间跨进程、跨网络甚至跨操作系统
平台相互请求或提供服务的通用规范。
与此同时,为了增强对象运行的稳定性,系统的伸缩性,提供规范的安全服务、事务
服务等等,分布式组件技术体系还需包括一组通用的对象服务及其使用规范,从而提供完
整的分布对象运行环境,为快速开发可靠实用的多层C/S网络应用创造条件。
下面,从上述两个方面分别介绍COM和CORBA的体系结构。
2.1COM体系结构
(1)组件对象模型
之间COM对象的互操作。至此,COM作为面向对象的分布式软件组件规范已基本定型,
即解决了上述第一个问题。
图1COM模型框架
图l给出了COM对象的工作框架。其中客户和组件都是可执行单元的运行实例。
必须支持的接口,通常通过它来实现对象生存期的控制和接口查询。客户的概念是相对的,
当一个对象请求其它组件的对象服务时,对象就扮演了客户的角色。COM库提供对象创
信息技术高级研讨会烟台2001.7
建、管理、释放等操作所需的系统服务,通常以系统API的形式提供开发人员使用。客户
通过COM库创建组件的运行实例,获取对象接口的引用。客户与对象的交互过程无需COM
库参与。
考虑对象与客户是否位于同一主机,以及组件的两种实现形式(.exe/.did,客户与对
象的交互实际上有4种模式,涉及到本地进程内、本地进程间、异地进程间通讯,以及异
地.dll组件进程激活等等诸多问题。实际上,COM库针对这些问题一~给出了解决方案,
闻时保持了客户对象之间交互规范的透明性。客户无需处理上述4种情况,只要按照COM
规范创建对象和客户应用,通过统一的COM库调用规范即可实现于组件对象的各种交互。
(2)对象服务及其运行环境
为了适应分布式服务器应用的需要,充分利用中低档服务器(通常采用Windows操作
系统)配置灵活、便于维
文档评论(0)