orbas(CORBA实现开源项目)

OrbasNS(CORBA命名服务)


(by huihoo.org orbas项目组)

Corba的对象命名服务就是给对象实例提供一个名称,以便用户通过这些名称来获取对象的实例。对象命名服务是ORB上的对象找到其它对象的 基本机制。名字是用来识别一个对象的可人工辨认的值,命名服务将这些名字映射到对象标记,名字-对象关联叫做名字联编。命名语言环境 是一个名字空间,对象名字在这里是独一无二的。每个对象都有一个独一无二的参考标识符。可以有选择地将一个或多个名字与一个对象标记 关联起来。相对于其命名语言环境始终定义一个名字。利用命名服务可以创建命名分层结构,客户可以搜寻不同的命名语言环境树,查找所要 的对象。来自不同域的名字语言环境可以一起使用,为对象创建联合命名服务。CORBA命名分层结构不需要一个“统一”的根目录。一般情况下 ,用户可以规定对象的命名原则,表示对象所在的主机,功能等一系列的信息,这些信息主要包括如下三个方面的内容。

1、Corba对象的句柄定义成如URL(统一资源定位)的形式,从而允许ORB(Object Request Broker)来调用基于Corba的服务或者远程ORB 上的对象实例
2、任何一个厂商的ORB都可以通过配置客户端的ORB来初始化根命名服务的上下文对象(NamingContext)。
3、对于Corba对象的复合命名。定义一个标准的语法规则。这样服务器端和客户端就可以通过相同的格式来进行读写消息。

Orbas Name Service实现了CORBA的命名服务。

运行方法:

NameService 服务:nameservice.bat

Orbas Name Service已经启动

Hello测试Server: namehelloserver.bat

Hello测试服务端已经启动
Hello测试Client: nameclient.bat


Hello测试客户端成功调用服务器端并返回hello
限制:

本版本是CORBA CosNaming的功能测试版本,还不能实现远程分布部署,因为NameService现在通过本地文件系统进行交互。
本版本现在只有memory方式存贮,所有还不能实现持久服务。

声明:

Orbas NameService直接引用了部分JacOrb1.4源码,在本系统的后续版本中,将逐步加以重写。