设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> Visual C++ >> 对象标准COM和CORBA论长道短
精品推荐
Visual C++点击TOP10
·用WINSOCK实现聊天室的VC++程序设计
·利用mfc编写activex控件
·用vc实现生产者消费者问题
·DirectX8.0
·C/C++ 大量经典编程书籍下载
·VC快捷键大全
·CreateFileMapping的MSDN翻译和使用心得
·Windows环境下的麦克风录音系统
·挂钩Windows API
·如何开发OPC Server
编程开发点击TOP10
·数字小键盘指法练习
·用C语言编通讯录程序(初学者级别的)
·ASP.NET 程序中常用的三十三种代码
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·Modem 常用AT指令集
·java笔试题
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

对象标准COM和CORBA论长道短

作者: 来源:网络文章 时间:2005-12-13 18:42:41

对象标准COM和CORBA论长道短(2) CORBA的重要概念是:
1.对象连接
CORBA广泛地支持对象的实现,在单服务器系统中也可以实现由接口定义语言定义的接口。ORB的灵活性既可以直接集成已有的应用,又不会使新对象受某些原则的制约。
对象连接提供了有不同类型对象实现时,使用ORB服务的方法,服务包括:对象引用、方法调用、安全控制、对象实现的激活与静候等。
2.接口定义语言(IDL)
CORBA用IDL来描述对象接口,IDL是一种说明性语言,它的语法类似于C++。
IDL提供的数据类型有:基本数据类型、构造类型、模板类型、和复合类型、操作说明。这些类型可以用来定义变元的类型和返回类型,操作说明则可以用来定义对象提供的服务。
IDL还提供模块构造,其中可以包含接口,而接口是IDL各类型中最重要的,它除了描述CORBA对象以外,还可以用作对象引用类型。
IDL提供了接口继承性,派生接口可以继承其基类接口所定义的操作与类型。IDL的接口继承性有其特殊性,此处不赘述。
总之,CORBA的IDL是一种说明性语言,描述面向对象系统开发所遵循的接口与实现相分离的基本原则。
3.动态调用接口
把IDL说明编译成面向对象程序设计语言的实代码后,客户可以调用已知对象的操作。在某些应用中,用户并不了解应用接口编译信息,但也要求调用对象的操作,这时就要动态调用接口来调用用户的操作了。例如,图形用户接口应支持用户浏览接口公共库,以获得每个对象所支持的操作信息,用户可根据自己的需求从浏览对象中挑选出所需的对象操作,具体的对象操作的调用实际上是用动态调用接口来完成的。
4.接口公用库
接口公用库持久地存储IDL的接口说明,借助于接口公用库,可以实现对象继承性层次结构的导航,并且提供了有关对象支持的所有操作的描述。接口公用库最常见的功能是为接口浏览器提供信息,帮助应用开发者找出潜在的可重用的软件部件。ORB可以利用接口公用库检查运行时的操作参数类型,但接口公用库的基本功能是提供类型信息,为动态调用接口发送请求提供信息支持。
二、组件对象模型:COM标准
COM是微软公司推出的与CORBA抗衡的产品,在设计开发COM时,微软把COM定位成基于对象的程序设计模型,旨在促进软件的互操作性,实际上它是基于OLE的组件标准,COM采用了OLE的对象请求代理,定义了OLE组件对象及应用之间的接口。
COM所涉及的重要概念有:
1.COM接口
COM的应用程序之间以及应用程序与系统之间是要相互交流信息和相互作用的,其相互作用是通过一系列的函数实现的,这些函数就叫作“接口”或“界面”。COM接口是组件与组件之间缔结的契约,提供了特定层次上的服务或功能性。
COM接口提供了以下的便利:
·无需重新编译,对象就可以增添新的功能;
·能够透明地向另一个过程或另一台机器上的对象发送RPC调用;
·诸如C、C++、Pascal、Ada和Smalltalk等凡是支持指针结构并通过指针能显式地或隐式地调用函数的程序设计语言都能够创建并使用COM对象。
COM定义了一种特殊的接口IUnknown来实现一些基本功能,所有对象均支持此基本接口,该接口的方法是QueryInterface,它允许对象的用户在运行时动态地确定COM对象是否支持某一个接口。
COM的接口定义语言是COMIDL(Interface Definition Language),它是OSFDCE所采用的IDL的一种简单扩展,DCE,即分布式计算环境,是OSF(Open Software Foundation)组织提供的一组独立于各平台的中间件服务,它使得分布的应用程序得以协调运行。
开发人员可以使用COMIDL来创建对COM对象的接口方法的说明。
2.用GUID来标识对象和接口
未来的分布式对象系统可能大到拥有数百万个接口,而软件的组成部件是必须唯一标识的。在大型复杂系统中,如果仅用便于人类阅读的名称来标识组件的话,那么几乎是100%要出现名字冲突现象的。为了避免这种事件的发生、解决名字冲突问题,COM采用了全局唯一的标识符GUID(Globally Unique Identifier),每个GUID都有128位整数并能确实保证标识符在空间世界和时间世界中的唯一性。COM的GUID和OSFDCE的UUID(Universally Unique Idenfifiers)是完全等同的。
3.摒弃继承性而采用聚类
微软认为在松散耦合的、分散的、逐步改善的对象系统中,继承性是造成很多麻烦的根源,但微软也承认如果程序设计人员都能控制继承性层次,那么实现继承是一个十分有用的技术,且紧耦合也不会带来太多的麻烦。不过微软还是认为在实现层次上看,对象与对象之间的契约是不言明且有二义性的,当父或子组件改变了实现,那么与其有关的组件的行为就成为非定义行为了。

共3页 9 7 [1] [2] [38 :>

对象标准COM和CORBA论长道短 相关文章:
对象标准COM和CORBA论长道短 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com