[转]RPC、CORBA、WebService之区别
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之区别的更多相关文章
- RPC和WebService的区别
最近分析的这个系统,逻辑架构中有一层是RPC interface.之前对RPC不熟悉,就上网搜索了一下资料,在此总结一下: RPC是Remote Procedure Calling,远程过程调用的缩写 ...
- 远程通信(RPC,Webservice,RMI,JMS、EJB、JNDI的区别)对比
总结这些概念都是易混淆,最基本概念定义复习和深入理解,同时也是架构师必备课程 RPC(Remote Procedure Call Protocol) RPC使用C/S方式,采用http协议,发送请求到 ...
- 软件架构设计学习总结(15):远程通信(RPC,Webservice,RMI,JMS、EJB、JNDI的区别)对比
总结这些概念都是易混淆,最基本概念定义复习和深入理解,同时也是架构师必备课程 RPC(Remote Procedure Call Protocol) RPC使用C/S方式,采用http协议,发送请 ...
- SOA,Webservice,SOAP,REST,RPC,RMI的区别与联系
SOA,Webservice,SOAP,REST,RPC,RMI的区别与联系 SOA面向服务的软件架构(Service Oriented Architecture) 是一种计算机软件的设计模式,主要应 ...
- RPC与RMI的区别
分布式项目按照以下发展经历了以下技术: CORBA: RMI:基于远程接口的调用 RMI-RROP:这是RMI与CORBA的结合,用在了EJB技术上,EJB留给世界上是优秀的理论和糟糕的架构. WEB ...
- 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 ...
- WebAPI和WebService的区别
WebAPI和WebService的区别 WebAPI用的是http协议,WebService用的是soap协议 WebAPI无状态,相对WebService更轻量级.WebAPI支持如get,pos ...
- 几种常用远程通信技术(RPC,Webservice,RMI,JMS)的区别
原文链接:http://blog.csdn.net/shan9liang/article/details/8995023 RPC(Remote Procedure Call Protocol) RPC ...
- 远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
RPC(Remote Procedure Call Protocol) RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果.这个请求包括一个参数集和一个文本集,通常形成&qu ...
随机推荐
- 为TextView设置两种状态,程序中可以动态切换
经常会需要用文字的两种状态来表示当前系统的某两种状态.比如: 这里的第一个TextView和后两个TextView就表示了两种状态.我们可以在程序的动态的切换状态(而不是直接修改颜色) ...
- 阻止jQuery事件冒泡
Query对DOM的事件触发具有冒泡特性.有时利用这一特性可以减少重复代码,但有时候我们又不希望事件冒泡.这个时候就要阻止 jQuery.Event冒泡. 在jQuery.Event 的文档 中的开头 ...
- linux系统下mysql跳过密码验证登录和创建新用户
修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 例如: [mysqld] datadir=/var/lib/mysq ...
- RocketMQ里的一个获取时间的工具类SystemClock
看rocketmq源码的时候发现他们还给时钟封装里一下. /** * Licensed to the Apache Software Foundation (ASF) under one or mor ...
- minic 符号表
#include <stdio.h> #include <string.h> #include <malloc.h> typedef struct _array_d ...
- LoadRunner录制: 选择协议
LR录制的时候关心的是通信,关心的是客户端和服务器之间的数据包.它通过监控客户端和服务器之间的通信,转化为自己的函数. 协议选择错误,可能会导致录制下来的内容为空. 方法一:根据经验来选择协议 Web ...
- Android性能优化的方方面面
通常项目比较大的APP都面临着如下性能问题,APP启动慢.界面跳转慢.事件相应慢.滑动和动画卡顿.展现内容慢等,有的公司处理的很好,有的还有很大的优化空间,对于性能优化,怎么去做,我总结了一下性能优化 ...
- recess----2.Controller里面取用request信息
事实上,第一个APP里面除了没有model,其它的都有用过了,但是需要单独拎出来看看清楚. Recess框架里面的controller就是一个典型的MVC框架的controller,它负责处理从浏览器 ...
- C8051F340之USB简介
背景 需求为实现一个键盘产品,于是将C8051F340作为主控制器.本篇记录C8051F340的USB控制器相关知识点,阅读本篇文章需要读者具有最基本的USB相关知识. 正文 C8051F340结构 ...
- 解决chrome和firefox flash不透明的方法
透明flash在IE内核的浏览器下正常.在chrome和火狐下不透明了. 解决方法: <object height="377" width="712" c ...