RMI Remote Method Invoke 远程方法调用
RPC(Remote Procedure Call Protocol)——远程过程调用协议
binary 二进制
---------------------------------------------------------------------------------------
Binary-RPC
Binary-RPC 是一种和 RMI 类似的远程调用的协议,它和 RMI 的不同之处在于它以标准的二进制格式来定义请求的信息 ( 请求的对象、方法、参数等 ) ,
这样的好处是什么呢,就是在跨语言通讯的时候也可以使用。
1 、传输的标准格式是? 标准格式的二进制文件。
2 、怎么样将请求转化为传输的流? 将二进制格式文件转化为流。
3 、怎么接收和处理流? 通过监听的端口获取到请求的流,转化为二进制文件,根据协议获取请求的信息,进行处理并将结果写入 XML 中返回。
4 、传输协议是? Http
---------------------------------------------------------------------------------------
Hessian
轻量级 远程调用方案
Hessian 是由 caucho 提供的一个基于 binary-RPC 实现的远程通讯 library 。
------------------------
1 、是基于什么协议实现的? 基于 Binary-RPC 协议实现。
2 、怎么发起请求? 需通过 Hessian 本身提供的 API 来发起请求。
3 、怎么将请求转化为符合协议的格式的? Hessian 通过其自定义的串行化机制将请求信息进行序列化,产生二进制流。
4 、使用什么传输协议传输? Hessian 基于 Http 协议进行传输。
5 、响应端基于什么机制来接收请求? 响应端根据 Hessian 提供的 API 来接收请求。
6 、怎么将流还原为传输格式的? Hessian 根据其私有的串行化机制来将请求信息进行反序列化,传递给使用者时已是相应的请求信息对象了。
7 、处理完毕后怎么回应? 处理完毕后直接返回, hessian 将结果对象进行序列化,传输至调用端。
参考 http://www.cnblogs.com/happyday56/p/4268249.html
---------------------------------------------------------------------------------------
在进行基于Hessian的项目开发时,应当注意以下几点
JAVA服务器端
1.包含Hessian的jar包
2.设计一个接口,用来给客户端调用
3.实现该接口的功能
4.配置web.xml,配好相应的servlet
5.对象必须实现Serializable 接口
6.对于复杂对像可以使用Map的方法传递
客户端
1.java客户端包含Hessian.jar的包
2.具有和服务器端结构一样的接口(引入服务端代码的jar包)
3.利用HessianProxyFactory调用远程接口
参考博客: http://www.cnblogs.com/xdp-gacl/p/3897534.html