class org.omg.CORBA.ORB说明

原创 2001年12月05日 09:51:00

ORB

abstract public class org.omg.CORBA.ORB

 

作者: Cocia Lin

 说明:本文是在jdk1.3的源码中翻译整理而成。

 ORB类是为CORBA ORB提供的。ORB类也提供可插入实现ORBpluggable ORB implementation)以允许ORB提供商来实现使用。

 

一个ORB使CORBA对象相互能够通过客户请求(client)和对象服务请求(server)通信。

ORB类封装了通用的CORBA功能,包括以下:(注意:第5和第6条包含了ORB类得大多数方法,典型的是被用在Dynamic Invocation Interfacd(DII)DynamicSkeleton Interface(DSI)。这些接口可能被开发者直接使用,但多数情况下,他们是被ORB内部使用,程序员看不到他们)

  1. 初始化ORB是通过提供预先确定的属性值和环境参数实现的。
  2. 包含服务的初始化对象参数,例如NameService使用resolve_initial_references
  3. 在对象引用合字符串之间转换。
  4. ORB连接到一个servent(一个CORBA对象得实现实例)和从servant断开联结。
  5. 创建这样的对象:
    • TypeCode *
    • Any *
    • NamedValue *
    • Context *
    • Environment *
    • lists (such as NVList) containing these objects *
  6. DII中传递多个消息。

ORB类可以用来获得网络上任何地方的对象实现的引用。


  一个Application 或Applet通过3个初始化方法中的1个在ORB上初始化自己获得CORBA环境的访问入口。其中有2个方法使用下面表格中的属性:

基本Java CORBA属性

 Property Name

Property Value

org.omg.CORBA.ORBClass

ORB实现的类名

org.omg.CORBA.ORBSingletonClass

通过init()返回的ORB类名

这些属性允许不同的ORB提供商提供不同的实现。

当一个ORB实例被创建,ORB的类名实现通过下边的顺序被定位:

  1. 检测Applet参数或Application字符串数组。
  2. 检测属性参数
  3. 检测系统参数
  4. 检测java.home/lib目录中的orb.properties文件。
  5. 使用缺省的参数(利用Java IDL实现)

注意:Java IDL为全功能ORB和单子(singletonORB提供了一个默认实现。当init方法没有提供参数,返回默认单子ORB。当给init方法提供参数但没有ORB类被提供,返回Java IDLORB实现。

下面的代码片断创建一个使用默认单子ORB的ORB对象 。这个ORB有一个限制的实现,防止恶意的不受限的applet任意操作。使用单子模式是因为一个JVM只有一个ORB实例。

 *    ORB orb = ORB.init();

下面的代码片断为Application创建一个ORB对象。参数args代表Application的main方法提供的参数。因为属性指定了ORB类为SomeORBImplementation,所以新的ORB将使用ORB实现来初始化。如果p是null,并且参数没有指定ORB类,新的ORB将被使用默认Java IDL实现初始化。

 *    Properties p = new Properties();
 *    p.put("org.omg.CORBA.ORBClass", "SomeORBImplementation");
 *    ORB orb = ORB.init(args, p);
 

下面的代码片断提供applet作为第一个参数创建ORB对象。如果applet没有提供ORB类,那么新ORB将使用默认Java IDL实现初始化。

 *    ORB orb = ORB.init(myApplet, null);
 * 

一个application或applet可以在一个或者多个ORB中被初始化。ORB初始化只是CORBA世界的开始。

关于作者

Cocia Lin(cocia@163.com)是程序员。他拥有学士学位,现在专攻Java相关技术,刚刚开始在计算机领域折腾。

 

 

Org.omg.CORBA.Object说明

Org.omg.CORBA.Object CORBA对象引用说明作者: Cocia Lin 说明:本文是在jdk1.3的源码中翻译整理而成。 一个CORBA对象引用是一个被服务器实现的特殊的CORBA...
  • cocia
  • cocia
  • 2001年12月05日 10:08
  • 1600

Eclipse使用问题—Tomcat部署ClassNotFound问题

问题描述在使用Eclipse部署Tomcat下应用时,启动始终不成功,错误信息是ClassNotFound,但是在Maven依赖包下可以看见该lib包存在。因此查看了Eclipse下Tomcat部署路...
  • HotTomato
  • HotTomato
  • 2015年10月08日 22:02
  • 1080

CORBA

CORBA 是什么 公用对象请求代理(调度)程序体系结构(Common Object Request Broker Architecture),缩写为 CORBA,是对象管理...
  • kybd2006
  • kybd2006
  • 2007年07月05日 09:39
  • 511

SOA研究综述

引言 96年Gartner提出SOA,目的是让企业业务更加敏捷,软件系统变得更有弹性,使企业能快速响应需求的变化,这样的目的是有当时背景的。经济全球化要求企业的业务具备更大的灵活性,比以往能更快地响...
  • leveretz
  • leveretz
  • 2016年11月02日 11:47
  • 482

使用java和CORBA实现分布应用编程

因为课程的需要,学习了下用java和CORBA来实现分布应用编程,具体的CORBA是什么以及它的框架结构我就不多说了,这里我是给出一个比较完整的例子来展示下代码要怎么写。应用背景:使用java和COR...
  • ancientmoondjay
  • ancientmoondjay
  • 2017年05月07日 21:26
  • 699

Corba开发之Eclipse环境配置

1  概述: 由于最近开发中需要用到Java与硬件的接口数据交互,所以决定用Eclipse工具来开发数据交互接口,以下是开发之前Eclipse的相关插件安装和配置。   2      ORBStu...
  • vtopqx
  • vtopqx
  • 2015年11月15日 14:09
  • 1782

CORBA?

 公用对象请求代理(调度)程序体系结构(Common Object Request Broker Architecture),缩写为 CORBA,是对象管理组织(Object Management G...
  • Chenah
  • Chenah
  • 2009年11月02日 10:30
  • 568

CORBA还是CORBA!

准备用TAO先试用一下了,有看了好长时间的SCA规范和CORBA规范 仍然没有头绪,所以要用个软件尝试一下了,TAO貌似也挺麻烦的,而且资料很少,先硬着头皮搞一下看看吧。...
  • fys2xxx
  • fys2xxx
  • 2010年05月17日 21:14
  • 284

开源CORBA OmniORB开发环境搭建及编译问题解决方法

利用omniORB编译corba应用程序 c++,该怎么解决 利用omniORB编译corba应用程序 c++ 知道的朋友都请进 最近在学corba,利用omniORB来编译应用程序,运行平台是...
  • u010171985
  • u010171985
  • 2016年04月24日 18:19
  • 675

软件架构之一 -------CORBA

CORBA、DCOM、WebService 一、公共对象请求代理体系结构   (CORBA)         CORBA(Common Object Request Broker Ar...
  • shuilaner_
  • shuilaner_
  • 2014年10月28日 23:21
  • 1134
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:class org.omg.CORBA.ORB说明
举报原因:
原因补充:

(最多只允许输入30个字)