RMI原理,以及CORBA和SOAP

一 基本概念:

1.         Stub(存根):当客户端要在远程对象上调用一个方法的时候,实际上调用的是代理对象上的一个普通方法,称这个代理对象为stub。RMI的存根定义就是使用了这样一个理解:在与远程发生通讯调用时,把通讯调用的所有细节都通过对象的封装形式给隐藏在后端。客户端的stub方法构造了一个信息块,包括:远程对象的标识,被调用方法描述,参数。

2.         Skeleton(骨架):它的内部就是真正封装了一个类的形成调用体现机制。包括我们熟知的ServerSocket创建、接受、监听、处理等。接收者对象做这些事:

     (1)反编组参数

     (2)定位要调用的对象

     (3)调用所需的方法

     (4)捕获返回值或调用产生的异常,并且反编组

     (5)返回值编组,返回客户端。

3.         Mashalling(编组):在内存中的对象转换成字节流,以便能够通过网络连接传输,适合虚拟机之间传递。

4.         Unmashalling(反编组):在内存中把字节流转换成对象,以便本地化调用。

5.         Serialization(序列化):编组中使用到的技术叫序列化。

6.         Deserializationg(反序列化):反编组中使用到的技术叫反序列化。

二 示意图

三 只说说各自的特点

        数据格式,传输方式,适用场景和优缺点。

(1) SOAP:简单对象访问协议,提供一个调用远程方法的协议。而SOAP是基于XML和HTTP的分布式对象的通信协议

独立于编程语言,使用XML传输格式。

      使用WSDL(Web服务描述语言)格式的服务描述文件描述web服务的接口:被调用的方法,参数和返回值类型。

      WSDL文件并不说明服务 做什么,只说明参数和返回值的类型。

      最吸引人的地方是语言中立。

(2)CORBA 通用对象请求代理架构,使用IIOP(Internet Inter-ORB协议)支持对象间通信。

     定义了接口定义语言(IDL)和应用编程接口(API),从而通过实现对象请求代理(ORB)来激活客户/服务器的交互。

     ORB提供了一种机制,通过这种机制,对象可以透明的发出请求和接收响应。

     CORBA仅仅是一个规范,而不是一个实现。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值