您所在的位置: 首页 > 开发 > JAVA > JAVA专区 > 热门框架 > Spring >

基于Spring实现远程服务编程(3)

http://developer.51cto.com  2006-11-09 14:22  朱先忠编译  51CTO.com  我要评论(0)
  • 摘要:本文通过一个简单实例探讨基于Spring HTTP Invoker技术从普通Java类内部实现远程服务的相关技术。在此实现中,我们把HTTP通讯的简单性与Java内置对象串行化技术结合在一起。
  • 标签:Java  Spring  Remoting  编程

Spring配置

本文中的HTTP Invoker Remoting示例使用了两个配置XML文件,这两个文件中定义了相应于你编写的实现水灾远程服务的类的Spring bean;它们分别是loanapp-servlet.xml和loanapp-client.xml。

实现

下列是基于HTTP Invoker技术针对示例贷款处理应用程序实现一个远程服务所需的步骤:

1.创建一个HTTP Invoker服务输出器类(HttpInvokerServiceExporter)。
2.创建一个HTTP代理(使用HttpInvokerProxyFactoryBean)。你需要在这个类中指定如serviceUrl和serviceInterface等参数。
3.定义一个URL映射,以便客户端调用远程HTTP服务。
4.在loanapp-servlet.xml文件中配置Spring bean。
5.在web.xml文件中配置Spring Web层(DispatcherServlet)。
6.编写客户端类(使用HTTP或Commons HttpClient)。
7.编写一个JUnit测试用例来调用客户端类中的方法。

测试

本文下载源码文件中包含了一个JUnit测试客户程序(FloodCertClientTest)用于测试调用水灾远程服务的客户端类。它通过若干不同的测试贷款应用程序(使用不同的邮政区码属性)来调用客户端。凭借提交的邮政区码属性,水灾服务就能够返回水灾认证分析的结果。

四.总结

Spring远程技术为把业务域服务暴露为远程服务提供了一种简单而灵活的方案。同时,它还为暴露多种协议(当然,位于不同的URL处)之下的相同服务提供了相当的灵活性。例如,你可以把本文示例程序中的水灾认证检查服务实现为一种RMI服务(对于Java客户,应该利用更快速的Java到Java远程技术,而对于非Java客户则宜使用一种HTTP服务)。这样以来,你可以仅在一处编写业务服务逻辑,但是最终可以把该服务暴露为两个远程服务端点。

HTTP Invoker框架为普通Java服务接口提供了必要的代理;同时,还为把Java类实现为远程服务提供一致的用法和配置风格。这是一种把两个世界的实现达到最佳结合的远程方案—把HTTP通讯的简单性与Java内置对象串行化技术结合在一起。这使得HTTP Invoker无论对RMI还是对Hessian/Burlap都成为一种优秀的选择。

当然,HTTP Invoker的一个重要局限性就是它仅为Spring框架所提供—这意味着,客户端和服务应用程序都必须使用Spring框架实现。但是,当你需要一种轻量级的易于安装而灵活的方案时,这是一种不错的选择。

(责任编辑 火凤凰 sunsj@51cto.com  TEL:(010)68476636-8007)



共3页: 上一页 [1] [2] 3
【内容导航】
Scala编程语言
Java实用开发全集
Java类的基础教程专题
Java发展动态专题
Spring开源框架技术
 
 验证码: (点击刷新验证码)   匿名发表
  • 亮剑.NET. 图解C#开发实战

  • 作者:李新峰 付志涛 缪勇
  • 本书采用全新的图解思路,分3篇介绍使用微软C#语言开发实际应用程序的基本知识。第1篇包括10章,介绍了C#语言的基础知识,主要..
Copyright©2005-2009 51CTO.COM 版权所有