非常教程

Erlang 20参考手册

orber

3.Orber应用 | 3. The Orber Application

3.1 ORB内核与IIOP

本章简要介绍ORB及其在分布式环境中与对象的关系以及Orber中Domains的用法。还讨论了Internet-Inter ORB协议(IIOP),以及该协议如何促进ORB之间的通信,以允许Erlang中持久服务器对象的附件。

3.2对象请求代理(ORB)

ORB内核可以最好地描述为中间件,它创建客户端和服务器之间的关系,但是由其接口定义。这为用户提供了透明度,因为他们不必知道请求对象的位置。因此,只要存在IDL映射和接口,程序员就可以使用任何其他平台。

后面章节中介绍的IDL映射是其他平台和语言之间的翻译器。然而,它是ORB,它为对象提供了一个可以与其他对象进行通信的结构。

ORB从一个对象截取并直接发送消息,使用IIOP将此消息传递给另一个ORB,然后ORB将消息定向到指定的对象。

ORB是构建接口、通信存根和映射的基础,以支持对象之间的通信。Orber使用domainsto对不同节点的对象进行分组。

ORB提供通信的方式非常简单地显示在下面的图1中:

图3.1:图1:对象请求代理是如何工作的。

Orber中的域为分布式对象环境提供了额外的方面,因为每个域都有一个ORB,但它分布在不同节点中的多个对象上。域比不同域中的分布式对象更紧密地绑定节点上的对象。域的优点是在相同域的节点和对象之间存在更快的通信。内部通信协议(IIOP除外)允许这些对象之间进行更有效的通信。

与对象不同,域只能有一个名称,因此域之间不存在通信歧义。

3.3互联网对象间协议(IIOP)

IIOP是OMG开发的一种通信协议,用于在分布式面向对象环境中进行通信.

下面的图2演示了IIOP如何在对象之间工作:

图3.2:图2:域和对象之间的iop通信。

在Orber域中,对象不使用IIOP进行通信。但是,用户不知道协议中的差异,因为这种差异是不可见的。

Erlang 20

Erlang 是一种通用的面向并发的编程语言,可应付大规模开发活动的程序设计语言和运行环境。

主页 https://www.erlang.org/
源码 https://github.com/erlang/otp
版本 20
发布版本 20.1