通信中间件CORBA_第1页
通信中间件CORBA_第2页
通信中间件CORBA_第3页
通信中间件CORBA_第4页
通信中间件CORBA_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、1 2 3 4 5 何处、 对象是如何通讯、 如何实现以及如何执行的, 只要他持有对某对象的对象引用, 就可以向该对象发出服务请求。CORBA 允许用户以两种不同的方式提出对象请求:1静态调用:通过给定接口的存根,在编译了对象代码后,进入客户端的程序。因此,静态调 用必须在编译时就知道对象及其类型。2动态调用:通过 ORB 的动态调用接口 DII,在运行时生成访问对象的代码。不管客户以哪一种形式提出请求,ORB 的任务是:找出所要对象的位置,激活该 对象,向对象传递此请求。对象执行所请求的服务后,把输出值返回给 ORB,然后再 由 ORB 返回给客户。重要概念1.对象连接CORBA 广泛地支持

2、对象的实现,在单服务器系统中也可以实现由接口定义语言定 义的接口。ORB 的灵活性既可以直接集成已有的应用,又不会使新对象受某些原则的 制约。 CORBA 系统对象连接提供了有不同类型对象实现时, 使用 ORB 服务的方法, 服务包括:对象引用、 方法调用、安全控制、对象实现的激活与静候等。2.接口定义语言(IDLCORBA 用 IDL 来描述对象接口,IDL 是一种说明性语言,它的语法类似于 C+。 IDL 提供的数据类型有:基本数据类型、构造类型、模板类型、和复合类型、操 作说明。这些类型可以用来定义变元的类型和返回类型,操作说明则可以用来定义对 象提供的服务。IDL 还提供模块构造,其中

3、可以包含接口,而接口是 IDL 各类型中最重要的,它 除了描述 CORBA 对象以外,还可以用作对象引用类型。67 8 9 10 根据系统功能的定义,两种业务均属于电信业务的经营范围,因此定义模块名 TeleCOM。电话号码注册为电信业务管理功能范围,需定义该功能接口 Registry,该 接口内包含用户注册方法 register();电话号码查询为用户服务功能范围,需定义 接口 User,该接口内包含查询个人电话号码方法 getNumber()。经过上述分析后编 写的 IDL 接口定义文件 TeleCOM.idl 如下: module TeleCOM interface User /接口 U

4、ser 声明 /接口中 getNumber 方法的定义 int getNumber(; ; interface Registry /接口 Registry 声明 /接口中 register 方法定义,其中以 string 类型变量作为输入参数 方法 返回 User 对象 User register(in string name; ; ; 上述接口定义文件经 idl2java 编译后,在当前接口文件目录中生成 TeleCOM 子 目录,该目录中包括 UserPOA.java、RegistryPOA.java 等文件。这些文件是客户端 和服务对象实现功能的框架以及相关的支持文件。有兴趣的读者可以实

5、际创建 IDL 文 件,经 IDL 到 Java 语言的映射后,分析生成文件的格式。 2. 实现服务功能 (1)实现 User 接口的类 UserImpl 根据系统分析确定的功能,定义接口 User 对应的实现类 UserImpl 的代码如下: / UserImpl 类继承定义在 UserPOA.java 中的 UserPOA 类 public class UserImpl extends TeleCOM .UserPOA private int aNumber; / 在 CIMS 中的应用( Computer Integrated Manufacturing Systems 或 contem

6、porary 的缩写,直 译就是计算机/现代集成制造系统) 在 CIMS 环境下,应用通常是分布的,应用之间需要交换信息和数据,例如 CAD 和 CAM 之间,CAD、CAM 和 MRP II 之间,甚至是不同的 CAD 应用之间都会发生数据的 交互。分布式应用的开发,尤其是面向对象的分布式应用的开发,对于系统开发者而 11 言是极具挑战性的。CORBA、C OM/OLE Automation 和 JavaBeans 是目前针对此类应用 的主要分布对象计算模型和支持系统。一般来说,如果所开发的应用只面向 Windows 平台(Windows 3.x/95/NT),那么使用 COM 是最佳的选择

7、;如果所开发的应用完全 是使用 Java 语言编制的,那么就应该采用 JavaBeans 的方案。但是,如果所开发的 应用需要集成异构的平台,那么无疑应该选择 CORBA。通过 C ORBA 系统的支持,分布 应用的开发者可以采用不同的语言、操作系统和硬件平台来开发面向对象的分布式应 用。当然,首要的条件是存在支持该种平台、操作系统和语言的 CORBA 系统。? 利用 CORBA 系统进行分布对象应用的开发具有下面三个特点:开发代价小、效率高。系 统开发者只需要编写描述服务对象接口的 IDL 语言文件并安装描述文件,实现服务对 象的功能即完成了全部的任务。其它的相关代码或者是由 IDL 编译器

8、自动创建,或者 是由 ORB 类库提供,应用程序员并不需要编写例如网络通信、数据编码/解码、名址 映射和安全管理的程序代码,从而可以把工作重点放到服务对象实现的过程中去。 通过 CORBA 系统的支持,一个服务对象可以透明地被分布在本地和网络上的客户所调 用,扩大了服务对象的使用范围,为分布的客户所共享。CORBA 系统作为“软件总 线”,可以为服务对象提供“ 即插即用”的功能,而且当对象实现改进或升级时, 只要接口保持不变,客户代码无需作任何改动。 在 CIMS 的应用环境之下, CORBA 系统的另一个十分重要的作用是集成已有的应用 系统,这样的应用系统通常称为“遗留系统”(Legacy System)。“面向 CIMS 的并 行工程集成框架关键技术”课题就是一个很好的例子。各个领域框架的应用系统,例 如,机械领域的 Pro Engi neer、电子领域的 Mentor Graphics 等等,需要通过 CORBA 系统集成到一起实现信息的交互和共享。集成的关键在于对遗留系统的封装和包裹 (wrap),经过包裹,遗留系统就能够以 OMG IDL 的形式提供给用户,从而和新开发 的面向对象的分布式应用同样处理。包裹的形式视不同的遗留系统而不同,对于能够 提供用户调用接口的遗留系统,只要利用原有的调用来构造新的界面(必要时需要进 行一定的扩充)即可

温馨提示

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

评论

0/150

提交评论