- 浏览: 495063 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (563)
- 工作经验 (12)
- 数据库 (13)
- Servlet (10)
- Struts2 (1)
- Spring (25)
- Eclipse (5)
- Hibernate (5)
- Eclips (8)
- HTTP (7)
- J2EE (21)
- EHcache (1)
- HTML (11)
- 工具插件使用 (20)
- JPA (2)
- 杂谈 (17)
- 数据结构与算法 (3)
- Cloud Foundry (1)
- 安全 (10)
- J2SE (57)
- SQL (9)
- DB2 (6)
- 操作系统 (2)
- 设计模式 (1)
- 版本代码管理工具 (13)
- 面试 (10)
- 代码规范 (3)
- Tomcat (12)
- Ajax (5)
- 异常总结 (11)
- REST (2)
- 云 (2)
- RMI (3)
- SOA (1)
- Oracle (12)
- Javascript (20)
- jquery (7)
- JSP自定义标签 (2)
- 电脑知识 (5)
- 浏览器 (3)
- 正则表达式 (3)
- 建站解决问题 (38)
- 数据库设计 (3)
- git (16)
- log4j (1)
- 每天100行代码 (1)
- socket (0)
- java设计模式 耿祥义著 (0)
- Maven (14)
- ibatis (7)
- bug整理 (2)
- 邮件服务器 (8)
- Linux (32)
- TCP/IP协议 (5)
- java多线程并发 (7)
- IO (1)
- 网页小工具 (2)
- Flash (2)
- 爬虫 (1)
- CSS (6)
- JSON (1)
- 触发器 (1)
- java并发 (12)
- ajaxfileupload (1)
- js验证 (1)
- discuz (2)
- Mysql (14)
- jvm (2)
- MyBatis (10)
- POI (1)
- 金融 (1)
- VMWare (0)
- Redis (4)
- 性能测试 (2)
- PostgreSQL (1)
- 分布式 (2)
- Easy UI (1)
- C (1)
- 加密 (6)
- Node.js (1)
- 事务 (2)
- zookeeper (3)
- Spring MVC (2)
- 动态代理 (3)
- 日志 (2)
- 微信公众号 (2)
- IDEA (1)
- 保存他人遇到的问题 (1)
- webservice (11)
- memcached (3)
- nginx (6)
- 抓包 (1)
- java规范 (1)
- dubbo (3)
- xwiki (1)
- quartz (2)
- 数字证书 (1)
- spi (1)
- 学习编程 (6)
- dom4j (1)
- 计算机系统知识 (2)
- JAVA系统知识 (1)
- rpcf (1)
- 单元测试 (2)
- php (1)
- 内存泄漏cpu100%outofmemery (5)
- zero_copy (2)
- mac (3)
- hive (3)
- 分享资料整理 (0)
- 计算机网络 (1)
- 编写操作系统 (1)
- springboot (1)
最新评论
-
masuweng:
亦论一次OutOfMemoryError的定位与解错 -
变脸小伙:
引用[color=red][/color]百度推广中运用的技术 ...
Spring 3 mvc中返回pdf,json,xml等不同的view -
Vanillva:
不同之处是什么??
Mybatis中的like查询 -
thrillerzw:
转了。做个有理想的程序员
有理想的程序员必须知道的15件事 -
liujunhui1988:
觉得很有概括力
15 个必须知道的 Java 面试问题(2年工作经验)
源:http://blog.csdn.net/keda8997110/article/details/8259430
评:
Java RMI与RPC,JMS的比较
远程对象方法调用并不是新概念,远程过程调用 (RPC) 已经使用很多年了。远程过程调用被设计为在应用程序间通信的平台中立的方式,它不理会操作系统之间以及语言之间的差异。即 RPC 支持多种语言,而 RMI 只支持 Java 写的应用程序。 [1]
另外 RMI 调用远程对象方法,允许方法返回 Java 对象以及基本数据类型。而 RPC 不支持对象的概念,传送到 RPC 服务的消息由外部数据表示 (External Data Representation, XDR) 语言表示,这种语言抽象了字节序类和数据类型结构之间的差异。只有由 XDR 定义的数据类型才能被传递, RPC 不允许传递对象。可以说 RMI 是面向对象方式的 Java RPC 。
Java 消息服务 ( Java Messaging Service, JMS ) 是一种允许应用程序创建、发送、接受和读取消息的Java API 。 JMS 与 RMI 的区别在于,采用 JMS 服务,对象是在物理上被异步从网络的某个 JVM 上直接移动到另一个 JVM 上。而 RMI 对象是绑定在本地 JVM 中,只有函数参数和返回值是通过网络传送的。
CORBA 是 90 年代初有 OMG 组织提出的一个分布式互操作标准,属于语言中立的。而 RMI 直接把分布式对象模型嵌入到 Java 语言的内部,使得 Java程序员可以自然的编写分布式程序,不必离开 Java 环境,或者涉及 CORBA IDL 以及 Java 到 CORBA 的类型转换。然而 RMI 不遵守 CORBA 标准,基本上是Java-to-Java 技术,难以实现与其他语言编写的对象之间的互操作。 [1]
RMI 和 CORBA 常被视为相互竞争的技术,因为两者都提供对远程分布式对象的透明访问。但这两种技术实际上是相互补充的,一者的长处正好可以弥补另一者的短处。 RMI 和 CORBA 的结合产生了 RMI-IIOP, RMI-IIOP 是企业服务器端 Java 开发的基础。
1997 年, IBM 和 Sun Microsystems 启动了一项旨在促进 Java 作为企业开发技术的发展的合作计划。两家公司特别着力于如何将 Java 用作服务器端语言,生成可以结合进现有体系结构的企业级代码。所需要的就是一种远程传输技术,它兼有 Java 的 RMI ( Remote Method Invocation ,远程方法调用)较少的资源占用量和更成熟的 CORBA ( Common Object Request Broker Architecture ,公共对象请求代理体系结构)技术的健壮性。出于这一需要, RMI-IIOP问世了,它帮助将 Java 语言推向了目前服务器端企业开发的主流语言的领先地位 。
DCOM 是从 COM 改造过来的, COM 这一技术部分是作为规范,定义了对象实现的二进制标准,用于单机上应用之间的通信,对象实现与使用的语言无关。 DCOM 是 COM 的分布式扩展,在 DCE RPC 之上构造对象的远程过程调用层支持对远程对象的访问。一个 DCOM 对象是支持一个或多个接口的组件。DCOM 对象不支持对象 ID ,因此,客户程序不能与某个特定的对象发生联系。
评:
Java RMI与RPC,JMS的比较
远程对象方法调用并不是新概念,远程过程调用 (RPC) 已经使用很多年了。远程过程调用被设计为在应用程序间通信的平台中立的方式,它不理会操作系统之间以及语言之间的差异。即 RPC 支持多种语言,而 RMI 只支持 Java 写的应用程序。 [1]
另外 RMI 调用远程对象方法,允许方法返回 Java 对象以及基本数据类型。而 RPC 不支持对象的概念,传送到 RPC 服务的消息由外部数据表示 (External Data Representation, XDR) 语言表示,这种语言抽象了字节序类和数据类型结构之间的差异。只有由 XDR 定义的数据类型才能被传递, RPC 不允许传递对象。可以说 RMI 是面向对象方式的 Java RPC 。
Java 消息服务 ( Java Messaging Service, JMS ) 是一种允许应用程序创建、发送、接受和读取消息的Java API 。 JMS 与 RMI 的区别在于,采用 JMS 服务,对象是在物理上被异步从网络的某个 JVM 上直接移动到另一个 JVM 上。而 RMI 对象是绑定在本地 JVM 中,只有函数参数和返回值是通过网络传送的。
CORBA 是 90 年代初有 OMG 组织提出的一个分布式互操作标准,属于语言中立的。而 RMI 直接把分布式对象模型嵌入到 Java 语言的内部,使得 Java程序员可以自然的编写分布式程序,不必离开 Java 环境,或者涉及 CORBA IDL 以及 Java 到 CORBA 的类型转换。然而 RMI 不遵守 CORBA 标准,基本上是Java-to-Java 技术,难以实现与其他语言编写的对象之间的互操作。 [1]
RMI 和 CORBA 常被视为相互竞争的技术,因为两者都提供对远程分布式对象的透明访问。但这两种技术实际上是相互补充的,一者的长处正好可以弥补另一者的短处。 RMI 和 CORBA 的结合产生了 RMI-IIOP, RMI-IIOP 是企业服务器端 Java 开发的基础。
1997 年, IBM 和 Sun Microsystems 启动了一项旨在促进 Java 作为企业开发技术的发展的合作计划。两家公司特别着力于如何将 Java 用作服务器端语言,生成可以结合进现有体系结构的企业级代码。所需要的就是一种远程传输技术,它兼有 Java 的 RMI ( Remote Method Invocation ,远程方法调用)较少的资源占用量和更成熟的 CORBA ( Common Object Request Broker Architecture ,公共对象请求代理体系结构)技术的健壮性。出于这一需要, RMI-IIOP问世了,它帮助将 Java 语言推向了目前服务器端企业开发的主流语言的领先地位 。
DCOM 是从 COM 改造过来的, COM 这一技术部分是作为规范,定义了对象实现的二进制标准,用于单机上应用之间的通信,对象实现与使用的语言无关。 DCOM 是 COM 的分布式扩展,在 DCE RPC 之上构造对象的远程过程调用层支持对远程对象的访问。一个 DCOM 对象是支持一个或多个接口的组件。DCOM 对象不支持对象 ID ,因此,客户程序不能与某个特定的对象发生联系。
发表评论
-
Axis1.x WebService开发指南—目录索引
2015-11-30 15:54 599源:http://www.cnblogs.com/hoojo/ ... -
CXF WebService整合Spring
2015-11-30 15:50 479源:http://www.cnblogs.com/hoojo/ ... -
几种常用的webservice客户端和spring集成的方法
2015-11-30 15:47 538源:http://my.oschina.net/zimingf ... -
如何使用webservice
2015-04-09 15:47 5021:到http://cxf.apache.org/downlo ... -
webservice例子
2015-03-13 15:58 3761:到http://cxf.apache.org/downlo ... -
cxf集成spring,精简版
2014-12-08 17:52 476源:http://kyfxbl.iteye.com/blog/ ... -
用cxf生成的方式,开发web service应用
2014-12-08 17:49 415源:http://kyfxbl.iteye.com/blog/ ... -
用cxf发布和调用web service
2014-12-08 17:48 399源:http://kyfxbl.iteye.com/b ... -
cxf和spring mvc的集成
2014-12-08 17:46 721源:http://kyfxbl.iteye.com/blog/ ... -
webservice 客户端生成命令
2014-10-21 17:48 339wsdl2java -frontend jaxws21 -c ... -
一致性hash算法 - consistent hashing
2014-03-20 11:52 456源:http://blog.csdn.net/sparklia ... -
java rmi 入门实例
2013-03-19 14:27 730源:http://blog.sina.com.cn/s/bl ... -
Java RMI之HelloWorld篇
2013-03-19 13:36 880源:http://www.cnblogs.com/nina ...
相关推荐
技术分享:分布式环境下Java RMI与RPC,JMS,CORBA,DCOM的比较
1. 远程调用RMI(Remote Method Invocation): 通过使用 RmiProxyFactoryBean 和 RmiServiceExporter,并且,Spring支持两个传统的RMI(使用 java.rmi.Remote接口和java.rmi.RemoteException)和通过RMI调用器实现的...
The second part primarily focuses on core network programming concepts such as sockets, RMI, Mail, XML-RPC etc. The state-of-the-art concepts such as SOAP, Applet, Servlet, JSP, JDBC, Hibernate, JMS,...
介绍Java远程通讯可选技术,如RML、XML-RPC、Binary-RPC、SOAP、JMS
关于java程序员发展需要学习的路线整理集合 技术 应用技术 计算机基础知识 cpu mem disk net 线程,进程 第三方库 poi Jsoup zxing Gson 数据结构 树 栈 链表 队列 图 操作系统 linux 代码控制...
•RMI/ IIOP(远程过程调用/因特网ORB间协议):友情链接本地Java的RPC机制,CORBA,并允许非Java系统访问EJB。 •XML技术(JAXP,SAAJ,JAX-RPC等):一个完整的技术套件操纵XML和构建基于标准的XML Web服务。 •...
Reply模式的JMS应用 421 实例120 使用Java IDL 426 实例121 EJB与CORBA的交互 430 实例122 基于EJB的真实世界模型 433 实例123 EJB的商业应用——定购单 447 第11章 Java 2 Platform Micro Edition...
在分布式服务框架中,一个最基础的问题就是远程服务是怎么通讯的,在Java领域中有很多可实现远程通讯的技术,例如:RMI、MINA、ESB、 Burlap、Hessian、SOAP、EJB和JMS 等,这些名词之间到底是些什么关系呢,它们...
实例139 控制Java与C++程序的通信 510 实例140 访问Windows注册表 514 第13章 Java配置与集成 523 实例141 J2SDK的安装配置 524 实例142 使用第三方包 525 实例143 安装配置Tomcat 526 实例144 安装配置Apache 528 ...
java io学习以io,nio为基础,netty为辅程序员素养:掌握面向对象的...能够使用网络框架如netty开发服务端程序掌握RPC框架的使用,比如RMI,Thrift,Dubbo掌握消息队列的使用,如JMS,ActiveMQ等掌握分布式缓存如memcac
Spring In Action 简体中文CHM版 很多你开发的应用会像被遗弃... 本册子将涉及与RMI一起工作、使用Hessian和Burlap的远程调用、JMS发送消息、使用Tile设计页面布局、保护Web应用程序、使用JAX-RPC的Web Service等。
8.2 与RMI一起工作 8.2.1 连接RMI服务 8.2.2 输出RMI服务 8.3 使用Hessian和Burlap的远程调用 8.3.1 访问Hessian/Burlap服务 8.3.2 用Hessian或Burlap公开Bean的功能 8.4 使用HTTP invoker 8.4.1 通过HTTP...
8.2 与RMI一起工作 8.2.1 连接RMI服务 8.2.2 输出RMI服务 8.3 使用Hessian和Burlap的远程调用 8.3.1 访问Hessian/Burlap服务 8.3.2 用Hessian或Burlap公开Bean的功能 8.4 使用HTTP invoker 8.4.1 通过HTTP...
6.2 与RMI一起工作 6.2.1 连接RMI服务 6.2.2 输出RMI服务 6.3 使用Hessian和Burlap的远程调用 6.3.1 访问Hessian/Burlap服务 6.3.2 用Hessian或Burlap公开Bean的功能 6.4 使用...
8.2与rmi一起工作 8.2.1连接rmi服务 8.2.2输出rmi服务 8.3使用hessian和burlap的远程调用 8.3.1访问hessian/burlap服务 8.3.2用hessian或burlap公开bean的功能 8.4使用httpinvoker 8.4.1通过http访问服务 ...
Packages ...com.kingdee.bos.orm.core.rmi ...com.kingdee.bos.util.backport.concurrent.helpers Auxiliary and helper classes for backport.util.concurrent, NOT present in java.util.concurrent. ...
17.2.4. Using message-based RPC 17.3. Messaging with AMQP 17.3.1. A brief introduction to AMQP 17.3.2. Configuring Spring for AMQP messaging 17.3.3. Sending messages with RabbitTemplate 17.3.4. ...
2.4.4. 异步的JMS 2.4.5. JDBC 2.5. Web层 2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于Annotation的控制器 2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持...
2.4.4. 异步的JMS 2.4.5. JDBC 2.5. Web层 2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于Annotation的控制器 2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持...