Erlang 20

Orber介绍 | 2. Introduction to Orber

2 Orber简介

2.1概览

Orber应用程序是一个符合CORBA的对象请求代理(ORB),它在Erlang环境中提供CORBA功能。本质上,ORB信道在异构环境中的节点之间进行通信或事务处理。

CORBA(通用对象请求代理体系结构)提供了一种界面定义语言,可以实现高效的系统集成,并为某些服务提供标准规范。

Orber应用程序包含以下部分:

  • ORB内核和IIOP支持

  • 接口库

  • Erlang的接口定义语言映射

  • CosNaming服务

优点

Orber在Erlang环境中提供CORBA功能,该环境支持:

  • 平台互操作性和透明度 Orber支持OTP应用程序或Erlang环境应用程序与其他平台之间的通信; 例如,Windows NT,Solaris等,允许平台透明。这对于有许多用户使用不同平台的情况特别有用。例如,预订机票需要航空公司数据库和数百个旅行社(可能没有相同的平台)来预订航班座位。

  • 应用程序级互操作性和透明度

由于Orber是一个兼容CORBA的应用程序,它的目的是在应用程序级别提供互操作性和透明性。Orber通过将环境定义为对象,简化了分布式系统软件,实际上,不管编程语言如何,环境都是相同的。

以前,为了方便不同语言之间的交流,需要进行耗时的编程.。然而,随着CORBA兼容Orber,应用程序程序员就可以摆脱这一任务。这使得应用程序级别上的通信对用户来说相对透明。

宗旨和附属事项

Orber的系统结构和OTP依赖关系如图1所示:

图2.1:图1:Orber依赖项和结构。

Orber依赖Mnesia(请参阅Mnesia文档) - 用于存储对象信息的Erlang数据库管理应用程序。

尽管Orber对IC(用于Erlang的IDL编译器)没有运行时应用程序依赖性,但在构建服务和应用程序时,它是必需的。有关更多详细信息,请参阅IC文档。

图2.2:图2:Java和ErlangEnvironment节点之间的ORB接口。

图2中的这个简化示例演示了Orber如何促进异构环境中的通信。运行OTP的Erlang节点以及用Java编写的其他Node运行的应用程序可以通过ORB(对象请求代理)进行通信。使用Orber意味着可以使用CORBA函数来实现这种通信。

例如,如果上面的一个节点请求一个对象,它就不需要知道该对象是否位于相同或不同的Erlang或Java节点上。ORB将为用户提供信息创建平台和应用程序透明度。

先决条件

为了充分理解文档中提出的概念,建议用户熟悉分布式编程和CORBA(通用对象请求代理体系结构)。

推荐阅读包括开放电信平台文档集Erlang的并发编程...