RMI/XML-RPC/JSON-RPC/SOAP概念比较

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

RMI :Romote Method  Invocation,远程方法调用。基于java远程消息交换协议JRMP通信;JRMP是专为java远程对象制定的协议。是分布式应用程序的100%java解决方法。RMI对非java语言应用程序支持不足,不能实现互通。

RMI是面向对象的编程模型。广泛应用与EJB架构系统中。

RMI基于调用 的模式,调用过程如下:客户端程序调用服务对象的客户端代理,代理负责打包参数并通过JRMP协议发送到服务端,服务端使用同样协议解析,执行业务逻辑处理,用同样方法返回结果给客户端。

 

 

RPC :RPC算是这几类的统称(这样说有点不准确,但也可以这么理解)。  RPC(Remote Procedure Call)远程过程调用,是实现分布式计算的一种技术。在某种传输协议(TCP/HTTP等)上携带信息数据,通过网络从远程计算机程序上请求服务。在 OSI模型中,RPC跨越了传输层和应用层,使开发网络分布式应用程序变得容易。客户端代码像调用本地方法一样调用远程方法。

RPC基于请求应答 模式,客户端发送调用信息(将远程方法名、参数打包进请求信息)到服务端,服务端解析到要调用的对象和方法执行后返回应答信息;客户端接受相应获取应答信息。

        RPC是跨语言的通信标准,sun和微软都有其实现,微软的DCOM就是建立在ORPC协议之上。

RPC是面向过程的编程模型。

 

XML-RPC :XML Remote Procedure Call,即XML远程方法调用,利用http+xml封装进行RPC调用。基于http协议传输、XML作为信息编码格式。一个xml-rpc消息就是 一个请求体为xml的http-post请求,服务端执行后也以xml格式编码返回。这个标准面前已经演变为下面的SOAP协议。可以理解SOAP是 XML-RPC的高级版本。

 

SOAP :Simple Object Access Protocol ,简单对象访问协议,是一种轻量的、简单的、基于xml的远程访问协议。可以与现有的多种传输层或应用层协议结合使用,如TCP、HTTP、SMTP等。 SOAP广泛使用的是基于HTTP和xml协议的实现(SOAP=RPC+HTTP+XML ),也就是大家常提的Web Service使用的通信协议。一个SOAP方法可以简单地看作遵循SOAP编码规则的HTTP请求和响应。

比较:XML-RPC是启动web服务最容易的方法,在很多方面比SOAP更简单易用,但不同于SOAP的是,XML-RPC没有相应的服务描述语法,这妨碍了XML-RPC服务的自动调用。

 

JSON-RPC :JSON Remote Procedure Call,即JSON远程方法调用 。类似于XML-RPC,不同之处是使用JSON作为信息交换格式。

 

 

 

(关于sun java版本的一些web服务规范:

  JAX-RPC1.1:Java API for XML-Based RPC 1.1 

JAX-WS2.0:Java API for XML Web Service 2.0,是前者的升级版本。

 使用JAXB处理xml与java对象映射;xml解析使用StAX拉式解析器规范。

详细可参考  Web 服务提示与技巧: JAX-RPC 与 JAX-WS 的比较

 

 JAX-RS: (Java API for RESTful Web Services (JSR-311) )  

Java 上构建 RESTful 风格的 web services 提供的一组标准 API。

 另附开源的JSON-RPC实现

1,JSON-RPC for Java

2,国人的 JSON-RPC  

 )

高性能RPC框架解密 Remote;RPC技术极大地简化了分布式系统的开发,它允许开发者以一种统一和透明的方式访问远程服务。随着技术的发展,RPC已经衍生出多种实现,支持多种编程语言和服务协议,成为现代分布式计算不可或缺的一部分。 阅读详情

相关推荐

json简介,jsonxml,json-rpc

json对象,json描述方式,jsonxml,json-rpc

RMI\XML-RPC\JSON-RPC\SOAP概念比较

   今天被这几个概念混淆了,特地搜索整理一番, 本文只做概念比较,不足与错误之处欢迎大家指正!     RMI:Romote Method  Invocation,远程方法调用。基于java远程消息交换协议JRMP通信;JRMP是专为java远程对象制定的协议。是分布式应用程序的100%java解决方法。RMI对非java语言应用程序支持不足,不能实现互通。 RMI是面向对象的编程模型...

小猴的专栏 305

RMI FOR Android

用无线路由器搭建一个无线局域网环境,A、B通信主机双方定义一个共享的接口,由B来实现接口,由A来调用,只需要知道对方的IP、Port、Service就可以直接远程调用,Android平台上默认是不支持的,所以借鉴JAVA RMI来实现的,非常的有用。

远程RMI调用接口时传JSON类型参数失败的解决办法

一般情况下,远程调用接口时传的参数类型必须是经过序列化之后的类, 因为数据要在网络间传输,需要进行序列化,所以一般需要在接口间传递的对象都要实现Serializable接口,一些常用的String,int,long这些数据类型基本上都没有问题,不过在传json字符串的时候有时候就会报下面这个错误: java.io.NotSerializableException: net.sf.json.JSO

guodongCC322的博客 1505

java RMI 远程调用

1.背景 在学习代理模式的过程中接触到了远程调用,jdk有自己的RMI实现,所以这边自己实现了RMI远程调用,并记录下心得. 感受最深的是RMI和现在的微服务有点相似,都是通过"注册中心"来获取数据,比如spring cloud 中通过feign来获取数据,这个就可以看作一个代理模式,我们通过feigh获取数据其实是通过别的服务器上的代码来获取数据的,而RMI中是通过rm...

weixin_30294295的博客 285

【分布式服务架构】常用的RPC框架

分布式服务架构常用的RPC框架介绍

wjavadog的博客 4491

33.服务之间的调用之RPC、Restful深入理解

RPC、REST API深入理解一:RPCRPC 即远程过程调用(Remote Procedure Call Protocol,简称RPC),像调用本地服务(方法)一样调用服务器的服务(方法)。通常的实现有 XML-RPC , JSON-RPC , 通信方式基本相同, 所不同的只是传输数据的格式.RPC是分布式架构的核心,按响应方式分如下两种:同步调用:客户端调用服务方方法,等待直到服务方返回结果...

郑学炜的技术博客 5万+

比较RMI、HTTP+JSON/XML、gRPC

RMIJava特有的远程调用机制,允许运行在一个Java虚拟机上的对象调用运行在另一个Java虚拟机上的对象的方法。RMI使用Java远程消息交换协议JRMP(Java Remote Messaging Protocol)进行通信。

在那一刻,我们或许会发现自己站在了时间的另一岸,以更加成熟和宽广的胸怀,去拥抱那份隔代相传的深情。 1550

分布式系统之RPC,RMI,SOAP,REST

上一次我们了解了数据复制的类型(类型和复制类型),分布式事务(概念,情况)和DDBMS(分布式数据处理系统),这次我们来看CS交换协议,RPC,RMISOAP及REST。

LQY020909的博客 2187

SOAP说开去 - - 谈谈WebServices、RMIRPC、SOA、REST、XMLJSON

引子: 关于SOAP其实我一直模模糊糊不太理解,这种模模糊糊的感觉表述起来是这样: 在使用web服务时(功能接口),本来我就可以通过安卓中固有的http类(使用http协议),来发送http请求,并且解析返回的数据(一般是xml或者json),得到我要的结果 为什么还非得多此一举使用soap呢,而且soap自己的介绍也说,它其实没有发明技术,它其实就是http+xml 在安卓中使用soap...

咖啡的博客 424

用于Android的轻量级Java XML-RPC客户端源代码

一个用于Android的轻量级Java XML-RPC客户端源代码,XML-RPC是用于远程过程调用的HTTP协议,以XML格式通讯。 如何包含它: 1)可以将src目录下的源代码包含到你的项目里。 2)编译为库 可以用NetBeans或ant编译成library,生成JAR文件用于你的项目。 3)使用Maven 本库也是一个有效的Maven项目,因此你可以用Maven编译。如果你在NetBeans里使用Maven项目,你需要删除nbproject文件夹。 使用Maven项目,在pom.xml文件中添加依赖: <dependency>     <groupId>de.ti

PRC、RMISOAP、REST等的区别与联系

不同系统之间 通信方式    --RPC         :它是一种规范,采用请求和响应的方式     --XML-RPC  :通过xml格式来实现RPC的规范,APIXmlRpcClient     --JSON-RPC  :通过JSON格式来实现RPC的规范,API是     --SOAP   :可以认为是XML-PRC的加强版本,基本格式仍然是xml,但封装的更加完美,支持的数据

glgl2424的专栏 2467

RPCRMISOAPWebService、Corba、COM等协议简单说明

近来系统学习了一下java分布式对象计算技术,这里做一个简单的总结: 一、RPC协议        1、JSON-RPC规范:http://json-rpc.org/wiki/specification        2、XML-RPC规范:http://www.xmlrpc.com/spec        RPC协议支持xmljson两种格式的消息,使用http作为其传

自有贵人相助 1334

从SOA到RPCSOAP、REST

从SOA说起SOA是把项目拆成组件,每个组件暴露出服务,强调的是服务的复用。SOA架构实现不依赖于技术,因此能够被各种不同的技术实现。例如:SOAP, RPC,REST,DCOM,CORBA,OPC-UA,Web services,DDS,Java RMI,WCF (Microsoft's implementation of web services now forms a part of WCF...

田攀的日志 2028
上一篇: VMware 虚拟机架设网单,通用断网连接实现方式,真正实现单机架设
下一篇: shell入门
sun5208
博客等级 码龄18年 255粉丝 58原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值