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. c++类模板template中的typename使用方法-超级棒

    转载:https://blog.csdn.net/vanturman/article/details/80269081 如有问题请联系我删除: 目录 起因 typename的常见用法 typename ...

  2. shader cycles静态分析

    mali Mali Offline Compiler https://developer.arm.com/products/software-development-tools/graphics-de ...

  3. MongoDB分片集群节点状态stateStr:RECOVERING解决

    1.关闭一直处于RECOVERING状态的mongodb server /opt/mongodb/mongodb-linux-x86_64-2.4.8/bin/mongo  127.0.0.1:220 ...

  4. java小游戏代码

    一. 需求分析 曾几何时,游戏是海洛因的代名词,让人与玩物丧志联系在一起.一度遭到社会反感和家长抵制.可是.随着互联网的发展,和游戏潜在优点被发现.游戏的价值開始逐渐被社会认可,人们開始接受.认识和了 ...

  5. Android数据库之基本概念(上)

    1.Android数据库简单介绍 Android通过结合使用SQLite数据库和Content Provider,提供了结构化数据的持久功能. SQLite数据库能够通过一种结构化的.易于管理的方法来 ...

  6. SOA初探

    背景 曾今SOA的概念犹如今日“云计算.大数据”一样,被炒得火热,不少企业便纷纷响应,并宣称会拥抱和实施SOA.而事实上,业界出现了两种极端:一种是由于各类文章和书籍关于SOA的描述往往太过抽象,再加 ...

  7. HDU 1104 Remainder (BFS(广度优先搜索))

    Remainder Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  8. 使用PHP和GZip压缩网站JS/CSS文件加速网站访问速度

    使用PHP和GZip压缩网站JS/CSS文件加速网站访问速度 一些泛WEB 2.0网站为了追求用户体验,可能会大量使用CSS和JS文件.这就导致在服务器带宽一定的情况下,多用户并发访问速度变慢.如何加 ...

  9. python xml.etree.ElementTree解析xml文件获取节点

    <?xml version = "1.0" encoding = "utf-8"?> <root> <body name=&quo ...

  10. python&amp;php数据抓取、爬虫分析与中介,有网址案例

    近期在做一个网络爬虫程序.后台使用python不定时去抓取数据.前台使用php进行展示 站点是:http://se.dianfenxiang.com