关于RMI的理解

RMI在EJB中又占有很重要得成份。不过完全没有必要因此而挡住了学习上前进的道路。


RMI:指Remote Method Invocation (远程方法调用)。

说到远程方法调用,就应该说一下计算机通信技术。

计算机通信技术到目前为止主要有3种:

1.Socket 2.RPC 3.RMI

Socket在Java基础中已经学习,但是那只是皮毛而已。Socket得深入学习要对计算机通信底层技术非常熟悉,才会将Socket得代码写的非常好。否则Socket会让你痛不欲生。

RPC和RMI差不多,主要都是屏蔽了底层得具体实现。而者区别主要在于:

RPC是远程过程调用。

RMI是远程方法调用。


RMI实现过程。

简言之,RMI机制在实现过程中,会产生2个对象,分别是:Stub和Skeleton。

Stub在客户端,Skeleton在服务器端。Stub做为远程对象在客户端得代理,客户端在调用远程对象得过程,其实是调用Stub对象中相应得方法。随后Stub调用远程对象中相应得方法。

Skeleton会根据Stub传过来得信息进行解码,然后调用对应得方法。在方法调用完成后,会返回给Stub一个处理结果。Stub在将处理结果返回给调用他的客户端。

这样RMI就完成了基本得调用循环。
 

标签: