`
tansitongba
  • 浏览: 487260 次
文章分类
社区版块
存档分类
最新评论

RMI(远程方法调用)实现简单的查单词功能

 
阅读更多

1. RMI概念

RMI(Remote Method Invocation),远程方法调用,是Java的一组拥护开发分布式应用程序的API。RMI使用Java语言接口定义了远程对象,它集合了Java序列化和Java远程方法协议(Java Remote Method Protocol)。简单地说,这样使原先的程序在同一操作系统的方法调用,变成了不同操作系统之间程序的方法调用,由于J2EE是分布式程序平台,它以RMI机制实现程序组件在不同操作系统之间的通信。比如,一个EJB可以通过RMI调用Web上另一台机器上的EJB远程方法。

2. 工作原理

在RMI中,调用远程对象的对象被称为客户机对象(Client Object)而远程对象被称为服务器对象(Server Object),同时引入了两种特殊类型对象,存根(stub)和框架(Skelton)。存根实际上是远程对象的客户端代理,它和远程对象具有相同的接口或方法列表,当客户端调用远程对象时,实际上是由相应的存根对象代理完成。在服务器端,框架对象处理“远方”的所有细节,完全可以像编写本地对象一样来编写远程对象。框架将远程对象从RMI基础结构分离开来。也就是说,客户端获得的只是代理对象,并不是服务器上的类型,只不过它实现了服务器上类型的全部功能。

3. 实例

实现简单的查单词功能,一台应用服务器以RMI的方式向客户端提供英译汉词典的服务。

创建一个简单的Java分布式远程方法调用程序可以按以下几个步骤操作:

1)定义远程接口

2)实现远程接口

由于只是简单的示例,故词典使用map来存储,当然也可以构造专门的词典文件或者从数据库中查询。

3)编写服务器类

4)编写客户端类

4. 运行结果

服务器端和客户端分别运行在两台机子上

服务器端运行结果


客户端运行结果

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics