ORB是Object Request Broker的缩写,对象请求代理,是一种基于中间件架构的分布式对象技术,它可以让不同的应用程序通过网络来相互通信。
ORB作为代理,能够协调分布式系统中不同的组件和对象,让它们能够互相调用。ORB的作用是将过程封装在对象之间,使得对象之间交互的具体实现对调用方透明,进而实现对象间的接口共享和通信。
ORB为我们提供了一个开发分布式应用程序的编程模型,使得我们可以像编写单机应用程序一样编写分布式应用程序,极大地简化了分布式系统的开发难度。
ORB的实现方式有两种,一种是CORBA(Common Object Request Broker Architecture)标准,另一种是微软公司的DCOM(Distributed Component Object Model)。
CORBA是一组分布式计算的标准,是由OMG(Object Management Group)提出的。CORBA提供了一种分布式计算的解决方案,是目前被广泛采用的分布式对象技术。CORBA有着比较完整的规范和标准体系,可以很好地保证了对象的互通性和可靠性。
DCOM是微软定义的对象分布式技术,用于在分布式计算机上执行分布式对象代码。DCOM为COM(Component Object Model)提供了分布式能力,能够让不同的应用程序之间在分布式环境下相互调用。
ORB的实现包括以下几个主要步骤:
1、定义接口:需要定义接口文件,其中定义了客户端和服务器端通信的接口信息。接口文件一般采用IDL语言编写。
2、生成代码:根据接口文件生成客户端和服务器端的代码,这个过程一般由ORB提供的Code Generator来完成。
3、编写客户端代码和服务器端代码:根据生成的代码编写客户端和服务器端的代码,实现接口定义中的方法。
4、编译和链接:将客户端和服务器端的代码编译成DLL或者EXE文件,并进行链接。
5、运行:将DLL或者EXE文件部署在客户端和服务器端,并启动相应的应用程序,就可以进行分布式对象通信了。
ORB的优点:
1、分布式:ORB可以在不同的机器上运行,并且可以访问不同的资源。
2、通用性:ORB可以使用不同的编程语言进行开发,可以与不同的操作系统和平台协同工作。
3、灵活性:ORB能够很好地支持动态添加和删除对象。
4、可靠性:ORB提供了多种容错和恢复机制,可以保证系统的可靠性和可用性。
ORB的缺点:
1、效率低:由于ORB需要在不同的机器间通信,因此其效率通常较低,特别是在异构系统之间通信时。
2、复杂度高:ORB的基本概念较为抽象,需要一定的学习和使用成本,而且ORB的具体实现也较为繁琐。