您所在的位置:开发 > Java > Java框架 > 基于Spring实现远程服务编程(3)

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

2006-11-09 14:22 朱先忠编译 51CTO.com 我要评论(0) 字号:T | T
一键收藏,随时查看,分享好友!

本文通过一个简单实例探讨基于Spring HTTP Invoker技术从普通Java类内部实现远程服务的相关技术。在此实现中,我们把HTTP通讯的简单性与Java内置对象串行化技术结合在一起。

AD:

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)


内容导航

网友评论TOP5

查看所有评论(

提交评论

  1. 编程排行榜:图形编程的LOGO语言
  2. 什么是响应式Web设计?

热点专题

更多>>

读书

标准C++开发入门与编程实践
本书着重介绍标准C++语言,即1998年由ISO正式推出的关于C++的国际性标准版本。 本书从最基础的编程语言概念讲起,共分6篇24章。

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 移动互联网生活门户 灵客风LinkPhone