RPC是由Sun发明的远程过程调用协议,是第一种真正的分布式应用模型。Windows上使用的R PC是DCERPC的扩展。严格地说,RPC是一种逻辑上的协议,它可以使用Socket、Named Pipe等更低级的协议完成通信任务。现在Windows系统本身的大多数涉及通信和分布式应用 的服务程序都在使用RPC协议。这也就是为什么前一段时间RPC漏洞会给Windows带来那么大麻烦的原因所在了。

CORBA从概念上扩展了RPC。用RPC开发的分布式应用是面向过程的,而CORBA是完全面向对象的。CORBA协议在许多大型企业级应用中使用得很多。因此,CORBA对RPC的扩展就像C++语言 对C语言的扩展一样。 DCOM是微软自己开发的,面向对象的分布式应用模型。它的设计目标和CORBA一样,但它远 没有CORBA那么健壮和丰富,因此,真正在企业级应用系统中使用DCOM协议的并不太多。

在企业级软件开发中,还经常使用一种类似于e-mail的异步通信方式——消息队列。微软、 IBM等公司都由相应的消息队列产品,IBM的MQ Series是目前业界比较成熟的一种,应用很广。

Web Service是在开放的HTTP协议和XML语言的基础上构建的,类似于CORBA或RPC的一种新的分布式应用模型。与传统的RPC和CORBA相比,Web Service因为使用XML来描述所有数据,具有 通用、可交互的优势,因为使用HTTP协议来传输数据,具有跨平台、跨网络的特点。微软 的.NET平台和Sun的J2EE平台都支持Web Service。

因此,总地说来,可以使用的分布式技术很多,我们可以根据需要选用。比如说,最简单的 通信,可以直接用Socket编程来实现;对分布式要求较高的应用,可以考虑使用RPC;在面 向对象的环境下,可以选用CORBA或DCOM;当我们要在不同的网络和平台之间搭建开放的分 布式应用系统时,Web Service就是最好的选择了。 我觉得,学习这些技术要遵循一定的顺序,循序渐进地学习。必须先掌握网络通信和TCP/IP 协议的基础知识,这是前提条件。然后可以学习Socket这样最基本的通信编程技术,接着可 以选择学习RPC、CORBA、DCOM中的一种,然后,在充分了解XML语言和HTTP协议的基础上, 掌握Web Service就非常容易了。你可以按照这样的思路去找每个领域里的书来看——我一时也想不出什么具体的书名。

[转]RPC、CORBA、WebService之区别的更多相关文章

  1. RPC和WebService的区别

    最近分析的这个系统,逻辑架构中有一层是RPC interface.之前对RPC不熟悉,就上网搜索了一下资料,在此总结一下: RPC是Remote Procedure Calling,远程过程调用的缩写 ...

  2. 远程通信(RPC,Webservice,RMI,JMS、EJB、JNDI的区别)对比

    总结这些概念都是易混淆,最基本概念定义复习和深入理解,同时也是架构师必备课程 RPC(Remote Procedure Call Protocol) RPC使用C/S方式,采用http协议,发送请求到 ...

  3. 软件架构设计学习总结(15):远程通信(RPC,Webservice,RMI,JMS、EJB、JNDI的区别)对比

    总结这些概念都是易混淆,最基本概念定义复习和深入理解,同时也是架构师必备课程   RPC(Remote Procedure Call Protocol) RPC使用C/S方式,采用http协议,发送请 ...

  4. SOA,Webservice,SOAP,REST,RPC,RMI的区别与联系

    SOA,Webservice,SOAP,REST,RPC,RMI的区别与联系 SOA面向服务的软件架构(Service Oriented Architecture) 是一种计算机软件的设计模式,主要应 ...

  5. RPC与RMI的区别

    分布式项目按照以下发展经历了以下技术: CORBA: RMI:基于远程接口的调用 RMI-RROP:这是RMI与CORBA的结合,用在了EJB技术上,EJB留给世界上是优秀的理论和糟糕的架构. WEB ...

  6. RPC和RMI的区别(Difference Between RPC and RMI)

    RPC和RMI的区别(Difference Between RPC and RMI) RPC vs RMI RPC (Remote Procedure Call) and RMI (Remote Me ...

  7. WebAPI和WebService的区别

    WebAPI和WebService的区别 WebAPI用的是http协议,WebService用的是soap协议 WebAPI无状态,相对WebService更轻量级.WebAPI支持如get,pos ...

  8. 几种常用远程通信技术(RPC,Webservice,RMI,JMS)的区别

    原文链接:http://blog.csdn.net/shan9liang/article/details/8995023 RPC(Remote Procedure Call Protocol) RPC ...

  9. 远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)

    RPC(Remote Procedure Call Protocol) RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果.这个请求包括一个参数集和一个文本集,通常形成&qu ...

随机推荐

  1. mac下源码安装redis

    转载:http://www.jianshu.com/p/6b5eca8d908b 下载安装包 redis-3.0.7.tar.gz 官网地址:http://redis.io/download 解压:t ...

  2. [转]SSIS ADO.NET vs OLEDB

    本文转自:http://social.msdn.microsoft.com/Forums/sqlserver/en-US/1a9e3670-9685-4943-913b-123ecf248a9c/ol ...

  3. (转)HBase 常用Shell命令

    转自:http://my.oschina.net/u/189445/blog/595232 hbase shell命令                             描述  alter 修改 ...

  4. dcm4che tools 之dicomdir

    1.在dcm4che-3.3.7目录下的bin文件夹下运行命令行窗口 运行以下命令: dcmdir -c E:\TEMP\DICOMDIR E:\TEMP\04E439CE 为E:\TEMP\04E4 ...

  5. Java笔记19:Java匿名内部类

    匿名内部类也就是没有名字的内部类.正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写.但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 例1:不使用匿名内部类来实现抽象方 ...

  6. ubuntu 不是 识别 android 设备 解决方法

    ubuntu: 在终端输入lsusb: langu@langu:~$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root ...

  7. 【笔记】探索js 的this 对象 (第三部分)

    了解完函数的调用区域是如何影响this 对象的,还有this 的各种绑定方式以及各种绑定方式的优先级后 最后一部分,来了解一下this 的一些例外情况 1.被忽略的this 例如在使用bind 方法时 ...

  8. html中css三种常见的样式选择器

    1:标签选择器 标签选择器,是所有带有某种标签的都生效.这里以p为例,也就是所有的带有p标记的都会这样的样式 复制代码 代码如下: <html><head><stylet ...

  9. JMeter 九:给请求加断言

    参考:http://jmeter.apache.org/usermanual/component_reference.html#assertions 背景 在测试过程中,我们需要对某个请求的结果进行判 ...

  10. vue - webpack.dev.conf.js

    描述:开发时的配置.(配置开发时的一些操作) 例如这里,是否自动打开浏览器(默认true) 'use strict' // build/util.js const utils = require('. ...