美文网首页2018读书计划
一:弄清楚概念的东西

一:弄清楚概念的东西

作者: 漫步_2310 | 来源:发表于2018-01-07 11:16 被阅读9次

一:首先弄清概念的东西,RPC与RMI的区别

(1)RPC:(Remote Procedure Call) 

  被设计为在应用程序间通信的平台中立的方式,它不理会操作系统之间以及语言之间的差异。 支持多语言。

(2)RMI:(Remote Method Invocation) 

RPC 的Java版本,EJB的基础技术 

RMI 采用JRMP(Java Remote Method Protocol)通讯协议,是构建在TCP/IP协议上的一种远程调用方法。 

RMI 采用stubs和skeletons来进行远程对象的通讯。 

  stub充当远程对象的客户端代理,有着和远程对象相同的远程接口。 

  远程对象的调用实际是通过调用该对象的客户端代理对象stub来完成的。

(3)RMI与RPC的区别在于: 

1)方法是如何被调用的

  对RMI来说,如果一个方法在服务器上执行,但是没有相匹配的签名被添加到这个远程接口上,那么这个新方法就不能被RMI客户方所调用。 

  而在RPC中,当一个请求到达RPC服务器时,请求包含一个参数集和一个文本值,通常为“classname.methodname”形式。 

  这表明,请求的方法在“classname”类中,名叫“methodname”。 

  然后,RPC服务器就去搜索与之相匹配的类和方法,并把它作为那种方法参数类型的输入。 

  这里的参数类型是与RPC请求中的类型匹配的。 一旦匹配成功,方法就被调用了,其结果被编码后返回客户方。

2)对传递信息的限制

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

  而RPC不允许传递对象,RPC服务的消息由外部数据表示(External Data Representation,XDR)语言来表示。

3)采用的协议不同

    RPC不支持对象,采用http协议。RMI支持传输对象,采用TCP/IP协议

4)RIM只限于Java语言,而RPC跨语言

另外,RMI优于RPC或SOAP的一点是:在程序开发过程中因为对象或方法不匹配造成的错误可以在编译期被发现,而不用等到运行期。

二:首先弄清概念的东西:RPC, SOAP, WSDL的关系

1.RPC

如果要调用远端的一个方法,可以使用RMI和RPC,这是2种截然不同的风格。

RMI: (Remote Method Invocation) 直接获取远端方法的签名,进行调用。优点是强类型、编译期可检查错误;缺点是只限于java语言

RPC: (Remote Procedure Call) 采用客户端/服务器方式(请求/响应),发送请求到服务器端,服务端执行方法后返回结果。优点是跨语言跨平台,缺点是编译期无法排错,只能在运行时检查。

2.SOAP

为了包装RPC的请求信息,推出了XML-RPC,但XML-RPC只能使用有限的数据类型种类和一些简单的数据结构。于是就出现了SOAP(Simple Object Access Protocol)。SOAP最主要的工作是使用标准的XML描述了RPC的请求信息(URI/类/方法/参数/返回值)。理论上,SOAP就是一段xml,你可以通过http,smtp等发送它(复制到软盘上,叫快递公司送去也行?)。同样SOAP也是跨语言的。

3.WSDL

WSDL(Web Services Description Language)是描述web服务的,是描述怎样访问web服务的。WSDL是用来描述SOAP的,换句话说,WSDL 文件告诉你调用 SOAP 所需要知道的一切。WSDL也是一段xml。现在各个语言对wsdl的支持都很成熟,可以根据同一份wsdl文件生成自己语言的客户端。

相关文章

  • 一:弄清楚概念的东西

    一:首先弄清概念的东西,RPC与RMI的区别 (1)RPC:(Remote Procedure Call) 被设计...

  • 记录

    1. 所以教科书本质上一学期就是讲几个概念,弄清楚概念就好。 2.

  • 2021-05-10

    文钊洋:学八字先弄清楚一个概念,就是家里和家外 学八字先弄清楚一个概念,就是家里和家外。也就是我们常说的门内门外,...

  • 中国的税赋真的高吗?

    一、要弄清楚这个问题,先弄清楚几个基本概念: 1、税: 政府为了维持其运转以及为社会提供公共服务,对个人和...

  • 《人人》 - 产品概念的提出与筛选

    从脑中的混沌的想法,到纸面上具体的概念。 一、概念的提出 从明确以下的五个相对抽象的概念入手,逐步弄清楚产品的定位...

  • 浅谈SAML, OAuth, OpenID和SSO, JWT和S

    前言 通常为了弄清楚一个概念,我们需要掌握十个概念。在判断 JWT(JsonWebToken) 是否能代替 ses...

  • 计划和规划,效率的根源

    我想澄清一些概念,就是“计划”和“规划”,梳理一下我脑子里的东西给大家谈一谈我对这两个词的理解。我们要弄清楚这些概...

  • 学习的方法论

    遇到一个新的概念,想要了解清楚,无非也就几点: 1. 是什么?也就是弄清楚概念的特征(独特性),来龙去脉(...

  • 《学会提问》:替代原因(第十六期)

    今天我们学习第九章。 9 有没有替代原因 要想弄清楚一件事,必须弄清楚事情的起因。 新的概念替代原因:指一个言之成...

  • 007第三十四篇:教育与收入有关吗?—回归系数的显著度检验 统

    概念: 显著度检验(significance test) 弄清楚“显著”本质:其实显著度应该是 level of ...

网友评论

    本文标题:一:弄清楚概念的东西

    本文链接:https://www.haomeiwen.com/subject/ggdpnxtx.html