CORBA接口开发详解.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CORBA接口开发详解

针对电信行业CORBA接口开发详解 作者:????文章来源: 发布日期:2005年01月01日????浏览次数:1次 CORBA基本介绍 ? ????CORBA(公用对象请求代理体系)是OMG(对象管理组织)于1991年提出的基于对象技术的分布计算应用软件体系结构。CORBA标准主要分为三个部分:接口定义语言(IDL)、对象请求代理(ORB),以及ORB之间的互操作协议IIOP,核心是对象请求代理。CORBA可以抽象系统平台、网络通讯及编程语言的差异。通过在CORBA技术规范中定义多种类型的服务,如名字服务(Naming??Service)、事务服务(Transaction?Service)、对象生命期服务(LifeCycle?Service)、并发控制服务(Concurrency?Control?Service)、时间服务(Time?Service)等功能,为应用软件开发者提供一个全面、健壮、可扩展的分布对象计算平台,使面向对象的应用软件在分布异构环境下方便地实现可重用、易移植和互操作。 ? 与RMI比较 ???与RMI?不同,CORBA?不属于Java?平台本身。OMG(Object?Management?Group,对象管理组织)发明了CORBA?规范,CORBA?被设计成与平台和语言无关。因此,CORBA对象可以运行于任何平台之上,位于网络的任何位置,还可以用任何语言(包括?Java、C、C++和Smalltalk?等)编写,只要该语言具有IDL(Interface?Definition?Language,接口定义语言)的映射。 ???与RMI?相比,CORBA?是为更大、可伸缩更强的系统准备的,在这些系统中可能有数千个对象;CORBA?的编程和部署比RMI?更复杂,但允程序员开发需要事务、安全性等支持的企业级系统;CORBA?的命名服务也比RMI?命名注册功能更强大和灵活。 ???CORBA?的实现称为ORB(Object?Request?Broker,对象请求代理)。Java?IDL?即是CORBA?的一个实现,它是JDK1.3?或更高版本的核心软件包之一,定义在org.omg.CORBA及其子包中。在Java?IDL?的支持下,开发人员可以使用如下两种方法将Java?和CORBA?集成在一起: ???创建Java?对象并使之可在CORBA?ORB?中展开, ???创建Java?类并作为和其它ORB?一起展开的CORBA?对象的客户。这种方法提供了另外一种途径,通过它Java?可以被用于将你的新的应用和以前遗留的系统相集。 采用Java创建CORBA应用? CORBA对象服务的实现方式分为两种:对象的命名引用方式和字符串化对象引用方式。不论采用何种高级语言,创建CORBA应用程序的过程大体如下:? ●?编写IDL接口定义文件;? ●?将接口定义文件编译为相应高级语言源代码,产生服务器框架与客户端存根;? ●?基于服务器框架,编写服务对象实现程序; ●?基于客户端存根,编写客户对象调用程序;? ●?分别编译客户对象和服务对象程序;? ●?运行服务对象和客户对象程序;? ? CORBA实例分析? 下面通过一个实例,描述如何通过Java创建CORBA应用程序。? ? 1.?接口定义?(Hello.idl) Hello.idl? module?HelloApp { ????interface?Hello ????{ ????????string?sayHello(in?string?message); ????}; }; ???通过Sun提供的将IDL文件编译成Java源代码的工具idlj(jdk1.3.0_01以上版本),为接口定义文件生成客户端存根和服务器框架。具体操作如下: ????idlj?-oldImplBase?-fall?Hello.idl? ? 编译后将在?HelloApp?子目录中形成以下六个文件:? ? n?_HelloImplBase.java? ???该抽象类是一个服务器?skeleton,它可为服务器提供基本的?CORBA?功能。它实现?Hello.java?接口。服务器类?HelloServant?扩展?_HelloImplBase。 ? n?_HelloStub.java? ????该类是客户机?stub,可为客户机提供?CORBA?功能。它实现?Hello.java?接口。 n?Hello.java? ????该接口含有?IDL?接口的?Java?版本。Hello.java?接口扩展?org.omg.CORBA.Object?并提供标准的?CORBA?对象功能。 n?HelloHelper.java? ????这是一个终态类,可以提供辅助功能,特别是提供将?CORB

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档