基于中间件技术的多层分布式系统的研究
4 CORBA 技术规范 CORBA 是 OMG 组织在 1991 年提出的公用对象请求代理程序结构技术规范。 CORBA 有很广泛的应用,它易于集成各厂商的不同计算机,从大型机一直到微型内嵌式系统的终端桌面,是针对大中企业应用的优秀体系结构。 CORBA 的底层结构是基于面向对象模型的,由 OMG 接口描述语言( OMG Interface Definition Language, OMG IDL )、对象请求代理( Object Request Broker, ORB )和 IIOP 标准协议( Internet Inter-ORB Protocol )3个关键模块组成。 使用接口描述语言编写的对象接口,使得与语言无关的独立性成为可能。 IDL 使得所有 CORBA 对象以一种方式被描述,仅仅需要一个由语言( C/C++ 、 CORBA 或 Java )到 IDL 的“桥梁”。 CORBA 对象的互通要以对象请求代理为中介,这种互通信可以在多种流行通信协议之上实现。在 TCP/IP 上,来自于不同开发商的 ORB 用 IIOP 标准协议进行通讯。 为了保持 CORBA 的商业中立性和语言中立性,必须有一个中介,存在于像 C++ CORBA 服务器代码和 Java CORBA 客户机这样的实体中间,这就是 IDL 。一个底层对象的若干相关方法和属性被 IDL 集入一个单一接口。一旦 IDL 接口定义完成,它可以以 Sub 码或框架代码的形势编译成所选用的语言。在所有的 ORB 中都有 IDL 编译器。 IDL 不同于其它的面向对象程序设计语言,我们不能用它指定所定义的类或方法的具体实现。 IDL 是一种描述性语言而不是编程语言,用它定义底层对象接口,使得接口定义与对象实现分开。 IDL 编译器编译 IDL 代码,生成相应语言的头文件及客户代理和服务器代理对象。 CORBA 技术规范利用了当今软件技术发展的最新成果,在基于网络的分布式应用环境下实现应用软件的集成,使得面向对象的软件在分布、异构环境下实现重用、可移植和互操作。其特点如下: ① 在 CORBA 规范中引入了代理( Broker )的概念,一个代理至少可以完成对客户方提出的抽象服务请求的映射;自动发现和寻找服务器;自动设定路由,实现到服务器方的执行。 ② 实现客户与服务对象的完全分开,客户不需要了解服务对象的实现过程以及具体位置。 ③ 应用程序间的统一接口。 CORBA 提供软总线机制,这是系统定义的一组接口规范,使得在任何环境下,采用任何语言开发的软件只要符合接口规范的定义,均能集成到 CORBA 系统中。 ④ CORBA 采用面向对象的软件实现方法开发应用系统,实现对象内部细节的完整封装,保留对象方法的对外接口定义。 ⑤ 分层的设计原则和实现方式。 CORBA 规范只是针对 OMA 体系结构中的 ORB 制定的工业标准,而面向对象定义则可以在 OMA 的应用对象或应用开发环境中逐步分层定义和实现。 5 COM/DCOM 技术规范 COM ( Component Object Model ,组件对象模型)是 Microsoft 软件组件标准,是构造二进制兼容软件组件的规范。 COM 的体系结构包括统一数据传输、持久存储和智能命名、 COM 核心等。其中 COM 核心包括服务控制管理、接口代理、接口基和 COM 库。 COM 核心定义了 COM 对象与使用者如何通过二进制标准接口进行交换的规格说明。持久存储通过 Istorage 和 Istream 接口提供一个“文件系统”。智能命名通过对象实现接口,使用户可以在以后重新连接一个指定的对象实例,并且使对象实例仍保持原来的状态,另外还提供保存它们名字和其它持久信息的机制。 COM 库提供对所有客户及组件都非常有用的组件管理服务。 DCOM 是 COM 的分布式扩展, Microsoft 把 DCOM 作为开发 Internet 和组件的基础。当客户和组件位于不同机器时, DCOM 用 TCP/IP 协议等取代 COM 中的本地进程间通信 LRPC ,从而对位于 Internet 不同机器上的组件对象之间的相互通讯提供了透明的支持。 (编辑:惠州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |