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的并发编程
...