webservices与RMI / RPC

时间:2011-02-05 16:56:29

标签: web-services terminology

有谁知道web服务和RPC / RMI之间的区别?

2 个答案:

答案 0 :(得分:2)

“webservice”是以编程方式访问的远程服务的通用术语,尽管它通常用于指代SOAP Web服务,例如,通过HTTP传递的SOAP XML消息。

RPC(远程过程调用)是一个相当古老的术语,用于远程调用服务。这个词已经不再使用了。

RMI是一种用于在远程对象上调用方法的特定Java技术。它只是java,并使用二进制线协议(JRMP)。

答案 1 :(得分:0)

RPC(远程过程调用)是一种远程调用,包括RMI(远程方法调用)和RRP(请求-应答协议)。RRP的一个很好的例子是HTTP协议。

所有这些都是分布式系统的组件(即不同的机器)之间的通信的不同类型(范例)。简而言之,RPC基本上是在远程计算机上调用过程(如果愿意的话),就像在本地计算机上完成一样。它抽象了分发的一些重要方面,包括封送处理。

类似地,RMI是扩展的RPC,它已进入分布式对象的世界。它解决了OOP语言的许多问题,但是还需要考虑一些事项(参数传递,类调用等)。当然,RMI通常也被称为Java RMI,但是作为一个概念,它不一定是Java,它可以使用其他语言(C ++,C#)来完成。

现在,Web Service是一种以更通用的方式与服务器进行交互的方式,换句话说,它是一种以非常好用的方式将Web服务器的某些功能公开给很多人的方式。通常,交互是通过应用程序编程接口(API)完成的,最常见的API范例是SOAP和REST。有很多共同点和不同点。但主要来说,SOAP是一种协议,相当健壮和标准化,REST是一种体系结构样式,它更加容易丢失,并使用HTTP协议和URI进行请求。