ch11 分布式对象

远程方法调用(RMI)协议

分布式编程技术的基本思想:

RMI 的几个重要概念:

存根(stub)

    客户端代码实际上调用的是代理对象的一个普通的方法。代理对象即为存根

    存根位于客户端机器上,它知道如何通过网络与服务端通信。

参数编组(parameter marshalling)

    存根将远程方法所需的参数打包成一组字节,对参数编码的过程称作参数编组。

    参数编组的目的是将参数转换成适合在虚拟机之间进行传递的格式。

    RMI 协议中对象是使用序列化机制进行编组的

    SOAP 协议,对象使用XML格式进行编组

客户端的存根构造了一个信息块,它由以下几部分组成:

    1. 被使用的远程对象的标识符

    2. 被调用的方法的描述

    3. 编组后的参数

存根将此信息块发给服务器。在服务器端,接收对象执行以下动作:

    1. 定位要调用的远程对象

    2. 调用所需的方法,并传递客户端提供的参数

    3. 捕获返回值或该调用产生的异常

    4. 将返回值编组,打包送回给客户端存根

客户端存根对来自服务端的返回值或异常进行反编组,其结果即为调用存根的返回值。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容