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

既上一遍,看到还有一遍将关于 对象的, 分布式对象, 故摘抄入下:

目前国际上,分布式对象技术有三大流派——COBRA、COM/DCOM和Java。CORBA技术是最早出现的,1991年OMG颁布了COBRA 1.0标准,在当时来说做得非常漂亮;再有就是Microsoft的COM系列,从最初的COM发展成现在的DCOM,形成了Microsoft一套分布式对象的计算平台;而Sun公司的Java平台,在其最早推出的时候,只提供了远程的方法调用,在当时并不能被称为分布式对象计算,只是属于网络计算里的一种,接着推出的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-12-27 16:50:42

三种分布式对象主流技术——COM、Java和COBRA的相关文章

基于Redis的三种分布式爬虫策略

前言: 爬虫是偏IO型的任务,分布式爬虫的实现难度比分布式计算和分布式存储简单得多. 个人以为分布式爬虫需要考虑的点主要有以下几个: 爬虫任务的统一调度 爬虫任务的统一去重 存储问题 速度问题 足够"健壮"的情况下实现起来越简单/方便越好 最好支持"断点续爬"功能 Python分布式爬虫比较常用的应该是scrapy框架加上Redis内存数据库,中间的调度任务等用scrapy-redis模块实现. 此处简单介绍一下基于Redis的三种分布式策略,其实它们之间还是很相似

Apache Spark探秘:三种分布式部署方式比较

目前Apache Spark支持三种分布式部署方式,分别是standalone.spark on mesos和 spark on YARN,其中,第一种类似于MapReduce 1.0所采用的模式,内部实现了容错性和资源管理,后两种则是未来发展的趋势,部分容错性和资源管理交由统一的资源管理系统完成:让Spark运行在一个通用的资源管理系统之上,这样可以与其他计算框架,比如MapReduce,公用一个集群资源,最大的好处是降低运维成本和提高资源利用率(资源按需分配).本文将介绍这三种部署方式,并比

Spark的三种分布式部署

目前Apache Spark支持三种分布式部署方式: 分别是standalone.spark on mesos和 spark on YARN, 其中,第一种类似于MapReduce 1.0所采用的模式,内部实现了容错性和资源管理,后两种则是未来发展的趋势, 部分容错性和资源管理交由统一的资源管理系统完成:让Spark运行在一个通用的资源管理系统之上,这样可以与 其他计算框架,比如MapReduce,公用一个集群资源,最大的好处是降低运维成本和提高资源利用率(资源按需 分配).本文将介绍这三种部署

C#中三种定时器对象的比较

·关于C#中timer类 在C#里关于定时器类就有3个1.定义在System.Windows.Forms里2.定义在System.Threading.Timer类里3.定义在System.Timers.Timer类里 System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API SetTimer实现的.它的主要缺点是计时不精确,而且必须有消息循环,Console Applicati

Apache Spark支持三种分布式部署方式 standalone、spark on mesos和 spark on YARN区别

链接地址: http://dongxicheng.org/framework-on-yarn/apache-spark-comparing-three-deploying-ways/

LVS的三种负载均衡技术,八大负载调度算法

1.LVS项目简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.章文嵩博士目前工作于阿里集团,主要从事集群技术.操作系统.对象存储与数据库的研究. 2.LVS功能及其原理 针对高可伸缩.高可用网络服务的需求,我们给出了基于IP层和基于内容请求分发的负载平衡调度解决方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的.高可用网络服务的

jsp调取java方法的三种方式

DouYin,经常安慰我.现在的困境都是对自己的磨砺,我也常常暗示自己:They are all chosen by themselves..-- 闲扯就到这,笔者决定每天啊,尽量出去拉拉单杠,锻炼下身体.下面,我们以webwork框架的jsp为例,探究一下form表单的回调函数.一.分析框架下的jsp页面组成 <!-- 指定语言和编码 --> <%@ page language="java" pageEncoding="utf-8" conten

9种分布式ID生成之 美团(Leaf)实战

整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 更多优选 一口气说出 9种 分布式ID生成方式,面试官有点懵了 面试总被问分库分表怎么办?你可以这样怼他 3万字总结,Mysql优化之精髓 为了不复制粘贴,我被逼着学会了JAVA爬虫 技术部突然宣布:JAVA开发人员全部要会接口自动化测试框架 Redis 5种数据结构及对应使用场景,全会面试要加分的 引言 前几天写过一篇<一口气说出 9种 分布式ID生成方式,面

三种实现Android主界面Tab的方式

在平时的Android开发中,我们经常会使用Tab来进行主界面的布局.由于手机屏幕尺寸的限制,合理使用Tab可以极大的利用屏幕资源,给用户带来良好的体验.学会Tab的使用方法已经成为学习Android开发必不可少的技能了.我们经常使用的微信.QQ就是使用Tab的方式进行主界面的布局的. 下面我们通过三种方式实现旧版的微信以演示Tab的使用方式. 最终效果: 第一种:单纯使用ViewPager MainActivity.java public class MainActivity extends