webservice、rpc、rmi、jms实现远程方法调用的区别

1 篇文章 0 订阅
1 篇文章 0 订阅
webservice、jms、rpc、rmi的区别


web service提供的服务是基于web容器的,底层使用http协议,类似一个远程的服务提供者,

比如天气预报服务,对各地客户端提供天气预报,是一种请求应答的机制,是跨系统跨平台的。

就是通过一个servlet,提供服务出去。


RPC可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Service就没有什么区别了,

一般都喜欢定义为TCP,这样比Web Service稍微高效一些。


RPC一般需要通过一个WinForm或是Windows服务进行启动,而Web Service则需要web服务进行启动


即 RPC 支持多种语言,而 RMI 只支持 Java 写的应用程序。

另外 RMI 调用远程对象方法,允许方法返回 Java 对象以及基本数据类型。

摘自:http://hi.baidu.com/lhfqq/item/bff7dc4cffc081aa61d7b99b

而 RPC 不支持对象的概念,传送到 RPC 服务的消息由外部数据表示 (External Data Representation, XDR) 语言表示,

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

可以说 RMI 是面向对象方式的 Java RPC 。


JMS 与RMI

Java 消息服务 ( Java Messaging Service, JMS ) 是一种允许应用程序创建、发送、接受和读取消息的Java API 。

JMS 与 RMI 的区别在于,采用 JMS 服务,对象是在物理上被异步从网络的某个 JVM 上直接移动到另一个 JVM 上

(支持消息通知?如xmpp协议)JMS 消息的两种模式(Point-to-Point(P2P)和Publish/Subscribe(Pub/Sub) )

而 RMI 对象是绑定在本地 JVM 中,只有函数参数和返回值是通过网络传送的(是请求应答机制)。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值