RMI概要介绍
2007-08-14 10:28
155 查看
今天看完了RMI,然后动手写了一个例子.
简单说,实现RMI还是挺麻烦的.
需要一个服务器,一个客户端.
服务器上至少需要写两份代码,一份是注册服务,一份是实现服务,
举个例子:
我想从一台机器访问服务器,执行一个查询火车时刻的操作,那么
,这个服务就是"查询火车时刻".
注册服务,就是完成向服务器声明"我有查询火车时刻的功能"这一步;
实现服务就是完成具体的火车时刻查询工作.
客户端上至少要写一个代码,来调用服务器上的服务.
举个例子, 用户在本地登陆后,就可以查询火车时刻了,客户端就完成"调用服务器"和"显示".
服务器和客户端的连接,至少需要4个条件.
1. 客户端和服务器端,对"服务"有一个公共的接口, 举个例子, 就是一个java interface: String getTrainInfo(Date date, String trainID)
2. 服务端要有一个操作系统级别的服务一直运行着,这个就是java的工具'rmiregistry'. 这个服务停了就没戏了.
3. 在服务器端,要先启动rmiRegistry,再运行前面说得"注册服务"程序显式注册到服务上.
4. 服务器和客户端必须有一个xxx_stub.class.的文件, 这个文件是用java工具rmic根据"实现服务"的类生成的,生成之后,要同时部署到客户端和服务器端.
主要是第4点, 不够灵活, 实际部署时问题很多,所以RMI一直没有推广开来作为CS/BS的框架.
但是RMI是JavaBean的远程模式的基础, 且看EJB怎么处理部署的问题了.
据说现在EJB已经不流行了, Spring和structs要替代他们. 不知道是真是假. 我个人感觉JSP+servlet满好的,
简单说,实现RMI还是挺麻烦的.
需要一个服务器,一个客户端.
服务器上至少需要写两份代码,一份是注册服务,一份是实现服务,
举个例子:
我想从一台机器访问服务器,执行一个查询火车时刻的操作,那么
,这个服务就是"查询火车时刻".
注册服务,就是完成向服务器声明"我有查询火车时刻的功能"这一步;
实现服务就是完成具体的火车时刻查询工作.
客户端上至少要写一个代码,来调用服务器上的服务.
举个例子, 用户在本地登陆后,就可以查询火车时刻了,客户端就完成"调用服务器"和"显示".
服务器和客户端的连接,至少需要4个条件.
1. 客户端和服务器端,对"服务"有一个公共的接口, 举个例子, 就是一个java interface: String getTrainInfo(Date date, String trainID)
2. 服务端要有一个操作系统级别的服务一直运行着,这个就是java的工具'rmiregistry'. 这个服务停了就没戏了.
3. 在服务器端,要先启动rmiRegistry,再运行前面说得"注册服务"程序显式注册到服务上.
4. 服务器和客户端必须有一个xxx_stub.class.的文件, 这个文件是用java工具rmic根据"实现服务"的类生成的,生成之后,要同时部署到客户端和服务器端.
主要是第4点, 不够灵活, 实际部署时问题很多,所以RMI一直没有推广开来作为CS/BS的框架.
但是RMI是JavaBean的远程模式的基础, 且看EJB怎么处理部署的问题了.
据说现在EJB已经不流行了, Spring和structs要替代他们. 不知道是真是假. 我个人感觉JSP+servlet满好的,
相关文章推荐
- 软件测试的基础知识概要介绍
- kafka入门综合概要介绍
- 如何让SQL语句的执行计划稳定不变-存储概要介绍(转)
- java的RMI介绍
- PowerDesigner学习--概念数据模型CDM概要介绍
- Android硬件抽象层(HAL)概要介绍和学习计划
- Android硬件抽象层(HAL)概要介绍和学习计划
- RMI、RPC、SOAP通信技术介绍及比对
- directshow自带sample概要介绍
- Android硬件抽象层(HAL)概要介绍和学习计划
- JMeter学习-005-JMeter 主要组件概要介绍及执行顺序
- Android硬件抽象层(HAL)概要介绍和学习计划
- RMI介绍
- RMI、RPC、SOAP通讯技术介绍及比对 - XML/SOAP
- Android硬件抽象层(HAL)概要介绍和学习计划
- live555的概要介绍
- Android硬件抽象层(HAL)概要介绍和学习计划-转老罗的Android之旅
- 在A20上演示老罗的Android硬件抽象层(HAL)概要介绍和学习计划5--关于APP部分
- Android硬件抽象层(HAL)概要介绍和学习计划
- J2ME 3D粒子系统技术(1)概要介绍