RPC,RMI,CORBA,DCOM,SOAP,JMS及JMS的实现(通讯)

本文对比了RPC、RMI、CORBA、DCOM和SOAP等远程调用技术,探讨了它们的特性与应用场景。RMI基于TCP/IP,支持对象传递;RPC使用UDP,不支持对象;CORBA是面向对象的扩展;DCOM是微软的分布式应用模型;SOAP通过XML标准化RPC。同时,介绍了JMS作为异步消息传递的API及其常见的实现如ActiveMQ。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RMI 和 RPC均可以均提供远程方法访问的基础通信和参数引用要求的串行化机制,RPC和RMI之间的一个重要差别是RPC用快速而不够可靠的UDP协议,

RMI用低速而可靠的TCP/IP协议。另外 RMI 调用远程对象方法,允许方法返回 Java 对象以及基本数据类型。而 RPC 不支持对象的概念,

传送到 RPC 服务的消息由外部数据表示 (External Data Representation, XDR) 语言表示,

这种语言抽象了字节序类和数据类型结构之间的差异。只有由 XDR 定义的数据类型才能被传递, RPC 不允许传递对象。

可以说 RMI 是面向对象方式的 Java RPC 。 RPC是有Sun提出的,支持多种语言,而RMI只支持JAVA写的应用程序

CORBA对RPC的扩展就像C++语言对C语言的扩展一样,是面向对象的,CORBA在大型企业应用中使用的很多

DCOM是微软自己开发的,面向对象的分布式应用模型,他的设计目标和CORBA一样,但是没有CORBA那么健壮和丰富

因此真正在使用DCOM协议的并不多。

RPC,为了包装RPC的请求消息,推出了XML-RPC,客户端发送一条消息,该消息中必须包括名称,运行服务的程序以及输入参数

XML-RPC只能使用有限的数据类型和一些简单的数据结构。

SOAP最主要的工作是使用标准的XML描述RPC的请求消息,SOAP方式是对CORBA和RMI的替代

SOAP消息包括Header和Boby,其中Header可以方便的插入各种消息来扩充Web Service的功能,Body则是具体的消息正文,也就是

Marshall后的消息。

远程调用是同步的,消息调用时异步的。

JMS入门与ActiveMQ开发实战教程:http://www.doc88.com/p-375363081766.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值