RMI

来源:岁月联盟 编辑:zhu 时间:2010-02-08
  

  使用Java编程语言及其开发环境的程序员可以写一个面向对象的程序,在这个程序中不同电脑上的对象可以通过分布式网络进行交互,它们交互的方式叫RMI(Remote Method Invocation,远程方法调用)。RMI是Java版本的远程过程调用(RPC),但是它能够应请求传递一个或多个对象。传递的对象可以包括将会改变正在远端电脑上执行的服务的信息。Java的发明者Sun Microsystems称此为“搬移行为”。比如说,一个用户在远端计算机上填了一份报销单,和用户交互的这个Java程序可以使用RMI和另一台电脑上的Java程序通信,那个程序总是拥有关于费用报告的最新政策。作为回应,那个程序将会发送回一个对象及相关的方法信息,这个方法信息能使远端计算机程序用最新的政策向用户打印出报销单数据。这样,通过早期截获错误,用户和公司都节省了时间。无论公司政策何时改变都只需要对一台计算机上的程序作更改。

  SUN将这种对象参数传递的机制称作object serialization。RMI请求将触发一个远端对象的方法。这个请求的语法与触发本地计算机上某对象方法的语法相同。一般来说,RMI在网络中保留了对象模型及其优点。

  RMI是通过以下三层来实现的:

  ?一个client/server关系下客户端的存根(stub)程序,以及一个服务器端相对应的框架(skeleton)。对调用程序来说,stub就是某个服务要调用的程序。(SUN用术语proxy作为stub的同义词。)

  ?远程参考层,它能依据调用程序所传递的参数而作出不同的动作。比如,这一层能够判断这个请求是要调用一个单一的远程服务还是多个远端程序。

  ?传输连接层,它作用是建立和管理请求。

  一个请求将向下经过一台计算机的这些层,然后在另一端向上经过这些层。

  RMI是作为Sun Microsystem的Java开发包(JDK)的一部分提供的。

上一篇:RJ-45
下一篇:runbook

图片内容