第1章.介绍

ORBit 是高效的、基于 C 语言的(C-based)、自由(也译为免费)的 ORB,兼容于 CORBA 版本 2.2。CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture)。CORBA 在许多方面是在 UNIX 和其他系统上常见的 RPC(Remote Procedure Call:远程过程调用)系统的继任者。关于 CORBA 最好的一句话的描述是“面向对象的 RPC”。

CORBA 的关键点在于提供了两个程序间交流信息一种方式。CORBA 机制允许在不同的机器上的、用不同语言写成的两个程序安全的(可移植的)交换数据。对象们也可以运行在同一个程序、同一个机器中,因为不须打开任何通信通道(信道),这种情况的进程通信是 ORBit 认可的最快的方式。

ORBit 有一些与其他 CORBA 实现相区别的重要特征。首先,它是主要的基于 C 语言的实现(使用标准 C 映射),而许多其他 CORBA 实现不满足此种需求。其次,它是一个快速的实现,这意味着它可以在通信信道与程序之间快速的移送信息。第三,它高效的使用内存,这意味着它可以在小机器上运行。第四,它已经工作了,并工作于真正的实际问题。最后,它是自由软件,这意味着大量不同的人(学界和商界)可以对源代码作出贡献,缺陷和问题可以被快速的改正。ORBit 很自然的在 GPL (Gnu Public License)许可证之下。GPL 的更详尽的条款和对你的作用可以在 FAQ 中找到,鼓励你在发布之前读真正的 GPL 文本。

 COBRA 机制对经典的客户/服务器应用是理想的,例如一个图形的客户 GUI 与一个数据库服务器的通信,或更简单的应用,比如一个程序向 CORBA 系统要求邮件服务。 制作 ORBit 首要的目的是后者:在桌面环境(Gnome环境)中不同的程序之间交换信息。ORBit 完整的实现(blown:吹制)了一个典型的 ORB ,并可用于在 gnome 桌面之外的许多其他应用中,绝对不需要为了 ORBit 而运行 Gnome。

本文档首要的目标是帮助有 C 编程经验的人开始学习 ORBit,并有一些关于书写 ORB aware 软件的带来的挑战的讨论。如果你需要一些关于 CORBA 更初始的(fluffy:毛茸茸的)描述,参见下面章节提供的资源链接。如果你想知道 ORBit 的技术性实质(nitty-gritty),就要看源代码,或在 ORBit 的邮件列表上发出求助。

对于 ORBit 的结构和内部函数(译为功能也通)的更好的面向技术的文档,也希望能以本文档作为起点。

关于本文档

本文档目前由 St閜hane Genaud genaud@icps.u-strasbg.fr 维护。关于正在进行的东西最终的向导,当然是源代码(走运的话,将来会有文档),或者是在 OMG 的 C 映射文档。如果你认为本文档有错误,请给我发邮件。如果你打算贡献一个实例或写了一些章节,请与我联系,或邮递到邮件列表。

对本文档的写作作出了主要贡献的是 Ewan Birney、Michael Launsch 和 Todd Lewis,由 St閜hane Genaud 编辑。文档用 docbook SGML 写成(不与想象的任意伸展100%的兼容,译注:用了 DIV 标记),当前的文档+实例存放在ftp://opera.u-strasbg.fr/pub/ORBit/orbit-docs.tar.gzhttp://icps.u-strasbg.fr/~genaud/orbit-docs.tar.gz