基于Spring实现远程服务编程[Java编程]
本文“基于Spring实现远程服务编程[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
一.引言
从根本上解析,Remoting实际上是一种企业分布式计算的组件.在同一服务器(Java虚拟机)内举行调用的服务(或类)并不需求把自己表露为一种远程服务;但是,假如你需求与一个外部程序(在差别的服务器上或在一个差别的组织中)举行通讯的话,那么,必须把它实现为一个远程服务.Spring框架为把业务类表露为远程服务供应了一种独特而机动的方法.
Spring Remoting架构的核心是服务对象,这些对象其实是一些POJO,也称作Spring bean.Spring框架可以把这些服务对象与底子构造细节(比方它们表露为远程服务的方法)断绝开来;这样以来,开辟者便可以专注于实现服务对象的业务接口而不是牵扯到这些细节中去.
这个Remoting模子供应了对业务服务的远程抽象.它负责编排和反编排办法参数并且还负责处理服务办法中抛出的任何非常—利用未查抄的RemoteAccessException非常对它们举行包装.为了实现各种服务,Spring利用了若干计划情势.比方,它利用代理计划情势把你对HTTP POST恳求的调用翻译成指向输出服务的URL.
本文将侧重探究若何利用Spring实现一个远程服务.也就是说,要展示利用Spring Remoting API把一个普通Java对象(POJO)转化成一个远程服务;这样以来,外部程序便可以从其业务实现中调用该服务.该演示利用一个示例贷款处理利用程序把一个业务服务实现为一个远程HTTP服务并且从一个测试客户端调用该类中的业务办法.
二.Spring Remoting工作机制
在本节中,让我们更为具体地解析Spring的Remoting工作机制.要把一个普通的Java类实现为一个远程服务,需求供应以下一些内容:
1.远程服务输出器(exporter)—这些类用于成立为客户端程序所调用的远程服务端点.服务导出器还管理任何用来查询远程服务的注册表.
2.代理工厂Bean—它们是用于成立代理的工厂类,客户端可以利用这些代理衔接到远程服务.
3.HTTP Invoker—如前面所说起,Spring HTTP Invoker利用了一种Remoting模子,你可以利用这种模子实现跨HTTP的远程调用,同时利用Java串行化技术传送Java对象.这样使得从一个普通Java类中实现一个远程服务简单得多了,并且答应你专注于远程服务的业务接口而没必要亲身考虑远程底子构造的实现细节.
该技术依靠于RMI Invoker的底子构造,但是利用HTTP作为传输协议.
在客户端方面,Spring HTTP Invoker供应两种范例的客户端:Java SE供应的尺度API和Commons HttpClient API.默许情形下,它利用的是HttpClient.
接下来,让我们看一下Spring框架所支持的远程(Remoting)技术.
Spring框架支持的远程技术摆列
Spring框架支持多种Remoting技术.下面,我们来对它们作一一简单介绍.
①远程办法调用(RMI)
RMI是一种分布式Java技术,远程Java对象的办法可以从一个差别的Java虚拟机上举行调用.它基本上是远程历程调用(RPC)的Java版本,但是,它还供应了连同呼应的恳求一同传送多个对象的本领.RMI利用真正的对象串行化来编排与反编排办法的参数而不会截断其呼应范例.
Spring以两种方法支持RMI:传统型RMI和利用RMI Invoker的远程技术.
②Hessian
Hessian是一个由Caucho Technology开辟的轻量级二进制RPC协议.它利用一种定制的串行化技术来实现跨网络发送Java对象.除了对Java支持外,Hessian还供应关于比方PHP,Python,C++和C#等别的语言的实现支持.
③Burlap
Burlap是一个轻量级的用于实现Web服务的XML-RPC协议.近似Hessian,它还利用一种专利性串行化机制来实现Java对象的串行化.有关Hessian/Burlap的更多信息,恕在此不多及.
以上是“基于Spring实现远程服务编程[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |