三种分布式对象主流技术——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。
三种分布式对象主流技术——COM、Java和COBRA的更多相关文章
- Apache Spark探秘:三种分布式部署方式比较
转自:链接地址: http://dongxicheng.org/framework-on-yarn/apache-spark-comparing-three-deploying-ways/ 目 ...
- 基于Redis的三种分布式爬虫策略
前言: 爬虫是偏IO型的任务,分布式爬虫的实现难度比分布式计算和分布式存储简单得多. 个人以为分布式爬虫需要考虑的点主要有以下几个: 爬虫任务的统一调度 爬虫任务的统一去重 存储问题 速度问题 足够“ ...
- 三种LVS负载均衡技术的优缺点----负载均衡调度算法
三种LVS负载均衡技术的优缺点归纳以下表: VS/NATVS/TUNVS/DR 服务器操作系统任意支持隧道多数(支持Non-arp) 服务器网络私有网络局域网/广域网局域网 服务器数目(100M网络) ...
- C#中三种定时器对象的比较 【转】
https://www.cnblogs.com/zxtceq/p/5667281.html C#中三种定时器对象的比较 ·关于C#中timer类 在C#里关于定时器类就有3个1.定义在System.W ...
- 三种分布式锁 简易说说(包含前一篇提到的redis分布式锁)
大多数互联网系统都是分布式部署的,分布式部署确实能带来性能和效率上的提升,但为此,我们就需要多解决一个分布式环境下,数据一致性的问题. 当某个资源在多系统之间,具有共享性的时候,为了保证大家访问这个资 ...
- LVS集群中实现的三种IP负载均衡技术
LVS有三种IP负载均衡技术:VS/NAT,VS/DR,VS/TUN. VS/NAT的体系结构如图所示.在一组服务器前有一个调度器,它们是通过Switch/HUB相连接的.这些服务器 提供相同的网络服 ...
- 基于ZooKeeper的三种分布式锁实现
[欢迎关注公众号:程序猿讲故事 (codestory),及时接收最新文章] 今天介绍基于ZooKeeper的分布式锁的简单实现,包括阻塞锁和非阻塞锁.同时增加了网上很少介绍的基于节点的非阻塞锁实现,主 ...
- 三种执行SQL语句的的JAVA代码
问题描述: 连接数据库,执行SQL语句是必不可少的,下面给出了三种执行不通SQL语句的方法. 1.简单的Statement执行SQL语句.有SQL注入,一般不使用. public static voi ...
- C#中三种定时器对象的比较
·关于C#中timer类 在C#里关于定时器类就有3个1.定义在System.Windows.Forms里2.定义在System.Threading.Timer类里3.定义在System.Timers ...
随机推荐
- nginx源代码分析之内存池实现原理
建议看本文档时结合nginx源代码. 1.1 什么是内存池?为什么要引入内存池? 内存池实质上是接替OS进行内存管理.应用程序申请内存时不再与OS打交道.而是从内存池中申请内存或者释放内存到内存池 ...
- Maven 入门指南
为什么要用 Maven? Maven 主要帮助用户完成以下 3 个方面的工作: 生命周期管理,便捷的构建过程: 依赖管理,方便引入所需依赖 Jar 包: 仓库管理,提供统一管理所有 Jar 包的工具: ...
- 随机蕨(Random Fern)
最近在做 Zdenek Kalal 的 TLD 算法,其成果发表在CVPR 2010 上,文章的名字叫做 P-N Learning: Bootstrapping Binary Classifiers ...
- 解决使用Properties读取中文乱码问题
web服务返回的是多行以key和value对应的键值对,且编码为utf-8.我的项目使用的编码也是utf-8,但是我用Properties读取中文的时候,打印出来的总是乱码. 后来网上查了一下,得到如 ...
- 用eclipse 玩转cocos 2dx开发
开始研究cocos2dx,mark一下这个的配置步骤 1 下载eclipse 2 下载android sdk,配置sdk路径,添加环境变量 3 安装adt 4 下载android ndk,配 ...
- Laravel 5 中使用 JWT(Json Web Token) 实现基于API的用户认证
在JavaScript前端技术大行其道的今天,我们通常只需在后台构建API提供给前端调用,并且后端仅仅设计为给前端移动App调用.用户认证是Web应用的重要组成部分,基于API的用户认证有两个最佳解决 ...
- MySQL 常用函数之——substr()
substr()函数是用来截取数据库某一列字段中的一部分 常用的方式是: SBUSTR(str,pos); 就是从pos开始的位置,一直截取到最后. SUBSTR(str,pos,len); 这种表示 ...
- Medline Plus
提问地址: http://apps2.nlm.nih.gov/medlineplus/contact/index.cfm?lang=en&from=http://www.nlm.nih.gov ...
- Docker container常用命令
列出所有的container. docker container ls 启动一个container. docker run –p <host端口>: <container端口> ...
- 抽屉柜式MCC柜中PROFIBUS设备推荐波特率及相应传输距离
抽屉柜式MCC柜中PROFIBUS设备推荐波特率及相应传输距离.例如以下图所看到的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L ...