Web services 远程过程调用和web服务之间的区别是什么?

Web services 远程过程调用和web服务之间的区别是什么?,web-services,rpc,Web Services,Rpc,RPC和Web服务是否有明确的定义?快速的维基百科搜索显示: RPC:远程过程调用(RPC)是一个 进程间通信技术 允许计算机程序 使子例程或过程 在另一个地址空间中执行 (通常在计算机上的另一台计算机上) 没有程序员的共享网络 显式地为这个项目编码细节 远程交互 Web服务:Web服务是 典型的应用程序编程 接口(API)或web API 通过超文本传输访问 协议,并在远程服务器上执行 托管请求的服务的系统。 Web服务往往属于以下几种类型之一: 两大阵营:大型Web服务[1]和 RESTfu

RPC和Web服务是否有明确的定义?快速的维基百科搜索显示:

RPC:远程过程调用(RPC)是一个 进程间通信技术 允许计算机程序 使子例程或过程 在另一个地址空间中执行 (通常在计算机上的另一台计算机上) 没有程序员的共享网络 显式地为这个项目编码细节 远程交互

Web服务:Web服务是 典型的应用程序编程 接口(API)或web API 通过超文本传输访问 协议,并在远程服务器上执行 托管请求的服务的系统。 Web服务往往属于以下几种类型之一: 两大阵营:大型Web服务[1]和 RESTful Web服务

我不太清楚这两件事的真正区别是什么。似乎有一样东西可能属于RPC,同时也是一种web服务

Web服务是RPC的更高级别表示吗

Web服务是更高的级别吗 RPC的表示


是的。web服务是RPC的特定实现。在其最低级别,Web服务使用HTTP协议连接到套接字,以协商发送在远程空间中执行的有效负载(远程空间可以是同一台计算机)。所有这些远程调用抽象的核心都是RPC。

•使用XML对数据进行格式化以进行传输,从而改进或消除编组、解编组以及通常由开发人员编写的各种其他与翻译相关的需求。 •使用标准化协议(如HTTP或SMTP)传递数据,这些协议发布了定义明确的标准。 •底层公开服务使用已知的可接受机制WSDL进行了良好定义。 •使用定义良好的标准UDDI和更高级的ebXML找到服务

具体而言,WSDL提供了许多关键信息:

•使用its和元素以及适当的模式定义在两个端点之间传递的消息格式的定义。 •服务的语义:如何调用它以进行同步请求/应答、仅同步应答或异步通信。 •服务的终点和通过要素的传输:即谁提供服务。 •通过元素进行编码,即访问服务的方式

为了实现功能,远程过程调用(RPC)和Web服务都是并行的。但它们的调用方式存在细微的差异。 Web服务可以由任何应用程序调用,使用HTTP协议上的XML格式进行处理,并且本质上是可互操作的,而对于RPC,该函数可以由多个应用程序调用,因此它遵循序列化路径来存储对象数据。它支持TCP协议上的二进制格式。
在更好的方法中,我们可以简要介绍RPC工作流,就像我们通过适当的套接字和适当的消息格式执行函数一样,但不知道特定函数在客户端服务器中的实际存在。即使提供的套接字也可能不在函数所在的同一服务器中。但每次它都给人一种功能位于本地的感觉。在远程服务中,该功能驻留在远程机器中,可以通过适当的格式和协议调用,并允许可扩展性。

我看到了这个问题。这个问题很久以前就被问到了,但我认为社区中任何人的回答都会对未来的提问者有所帮助,为这个话题提供更多的信息和清晰的思路。因此,我想补充我的改进,指出关键的区别,我希望,这将有助于未来的读者

------------------------------------------------------------------------------
| Category             |    RPC              |    Web Services
------------------------------------------------------------------------------
|Operation's Location  | On top of TCP       | on top of HTTP Protocol
------------------------------------------------------------------------------
|Data format           | Binary              | Text, XML, JSON, ect.
------------------------------------------------------------------------------
|Speed                 | Slow (Marshalling)  | Fast
------------------------------------------------------------------------------

我没有提到RPC和Web服务的描述,因为您在其他人的回答中可以清楚地看到它们。

除了Wayne所写的:允许RPC采用独立于平台的方式之外,Web服务的其他属性是可发现和自描述的(与Win32 RPC相比)。不,这是不正确的。RPC是Web服务的体系结构样式。另一种选择是休息。引用:@schlamar web服务与RPC有任何关系吗?如果有,我们在web服务环境中是否有客户端和服务器存根?请提高英语水平。无法理解这是不准确的。RPC有接口定义语言作为数据格式,XML和JSON在传输过程中也是二进制的。没有区别。编组只是解码,一点也不新奇。HTTP在TCP之上吗?