1、RMI

使用java的程序员,对于RMI(RemoteMethod Invoke,远程方法调用)一定不陌生,在java中,为了在分布式应用开发时,能够方便调用远程对象,java提供了RMI的API。在 RMI 中,远程对象按照好象它是本地行事,客户机应用程序会直接调用远程对象存根上的方法,因此,调用起来就如本地对象一样方便。RMI中封装了对象和请求的网 络传送,使得异地的对象服务直接可用。

但RMI的使用必须是在能够识别java代码的环境下使用,即必须有JVM的支持。因此,他只适合在java程序间的对象通信。如果不在 Java 环境下工作,或者需要与非 Java 环境通信,那么SOAP、RPC、CORAR等都是可以的。.

2、RPC & XML-RPC

RPC(Remote Method Invocation,远端过程调用) 与RMI的区别很明显,相比于RMI直接获取远端方法的签名,进行调用的方式,RPC使用的是C/S方式,发送请求到服务器,等待服务器返回结果。

为了包装RPC的请求信息,推出了XML-RPC,客户端发送一条特定消息,该消息中必须包括名称、运行服务的程序以及输入参数。

XML-RPC只能使用有限的数据类型种类和一些简单的数据结构。SOAP最主要的工作是使用标准的XML描述了RPC的请求信息(URI/类/方法/参数/返回值)。SOAP的方式,SOAP 是对如CORBA 和 RMI-IIOP 这样的重型 范例吸引人的替代。

3、SOAP

SOAP的消息被称为一个SOAP Envelope,包括SOAP Header和SOAP Body。其中,SOAP Header可以方便的插入各种其它消息来扩充Web Service的功能,比如Security(采用证书访问Web Service),SOAP Body则是具体的消息正文,也就是Marshall后的信息。

某些程序员每天挣扎于 Perl 和 C 组件、C 和 Java 组件之间的通信。这些开发人员可以从转向基于 SOAP 或基于 XML-RPC 的通信模型中获益匪浅。另一方面,从不转向 Java 以外语言的 Java 开发人员可以转向 RMI 而不是使用 SOAP,他们会看到极大的性能改善。

4、WSDL

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

5、其他

其他还有REST、Axis等

下面是RMI、RPC和SOAP的比较

 

RMI

RPC

SOAP

通信方式

远程对象按照好象它是本地行事.客户机应用程序直接调用远 程对象存根上的方法

客户机不直接调用方法,而是向服务器发送请求消息。

在XML-RPC上,使用规定的XML格式的数据格式来通信。比XML-RPC更具适用性,能够支持更多的类型及数据结构。

优点

远程对象按照好象它是本地行事,编译期可以检查错误

它允许客户机与服务器之间有更大的独立性。

服务器无需让客户机知道,就可以完全关机和被替换

非常适合异步通信和针对松耦合的客户机和服务器

缺点

只能基于java语言。异常信息容易丢失。客户机与服务器紧耦合。

丧失了许多可以确保方法和参数是正确的编译时便利。

必须做大量的运行时检查,而且开发人员丧失了许多可以确保方法和参数是正确的编译时便利。

RMI、RPC、SOAP通信技术介绍及比对相关推荐

  1. SOA,RMI,RPC,SOAP,REST等名称的理解

    2019独角兽企业重金招聘Python工程师标准>>> 今天我看到之前收藏的一篇文章,主要讲的分布式的一些东西,现在来回顾一下一些东西的意思,一下都是我自己的理解,如果有不对的地方请 ...

  2. android 云应用开发,Android云应用开发:网络通信技术介绍

    [IT168技术]云与端应用的技术基础就是网络通信技术,就应用层的网络通信技术而言,可以使用Socket.HTTP和Web Service,Android应用开发同样必不可少. ▲图书推荐 1.Soc ...

  3. 咖啡馆的故事:FTP, RMI , XML-RPC, SOAP, REST一网打尽

    周末的咖啡馆有点奇怪,  一群人围着几个老头儿在聊天. "快说说,你们那个时候没有HTTP, 没有JavaScript,到底是怎么让这些机器上的程序进行'交谈'的?" ftp老头儿 ...

  4. 理解SOAP (一)介绍、SOAP 版本、

    日期:2003-03 适用于:全局XML Web 服务架构(GXA) 远程过程调用(RPC) SOAP 1.1 SOAP 1.2 规范 传输协议:TCP, HTTP, SMTP, 和 MSMQ Mic ...

  5. 物联网的那些事----------01无线通信技术介绍

    概述 当今时代,无线通信在人们的生活中扮演越来越重要的角色,摆脱物理连接上的限制,自由地.随时随地地接入网络获取信息,已经成为当今社会的一种强烈需求.伴随着物联网的迅猛发展,无线技术也正在迅速发展,并 ...

  6. SOA RPC SOAP REST

    web service顾名思义这是一种提供service的形式,而且只能通过http(web)来提供service(web service三要素:SOAP.WSDL(WebServicesDescri ...

  7. 超宽带(UWB)无线通信技术介绍

    http://hi.baidu.com/hieda/blog/item/1cb9c81122eaed7acb80c42e.html 一. 超宽带无线通信技术(UWB)简介 二. 超宽带无线通信技术概述 ...

  8. SOAP协议规范介绍

    SOAP协议规范 1. 简介 SOAP以XML形式提供了一个简单.轻量的用于在分散或分布环境中交换结构化和类型信息的机制.SOAP本身并没有定义任何应用程序语义,如编程模型或特定语义的实现:实际上它通 ...

  9. 电力载波通信技术介绍

    电力线通信技术(Power Line Communication)出现于 20 世纪 20 年代初期.它是利用 已有的低压配电网作为传输媒介,实现数据传递和信息交换的一种手段.应用电力线通信方式发送数 ...

  10. (一) Nepxion-Thunder分布式RPC集成框架 - 介绍

    Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/ 1. 概要 1.1 Thunder是基于Netty + Hessian + ...

最新文章

  1. 某程序员哀叹:自己薪资远远超过了能力,想跳槽又怕外面接不住,怎么办?...
  2. python操作文件和目录_Python操作文件和目录
  3. boost : has_to_string的用法测试程序
  4. CCPlace,CCFlip*,CCToggleVisibility,CCMoveTo*,CCJumpTo*,CCScale*,CCRotate*,CCSkew*,fade,CCCardinalSp*
  5. pythonflask configlist.py_Python+Flask.0004.FLASK配置管理之三种方式加载外部配置
  6. 如何让大数据从发现价值到创造价值
  7. 华为n3计算机在哪里,在华为nova3i中连接电脑的两种方法介绍
  8. 如何创建线程?如何实现Runnable接口?
  9. 在Windows编译libssh
  10. 计算机应用 课件 .doc,计算机应用基础(计算机应用基础)课件.doc
  11. lamp兄弟连 mysql_LAMP兄弟连原创视频教程(笔记五--文件上传下载,mysqli对象,session,cookie,date函数)...
  12. vm虚拟机搭建click house(单机)
  13. 网络监控与安全 | 主要网络流量处理技术
  14. 麒麟座v1.4开发板01-资料获取
  15. 【MySQL】MySQL之权限管理
  16. java计算机毕业设计计算机课程在线培训学习管理系统MyBatis+系统+LW文档+源码+调试部署
  17. AD19 双层板导出Gerber文件
  18. tplink478虚拟服务器设置,tp-link路由器TL-R473如何设置,10台电脑设置局域网
  19. 【渝粤题库】陕西师范大学200791 软件工程
  20. 验证码机制之验证码自动识别

热门文章

  1. paip.编程压缩Access数据库
  2. PAIP.ASP技术手册
  3. 中金财富:如何获取不“平均”的收益?
  4. 洞见 | Peter:Web3.0 的宏观架构
  5. Rust : codewars的up AND down 算法
  6. (转)华兴资本包凡:我们这么屌,是有原因的
  7. 【路径规划】基于matlab GUI改进的迪杰斯特拉算法路径规划【含Matlab源码 1031期】
  8. 【基础教程】基于matlab图像质量评价综述【含Matlab源码 075期】
  9. 【三维路径规划】基于matlab RRT算法无人机三维路径规划【含Matlab源码 1270期】
  10. 【图像增强】基于matlab PSO寻优ACE算法图像增强【含Matlab源码 088期】