基于Spring实现远程服务编程 - 编程入门网
专门的Remoting策略—HTTP Invoker,它使用标准的Java串行化机制并通过HTTP协议来暴露服务。这是一个很重要的特征,特别是当你想传递给服务的方法参数是复杂的类型对象而不仅是简单的文本消息时尤为重要。
⑤EJB Spring还支持EJB组件模型。EJB组件还提供其它的J2EE/Java EE服务,例如基于角色的认证和授权以及声明性和编程性事务管理。然而,EJB模型是一个重量级的组件模型,所以大多数业务应用程序往往敬而远之。 ⑥Java消息服务(JMS) JMS API是一种消息发送标准—允许Java应用程序异步地创建、发送、接收和处理消息。它提供了松耦合的和可靠的分布式通信。默认情况下,JMS Remoting使用Java串行化,但是一个JMS提供者(例如,WebLogic JMS或JBossMQ)能够使用另外一个不同的机制(例如XStream API)以便允许通过其它技术实现消息发送。 ⑦Web服务 借助于开源Web服务引擎Apache Axis并通过JAX-RPC技术,Spring为实现基于SOAP的Web服务提供支持。Web服务提供真正的平台独立的远程技术,但是它们的建立非常复杂,而且与常规HTTP远程调用相比还需要额外的SOAP消息处理的开销。因此,在不是真正需要平台独立性的情况下,你应该尽可能避免使用Web服务。另外,你还能够使用XFire(由Codehaus开发的一个轻量级SOAP库)对Web服务进行暴露。 其实,每一种远程技术都有其优点与不足,表格1对它们进行了简单的对比。
表格1:各种Spring Remoting技术优缺点比较 如你所见,每一种Spring Remoting技术都有各自的优缺点,但是大多数实际的应用程序都会要求使用一种轻量级Remoting技术。当实现远程服务时,使用例如EJB这样的重量级远程组件模型需要其它额外的开销。通常情况下,使用一种支持对象串行化能力的HTTP服务就足够了。 基于Spring实现远程服务编程(3)时间:2011-02-14三.远程应用程序编程举例 现在,让我们开始讨论本文相应的示例程序。这个程序的设计目的如下: ◆基于接口的设计:一个基于接口的设计使客户端不必了解远程服务的实现细节;而且该实现能够在不需要对客户端代码进行任何修改的情况下作出改变。 ◆测试驱动开发:该应用程序中的所有组件都应该是容器外可测试的。这个示例将使用JUnit来编写简单的单元测试以便对你编写代码时产生的每一个类的设计作出验证。 ◆ |
||||||||||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |