完整文章在这里
文章写得比较易懂清晰,最后倾向于用HTTP Invoker,是轻量级的易于安装而灵活的方案,但它只在通信两边都是SPRING时适用。
要点如下:
每一种远程技术都有其优点与不足,表格1对它们进行了简单的对比。
按框架 优点 缺点分述如下:
RMI
全面支持Java对象串行化。因此,你能够通过网络发送复杂数据类型。
RMI仅是一种Java到Java型远程方案。如果你拥有任何非Java客户端的话,那么你无法使用它。另外,你还无法通过HTTP协议存取对象,除非你有专门的“通道”实现RMI通讯。注意,它需要一个RMI编译器(为了生成代理和框架)和一个外部注册表(用于查询服务)。
Hessian/Burlap
跨防火墙工作良好
它们使用一种专利对象串行化机制。其中,Burlap仅支持Java客户端。它们能够串行化Hibernate对象,但是对集合对象执行“惰式”加载。
HTTP Invoker
基于HTTP的Java到Java Remoting;通过HTTP实现Java串行化;容易建立。
服务器和客户端应用程序都需要使用Spring。
仅是一种Java方案。
EJB
支持Remoting J2EE服务,应用程序安全以及事务处理
EJB是一种重量级技术。它要求使用一个J2EE容器。
Web服务
平台和语言独立
要付出SOAP操作所带来的开销,并且要求使用一个Web服务引擎。
表格1:各种Spring Remoting技术优缺点比较
如你所见,每一种Spring Remoting技术都有各自的优缺点,但是大多数实际的应用程序都会要求使用一种轻量级Remoting技术。当实现远程服务时,使用例如EJB这样的重量级远程组件模型需要其它额外的开销。通常情况下,使用一种支持对象串行化能力的HTTP服务就足够了。
posted on 2007-06-08 18:53
我爱佳娃 阅读(836)
评论(0) 编辑 收藏 所属分类:
Spring