`
applepieone
  • 浏览: 11577 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

RPC/编码、RPC/文字、文档/文字?应该采用哪一种?

 
阅读更多

http://www.ibm.com/developerworks/cn/webservices/ws-whichwsdl/

 

      对比服务的两类方式:一类是同步或者远程过程调用(RPC)方式;另一类是异步或者消息(文档)方式

      同步服务:同步服务的客户端将它们的请求表示为带变量的方法调用,方法返回一个包含返回值的响应。这意味着,当客户端发送一个请求时,它会首先等待响应消息,然后才会继续向下运行。这就使得整个调用不是完全成功就是完全失败。加入某个操作由于某种原因不能成功,则其他所有的依赖操作也将失败。由于在客户端和服务之间的双向通信,RPC类型的服务在客户端和服务提供者之间需要紧耦合的通信模式。当应用程序具有下列特性时,通常将用到RPC类型的Web Service:

  •        调用服务的客户端需要一个立即的响应
  •        客户端与服务以反复对话的方式进行写作

       典型RPC类型的同步服务例子包括:返回特定股票的当前价格,提供特定地区的当前天气情况

 

       异步服务:异步服务是文档类型的服务或消息驱动类型的服务。当客户端调用消息类型的服务时,客户端通常发送整个文档,诸如订购单,而不是单独发送一些参数。服务收到整个文档后,会处理它,然后返回(也可能不返回)一个结果消息。调用异步服务的客户端在继续运行应用程序的其他部分之前,不需要等待响应,从服务发出的响应可以在数小时甚至数天后才出现。

        在松耦合环境中,异步交互(消息)是一个核心设计模式。消息使得应用所处的松耦合环境既不需要了解如何进行通信的技术细节,也不需要了解其他应用程序的借口。这使得任何两个流程之间的通信操作可以是自包含的、独立的工作单元。当应用程序具有些列特性时,通常需要使用文档类型的Web Service:

  •        客户端不需要(不期待)立即的响应。
  •        服务是面向文档的(客户端通常发送一个完整的文档,例如订购单,而不是发送一些离散参数)。

       文档类型的Web Service 的例子包括订购单处理、响应客户的询价请求、响应一个特定顾客的订购等。在所有这些情况中,客户端向Web Service发送一个完整的文档,诸如订购单,然后假定Web Service以某种方式正在处理,但是客户并不需要一个立即的回复。

分享到:
评论

相关推荐

    oncrpc.rar_RPC. VC++_oncrpc windows_windows RPC_ycnian的博客

    RPC(Remote Procedure Call)是一种分布式计算技术,允许一个程序在一台计算机上执行远程操作,就像它在本地执行一样。在Windows环境下,RPC是系统服务的重要组成部分,广泛用于进程间通信和系统组件之间的交互。本...

    WSDL样式详解,soap中Rpc和Document的区别

    Web 服务描述语言(WSDL,Web Service Description Language)是一种XML格式,用于定义网络服务的接口,包括服务的位置、操作及如何与这些服务交互。在WSDL文档中,SOAP(Simple Object Access Protocol)绑定部分...

    ONCRPC.rar_ONCRPC_code rpc_onc_onc rpc

    ONC RPC,全称为Open Network Computing Remote Procedure Call,是一种基于Internet协议栈的远程过程调用标准,它允许程序在不同的网络计算机之间进行通信,就像它们在同一台机器上运行一样。这个"ONCRPC.rar_ONC...

    javax.xml.rpc

    XML-RPC是一种轻量级的远程调用协议,它使用XML来编码方法调用和参数,通过HTTP作为传输协议。在Java中,javax.xml.rpc包提供了相关的接口和类,使得开发者能够方便地创建和使用XML-RPC客户端和服务端。 在描述中...

    rpc调用的一个demo

    RPC(Remote Procedure Call)是一种进程间通信方式,允许一台计算机上的程序调用另一台计算机上的程序,就像调用本地函数一样。在这个“rpc调用的一个demo”中,我们将会探讨RPC的基本原理,以及如何实现一个简单的...

    LabVIEW XML-RPC

    LabVIEW XML-RPC 是一种基于XML的远程过程调用(RPC)技术,它允许LabVIEW应用程序与其他支持XML-RPC协议的系统进行通信。这个技术在跨平台交互和分布式系统开发中发挥着重要作用,使得LabVIEW可以与不同编程语言...

    RPC.rar_linux rpc pudn_remote_rpc实训平台

    RPC(Remote Procedure Call)是一种分布式计算技术,它允许一个程序在一台计算机上执行操作,而这些操作实际上是在另一台远程计算机上实现的。这个过程对程序员来说是透明的,仿佛调用的是本地函数一样。在“RPC....

    PHP调用protobuf的rpc接口示例和说明

    在IT行业中,Protocol Buffers(简称protobuf)是一种高效的数据序列化协议,由Google开发,用于结构化数据的编码和解码。PHP与protobuf的结合,允许开发者在PHP应用程序中使用protobuf进行数据交换,提高数据传输...

    JSON-RPC for Java使用说明

    JSON-RPC(JavaScript Object Notation Remote Procedure Call)是一种轻量级的远程调用协议,它使用JSON(JavaScript Object Notation)作为数据交换格式。在Java环境中,JSON-RPC允许应用程序通过网络调用其他...

    百兆以太网芯片RPC8201F百兆PHY芯片,替换RTL8201,替换裕太YT8510

    RPC8201F集成了以太网物理层的所有关键功能,包括物理编码子层(PCS)、物理介质附件(PMA)、双绞线物理介质依赖子层(TP-PMD)、10Base-TX编码/解码器以及双绞线媒体接入单元(TPMAU)。 这款芯片具备自动协商功能,能够...

    rpc的一些资料(有例子)

    RPC,即Remote Procedure Call,远程过程调用,是一种在分布式计算环境中实现不同系统间通信的技术。RPC使得一个程序可以调用另一个不在同一台计算机上的程序,就像它是一个本地调用一样,大大简化了网络应用程序的...

    基于netty实现的支持长连接的rpc

    "rpc"代表远程过程调用,是一种允许程序调用另一个程序的方法,即使这个程序位于不同的计算机上。"长连接"意味着客户端和服务器之间保持一个连接状态,而不是每次交互都建立新的连接,这降低了连接建立的开销,提高...

    微软的 MS RPC 手册

    **MS-RPC协议介绍:** MS-RPC是微软实现的一种RPC协议,广泛应用于Windows操作系统和许多微软服务中。它基于TCP/IP协议,并且可以运行在多种网络环境中。 **关键特性:** - **多协议支持:** 可以通过多种传输协议...

    programming web services with xml rpc

    - **请求格式**:XML-RPC请求采用XML文档的形式进行编码,包含要调用的方法名称及其参数列表。 - **响应格式**:响应同样采用XML格式,包括方法调用的结果或者错误信息。 - **数据类型**:XML-RPC支持多种数据类型,...

    PHPRPC asp.net的结合!

    PHPRPC(PHP Remote Procedure Call)是一种轻量级的跨平台、跨语言的远程过程调用协议,主要用于实现PHP和其它编程语言之间的通信,如ASP.NET。在这个场景中,它作为一个桥梁,使得ASP.NET应用能够与PHP应用进行...

    用Java实现基于SOAP的XML文档网络传输及远程过程调用(RPC)

    SOAP(Simple Object Access Protocol,简单对象访问协议)是一种基于XML的协议,用于计算机之间的消息传递与远程过程调用(RPC)。SOAP可以适应多种消息交换系统,并且能够通过不同的传输协议进行通信,尽管其最初...

    Java rpc xdr的使用

    远程过程调用 (Remote Procedure Call, RPC) 是一种协议,允许在一个计算机上的程序调用另一个网络上的计算机上的子程序,而无需程序员明确编码此交互的细节。这种交互方式对客户端来说是透明的,它简化了分布式系统...

    2001_Programming Web Services with XML-RPC

    XML-RPC(XML Remote Procedure Call)是一种轻量级的协议,用于实现不同应用程序之间的远程过程调用。它通过HTTP协议传输XML格式的数据,在客户端和服务端之间交换信息。XML-RPC能够跨平台、跨语言地工作,支持多种...

    XML简介+SOAP+XML-RPC

    XML,即可扩展标记语言(eXtensible Markup Language),是一种基于文本的、层次结构的标记语言,主要用于描述数据的含义而非显示方式。在Java Web领域,Sun公司提供了关于XML和Java的详尽教程,这对于理解和应用XML...

Global site tag (gtag.js) - Google Analytics