若相依 发表于 2015-1-18 11:15:44

发布一篇基于Spring完成远程服务编程

java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。
一.弁言
从基本上剖析,Remoting实践上是一种企业散布式盘算的组件。在统一服务器(Java假造机)内举行挪用的服务(或类)其实不必要把本人表露为一种远程服务;可是,假如你必要与一个内部程序(在分歧的服务器上或在一个分歧的构造中)举行通信的话,那末,必需把它完成为一个远程服务。Spring框架为把营业类表露为远程服务供应了一种共同而天真的体例。
SpringRemoting架构的中心是服务对象,这些对象实际上是一些POJO,也称作Springbean。Spring框架可以把这些服务对象与基本布局细节(比方它们表露为远程服务的体例)断绝开来;如许以来,开辟者就能够专注于完成服务对象的营业接口而不是扳连到这些细节中往。
这个Remoting模子供应了对营业服务的远程笼统。它卖力编排和反编排办法参数而且还卖力处置服务办法中抛出的任何非常—利用未反省的RemoteAccessException非常对它们举行包装。为了完成各类服务,Spring利用了多少计划形式。比方,它利用代办署理计划形式把你对HTTPPOST哀求的挪用翻译成指向输入服务的URL。
本文将侧重切磋怎样利用Spring完成一个远程服务。也就是说,要展现利用SpringRemotingAPI把一个一般Java对象(POJO)转化成一个远程服务;如许以来,内部程序就能够从其营业完成中挪用该服务。该演示利用一个示例存款处置使用程序把一个营业服务虚现为一个远程HTTP服务而且从一个测试客户端挪用该类中的营业办法。
二.SpringRemoting事情机制
在本节中,让我们更加仔细地剖析Spring的Remoting事情机制。要把一个一般的Java类完成为一个远程服务,必要供应以下一些内容:
1.远程服务输入器(exporter)—这些类用于创立为客户端程序所挪用的远程服务端点。服务导出器还办理任何用来查询远程服务的注册表。
2.代办署理工场Bean—它们是用于创立代办署理的工场类,客户端可以利用这些代办署理毗连到远程服务。
3.HTTPInvoker—如后面所说起,SpringHTTPInvoker利用了一种Remoting模子,你可使用这类模子完成跨HTTP的远程挪用,同时利用Java串行化手艺传送Java对象。如许使得从一个一般Java类中完成一个远程服务简单很多了,而且同意你专注于远程服务的营业接口而不用亲身思索远程基本布局的完成细节。
该手艺依附于RMIInvoker的基本布局,可是利用HTTP作为传输协定。
在客户端方面,SpringHTTPInvoker供应两品种型的客户端:JavaSE供应的尺度API和CommonsHttpClientAPI。默许情形下,它利用的是HttpClient。
接上去,让我们看一下Spring框架所撑持的远程(Remoting)手艺。
Spring框架撑持的远程手艺枚举
Spring框架撑持多种Remoting手艺。上面,我们来对它们作一一复杂先容。
①远程办法挪用(RMI)
RMI是一种散布式Java手艺,远程Java对象的办法可以从一个分歧的Java假造机长进行挪用。它基础上是远程历程挪用(RPC)的Java版本,可是,它还供应了连同响应的哀求一同传送多个对象的才能。RMI利用真实的对象串行化来编排与反编排办法的参数而不会截断其响应范例。
Spring以两种体例撑持RMI:传统型RMI和利用RMIInvoker的远程手艺。
②Hessian
Hessian是一个由CauchoTechnology开辟的轻量级二进制RPC协定。它利用一种定制的串行化手艺来完成跨收集发送Java对象。除对Java撑持外,Hessian还供应关于比方PHP,Python,C++和C#等别的言语的完成撑持。
③Burlap
Burlap是一个轻量级的用于完成Web服务的XML-RPC协定。相似Hessian,它还利用一种专利性串行化机制来完成Java对象的串行化。有关Hessian/Burlap的更多信息,恕在此未几及。
<p>
你总不能说你写框架吧,那无疑会加大工作量,现在大多企业采取的是折中的办法,就是改别人写好的框架,可要改框架,前提是你对这个框架足够的了解,这就更难了。

海妖 发表于 2015-1-20 18:48:46

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧

再现理想 发表于 2015-1-26 22:58:49

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

因胸联盟 发表于 2015-2-4 21:18:02

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

谁可相欹 发表于 2015-2-10 11:39:29

科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

深爱那片海 发表于 2015-3-1 10:15:07

是一种使用者不需花费很多时间学习的语言

小女巫 发表于 2015-3-4 11:22:36

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

变相怪杰 发表于 2015-3-7 12:02:49

是一种突破用户端机器环境和CPU

小魔女 发表于 2015-3-8 05:28:52

是一种使网页(Web Page)产生生动活泼画面的语言

小妖女 发表于 2015-3-13 09:20:39

Java 编程语言的风格十分接近C、C++语言。

乐观 发表于 2015-3-20 18:35:23

其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
页: [1]
查看完整版本: 发布一篇基于Spring完成远程服务编程