5.3.6. RMI
RMI中比较重要的两个概念是Stub和Skeleton,Stub和Skeleton对同一套接口进行实现,其中Stub由Client端调用,并不进行真正的实现,而是和Server端通信。Skeleton是Server端,监听来自Stub的连接,根据Stub发送的数据进行真正的操作。
- 客户调用客户端辅助对象Stub上的方法
- 服务端辅助对象Skeleton将客户端辅助对象发送来的信息解包,找出真正被调用的方法以及该方法所在对象
- 调用真正服务对象上的真正方法,并将结果返回给服务端辅助对象Skeleton
- 服务端辅助对象将结果打包,发送给客户端辅助对象Stub
- 客户端辅助对象将返回值解包,返回给调用者
- 客户获得返回值
T3协议是用于在WebLogic服务器和其他类型的Java程序之间传输信息的协议,是Weblogic对RMI规范的实现。简单来说,可以把T3视为暴露JDNI给用户调用的接口。
JRMP是一个Java特有的、适用于Java之间远程调用的基于流的协议,要求客户端和服务器上都使用Java对象。