一、什么是Hessian Hessian 是一个基于 binary-RPC 实现的远程通讯 library。使用二进制传输数据。Hessian通常通过Web应用来提供服务,通过接口暴露。Servlet和Spring的DispatcherServlet都可以把请求转发给Hessian服务。由以下两种方式提供,分别为:com.caucho.hessian.server.HessianServlet、org.springframework.web.servlet.DispatcherServlet。 关于hessian的7个问题: 1、是基于什么协议实现的? 基于Binary-RPC协议实现。 2、怎么发起请求? 需通过Hessian本身提供的API来发起请求。 3、怎么 将请求转化为符合协议的格式的? Hessian通过其自定义的串行化机制将请求信息进行序列化,产生二进制流。 4、使用什么 传输协议传输? Hessian基于Http协议进行传输。 5、响应端基于什么机制来接收请求? 响应端根据Hessian提供的API来接收请求。 6、怎么将流还原为传输格式的? Hessian根据其私有的串行化机制来将请求信息进行反序列化,传递给使用者时已是相应的请求信息对象了。 7、处理完毕后怎么回应? 处理完毕后直接返回,hessian将结果对象进行序列化,传输至调用端。 二、hessian的优缺点 优点: 简单易用,面向接口,通过接口暴露服务,jar包只有200、300k,不需要配置防火墙 效率高,复杂对象序列化速度仅次于RMI,简单对象序列化优于RMI,二进制传输 多语言支持:wiki、Java、Flash/Flex、Python、C 、.NET C#、PHP、Ruby、Objective-C 可与spring集成,配置简单,HessianServiceExporte 缺点: 缺乏安全机制,传输没有加密处理 异常机制不完善,总是报一些错误,错误原因也是千奇百怪 |
|