RMI学习笔记

来源:互联网 发布:python分布式爬虫框架 编辑:程序博客网 时间:2024/05/17 02:44

     1、简介

      使用RMI可以实现远程方法的调用,是实现分布式技术的一种方法。RMI的具体应用主要来所可以归纳为三个角色:

  •  服务提供者:实现了服务接口,为其他客户端提供服务;
  •  注册服务器:是一个提供服务注册的实体,服务器提供者需要把他的服务注册到这个才可以被其他客户查找使用;
  •  客户端      :服务的使用者,从注册服务器查找到服务,再使用服务。

        关系如下图所示

      其实感觉和web Service的SOAP,WSDL,UDDI差不多。

      2、构建RMI应用的步骤基本如下:

      服务器端:

  •  创建远程接口
  •  实现远程接口提供的服务(即方法)
  •  启动注册服务器
  •  创建和注册服务实例

      客户端:

  •  根据注册的服务名查找服务得到实例的引用
  •  调用实例方法

       下面具体看了个例子如何使用RMI构建简单应用吧。我们来做一个加法的服务:

       服务器端:

  •    创建接口IAdd

     

  •  实现接口AddImpl

       

  •  启动注册服务,注册服务

      

 

       客户端

       

 

       3、一点总结

       觉得来与SOAP,WSDL相比,RMI还是过于封闭,开发也比较复杂,客户端需要知道提供服务的接口声明,而且不能与非java语言的对象进行通信。所以虽然实现了分布式,但是它的开放性、平台语言无关性还是不够。

       这一点上就不能和SOAP,WSDL相比了,他们对服务的WSDL描述是标准化的,平台语言无关的。更加适合松耦合的Internet环境的应用。