Hessian做为一个二进制传输协议,具有轻量、传输量小、平台无关的特点,特别适合于目前网络带宽比较小的手机网络应用项目。
和基于SOAP的web service相比,基于Hessian的web service要轻量得多。基于Hessian的web service有些类似于RMI(远程方法调用)或RPC(远程过程调用),但又没有后两者的平台相关的缺点。
Spring Framework使用Hessian的服务端和客户端应用都提供了良好的封装。对于简单的应用,可以直接使用Spring对Hessian提供的支持,简单易用。
对于复杂的应用,特别是在提供多种web service以及支持web客户端浏览的应用中,如果直接把服务器端的service层发布成Hessian服务,某些情况下并不妥当。这是因为,service层中很多方法返回的对象往往会是复杂对象,很多时候还会抛出checked exception。让Hessian传输复杂对象和exception并不是不可以,但这会削弱Hessian的传输量小的优点。而且也会增加Hessian客户端的代码量(需要定义相应的复杂类型和Exception)。
和基于SOAP的web service相比,基于Hessian的web service要轻量得多。基于Hessian的web service有些类似于RMI(远程方法调用)或RPC(远程过程调用),但又没有后两者的平台相关的缺点。
Spring Framework使用Hessian的服务端和客户端应用都提供了良好的封装。对于简单的应用,可以直接使用Spring对Hessian提供的支持,简单易用。
对于复杂的应用,特别是在提供多种web service以及支持web客户端浏览的应用中,如果直接把服务器端的service层发布成Hessian服务,某些情况下并不妥当。这是因为,service层中很多方法返回的对象往往会是复杂对象,很多时候还会抛出checked exception。让Hessian传输复杂对象和exception并不是不可以,但这会削弱Hessian的传输量小的优点。而且也会增加Hessian客户端的代码量(需要定义相应的复杂类型和Exception)。