CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。
GNOME 大部分是用 C 语言写的,由于性能的原因,加之 C++ 仍然不是可移植和广泛的获得的。因此要使用 IDL C 映射来与 CORBA 集成,GNOME 计划排除了 TAO 和 MICO。ILU 被排除是因为它的许可证对于自由软件来说束缚太多。(译注:MICO 和 TAO 也是开放源代码的 CORBA 的实现)
ORBit 被使用在相当多的 GNOME 应用程序中,这就对已被使用了特征进行了大量测试,其他特征还很少或未经测试。
是的。这是 CORBA 的首要的特征,通过 Internet ORB 间协议(the Internet Inter-ORB Protocol,缩写 IIOP)获得。有一个圈套: ORBit 有一个专有的安全机制用于客户认证。如果需求互操作性,你可能必须为此想出一项周边工作。(figure out a work around)
IDL 编译器在 GPL 许可证之下。库在 LGPL 许可证之下。从 IDL 编译器生成的代码不受限制。基本上,这意味着你可以在自己的应用程序(包括专有的应用程序)中使用 ORBit,唯一的限制是得到你发布的自己制作的代码的人必须可以任意变更 ORBit 库。如果你希望更改并发布 ORBit IDL 编译器你必须在 GPL 下发布所做更改。
ORBit 0.4.0 使用了一些 gcc 所允许的扩展,包括对类型强制转换的赋值(assignment to casts)和对 void * 指针的运算,最当前版本的 ORBit 将去处这些,最终 ORBit 将可以在所有 ANSI C 编译器下编译。
你可以安装 gcc 并使用它。这就永远可以工作了。
一个语言绑定定义在一个编程语言中如何使用 IDL 操作。客户方的映射说明如何调用操作,服务器方的映射说明如何实现它们。客户方的映射在相当大的程度上是与实现无关的。
在服务器方,不同的 ORB 提供者提供不同对象适配器,ORBit 只实现了可移植的对象适配器(POA),它允许在 CORBA 实现间的可移植性。
当前只有 C 绑定。Python 和 Perl 绑定正被认真的谈论着。 ILU 有大量的绑定,所以值得一看。
有。但要当心使用在一些要求使用 dynAny 的情况下 DII 和 DSI 的使用,因为 dynAny 还未被支持。
还没有,但不久就会有的。
是的。除此之外,使用第三方的命名服务器也是可能的,例如使用 --ORBNamingIOR 命令行参数。可互操作命名规范还未被支持。
Frank O'Dwyer 正在为 ORBit 做这项工作。 请查看主页 http://www.brd.ie/orbitssl/