分布式对象

分布式对象

分布式对象
一般而言,分布式对象由ORB(Object Request Broker,对象请求代理)支持,ORB管理与可能的远程对象的通信和数据交换。
ORB基于“互操作对象引用”概念,允许通过对象工厂和其他辅助对象,方便地远程创建、定位、调用和删除对象。如下图所示:

最常见的ORB实现是CORBA、COM/DCOM和Java,其中,COM/DCOM仅限于Microsoft平台,而CORBA则扩展到多个平台和编程语言。

CORBA:CORBA技术是最早出现的,1991年OMG颁布了COBRA 1.0标准,在当时来说做得非常漂亮;

COM/DCOM:再有就是Microsoft的COM系列,从最初的COM发展成现在的DCOM,形成了Microsoft一套分布式对象的计算平台;

JAVA:而Sun公司的Java平台,在其最早推出的时候,只提供了RMI远程的方法调用,在当时并不能被称为分布式对象计算,只是属于网络计算里的一种,接着推出的JavaBean,也还不足以和上述两大流派抗衡,而其目前的版本叫J2EE,推出了EJB,除了语言外还有组件的标准以及组件之间协同工作通讯的框架。于是,也就形成了目前的分布式对象的三大流派

---- 应该说,这三者之中,COBRA标准是做的最漂亮的。COBRA标准主要分为3个层次:对象请求代理、公共对象服务和公共设施。最底层是对象请求代理ORB,规定了分布对象的定义(接口)和语言映射,实现对象间的通讯和互操作,是分布对象系统中的“软总线”;在ORB之上定义了很多公共服务,可以提供诸如并发服务、名字服务、事务(交易)服务、安全服务等各种各样的服务;最上层的公共设施则定义了组件框架,提供可直接为业务对象使用的服务,规定业务对象有效协作所需的协定规则。总之,CORBA的特点是大而全,互操作性和开放性非常好。目前CORBA的最新版本是2.3。CORBA 3.0也已基本完成,增加了有关Internet集成和QoS控制等内容。CORBA的缺点是庞大而复杂,并且技术和标准的更新相对较慢,COBRA规范从1.0升级到2.0所花的时间非常短,而再往上的版本的发布就相对十分缓慢了。

---- 相比之下,Java标准的制订就快得多,Java是Sun公司自己定的,演变的很快。Java的优势是纯语言的,跨平台性非常好。Java分布对象技术通常指远程方法调用(RMI)和企业级JavaBean(EJB)。RMI提供了一个Java对象远程调用另一Java对象的方法的能力,与传统RPC类似,只能支持初级的分布对象互操作。Sun公司于是基于RMI,提出了EJB。基于Java服务器端组件模型,EJB框架提供了像远程访问、安全、交易、持久和生命期管理等多种支持分布对象计算的服务。目前,Java技术和CORBA技术有融合的趋势。

---- COM技术是Microsoft独家做的,是在Windows 3.1中最初为支持复合文档而使用OLE技术上发展而来,经历了OLE 2/COM、ActiveX、DCOM和COM+等几个阶段,目前COM+把消息通讯模块MSMQ和解决关键业务的交易模块MTS都加进去了,是分布对象计算的一个比较完整的平台。Microsoft的COM平台效率比较高,同时它有一系列相应的开发工具支持,应用开发相对简单。但它有一个致命的弱点就是COM的跨平台性较差,如何实现与第三方厂商的互操作性始终是它的一大问题。从分布对象技术发展的角度来看,大多数人认为COM竞争不过COBRA。

时间: 2024-10-06 17:48:49

分布式对象的相关文章

三种分布式对象主流技术——COM、Java和COBRA

既上一遍,看到还有一遍将关于 对象的, 分布式对象, 故摘抄入下: 目前国际上,分布式对象技术有三大流派--COBRA.COM/DCOM和Java.CORBA技术是最早出现的,1991年OMG颁布了COBRA 1.0标准,在当时来说做得非常漂亮:再有就是Microsoft的COM系列,从最初的COM发展成现在的DCOM,形成了Microsoft一套分布式对象的计算平台:而Sun公司的Java平台,在其最早推出的时候,只提供了远程的方法调用,在当时并不能被称为分布式对象计算,只是属于网络计算里的一

分布式系统阅读笔记(八)-----分布式对象和组件

一.介绍 在分布式系统中,一个完整的中间件需要展现一定的对于上层程序语言的以及底层的物理设施的抽象性.而分布式对象和分布式组件恰恰是2种重要的实现方式. 1.分布式对象包集成了面向对象的语言的特征和优点.能够使用户用类似面向对象的语言调用的层次上去实现远程的方法调用. 2.分布式对象有下面的一些优点:1.包装性.2.他将一个对象的实现和对象本身分离了.3.具有动态性和扩展性. 3.分布式组件是为了克服分布式对象的一些缺点而发展而来的,他解决了在分布式系统中出现的下面的一些问题:1.不完全的独立性

分布式对象和远程调用

一.引言 1.1 分布式对象技术要解决的基本问题 分布式对象技术是在面向对象技术的基础上发展起来的,它要解决的主要问题是位于不同进程中的对象之间的调用问题. 支持访问异地对象,支持访问异构对象(java平台调用C.vb,C++). 1.2 中间件 参考http://kb.cnblogs.com/page/196448/ 1.中间件是一种软件,它提供基本的通信模块和其他一些基础服务模块,使得应用程序开发提供平台. 中间件技术提供了一个编程的抽象,来屏蔽上述的异质问题. 通信协议:独立于网络底层的传

海量图片存储,杉岩分布式对象存储轻松应对

当今世界,互联网.大数据应用迅猛发展,物联网.人工智能.云计算 技术日新月异,随之而来的是各种企业和个人应用持续不断地产生亿级甚至是百亿级的海量小文件.这些小文件的元数据管理.存储性能以及访问效率等问题因而成为学术界和工业界公认的难题. 例如,国内目前最大的电商网站淘宝存储的商品图片超过 200 亿张,这些文件的平均大小仅为 15KB 左右,国外著名的社交网站Facebook 存储的图片总量更是超过了600亿张:在线视频播放服务中,每个视频会被切片服务器分割成 1MB 左右的分片文件,一部动画电

Memcached 高性能分布式对象缓存系统

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. memcached的服务器客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议. 因此,通过telnet也能在memcached上

分布式对象存储Ambry(4)Ambry-Server模块源代码解析(启动与整体通信工作篇)

Ambry一共有三个主模块:Ambry-Server,Ambry-Frontend还有Ambry-Admin.其中,Ambry-Server为其核心,我们从核心开始,一部一部剖析其源码,并会分析它的设计模式. 一个提供各种服务的服务器框架源代码,我们一般从它的Facade类开始入手进行第一步分析.Facade类就是指设计模式中的外观模式的核心类,这个类会包含这个框架几乎所有的模块.一般的,像Ambry这种服务器型框架,都会在整体设计模式上采用单例.桥接还有外观设计模式结合,我们寻找到这个单例Fa

高级特性(11)- 分布式对象

11.1 客户与服务器的角色11.2 远程方法调用11.3 RMI编程模型 11.3.1 接口与实现 11.3.2 RMI注册表 11.3.3 部署程序 11.3.4 记录RMI活动的日志11.4 远程方法中的参数和返回值 11.4.1 传递远程对象 11.4.2 传递非远程对象 11.4.3 动态类加载 11.4.4 具有多重接口的远程引用 11.4.5 远程对象与equals.hashCode和clone方法11.5 远程对象激活

Java 分布式处理技术

1.1 RMI 的基本概念 1.1.1 什么是RMI RMI(Remote Method Invocation) 远程方法调用是一种计算机之间对象互相调用对方函数,启动对方进程的一种机制,使用这种机制,某一台计算机上的对象在调用另外一台计算机上的方法时,使用的程序语法规则和在本地机上对象间的方法调用的语法规则一样. 1.1.2 RMI 的用途 1. 分布式体系结构 我们为什么要使用分布式计算呢? Ø         当我们想与多个用户或客户机共享一个中央资源(如一个数据库)时,就会使用分布式计算

Ceph分布式存储系统

Ceph分布式存储系统 Ceph是根据加州大学Santa Cruz分校的Sage Weil的博士论文所设计开发的新一代自由软件分布式文件系统,其设计目标是良好的可扩展性(PB级别以上).高性能及高可靠性.Ceph其命名和UCSC(Ceph 的诞生地)的吉祥物有关,这个吉祥物是"Sammy",一个香蕉色的蛞蝓,就是头足类中无壳的软体动物.这些有多触角的头足类动物,是对一个分布式文件系统高度并行的形象比喻. 其设计遵循了三个原则:数据与元数据的分离,动态的分布式的元数据管理,可靠统一的分布