分布式计算是一种计算方法,和集中式计算是相对的。
随着计算技术的发展,有些应用需要非常巨大的计算能力才能完成,如果采用集中式计算,需要耗费相当长的时间来完成。
分布式计算将该应用分解成许多小的部分,分配给多台计算机进行处理。这样可以节约整体计算时间,大大提高计算效率。
0x01 分布式计算环境
(Distributed Computing Environment)
分布式计算环境,简称DCE,是设计用来作为现有的硬件、操作系统、网络与分布式应用程序之间的中间抽象层来执行的。
目的是研究分布式应用环境,值得强调的是这里只研究环境(Environment),建立一个兼容的分布式计算机环境,开发分布式应用。
它由开放软件基金会(OSF)提出的,可对各大公司的软、硬件系统稍加修改,便可互连构成一个分布式计算环境,开发各种分布式应用。
DCE是一个客户端/服务器模型,为了支持跨于各种平台的分布式计算,DCE给出了一种异构的分布式计算系统的实现,是基于RPC的分布式系统的一个范型。
0x02 分布式组件对象模型
(Microsoft Distributed Component Object Model)
分布式组件对象模型,简称DCOM,是一系列微软的概念和程序接口,利用这个接口,客户端程序对象能够请求来自网络中另一台计算机上的服务器程序对象。
DCE和DCOM非常相似,但是DCOM私有程度更大。
DCOM使用全球唯一标识符GUID,DCE使用通用唯一标识符UUID,GUID和UUID都用来唯一表示环境内的用户、资源等。
DCOM有一个相近的名词,叫组建对象模型(COM),组件对象模型的英文全称是(Component Object Model)
COM 是基于 Windows 平台的一套组件对象接口标准,由一组构造规范和组件对象库组成。
一般的对象是由数据成员和作用在其上的方法组成,而组件对象和一般对象虽有相似性,但又有较大不同。组件对象不使用方法而用接口来描述自身。
接口被定义为“在对象上实现的一组语义上相关的功能”,其实质是一组函数指针表,每个指针必须初始化指向某个具体的函数体。
0x03 公共对象请求代理体系结构
(Common ObjectRequest Broker Architecture)
公共对象请求代理体系结构,简称是CORBA,是由OMG组织制订的一种标准的面向对象应用程序体系规范。
OMG组织是一个国际性的非盈利组织,其职责是为应用开发提供一个公共框架,制订工业指南和对象管理规范,加快对象技术的发展。
公共对象请求代理体系结构可以促进对象之间的沟通,CORBA的底层结构是基于面向对象模型的,组成包括:
- OMG接口描述语言(OMG Interface Definition Language,OMG IDL)
- 对象请求代理(Objec tRequest Broker,ORB)
- IIOP标准协议(Internet Inter ORB Protocol,也称网络ORB交换协议)3个关键模块组成
对象请求代理(ORB),是对象之间建立客户端/服务端(Client/Server)关系的中间件。使用ORB,客户可以透明地调用一个服务对象上的方法,这个服务对象可以在本地,也可以在通过网络连接的其他机器上。
ORB截获这一调用,同时负责查找实现服务的对象并向其传递参数、调用方法并返回最终结果。