|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
而学习JAVA我觉得最应该避免的就是:只学习,不思考,只记忆,不实践!
2006年将是Web服务(出格是JavaWeb服务)开展标记性的一年。新的第三代框架行将撩开面纱,这些框架将为doc/litSOAP供应更好的撑持,并能带来潜伏的功能进步。同时,第四代WS-*尺度也终极入手下手构成一组可互操纵的层,对SOAP和WSDL举行扩大,以撑持中心企业需求。
这篇文章是我的JavaWeb系列的第1部分,我将会商以下Web服务今朝的形态和在2006年行将产生的次要变更,并将复杂申明新框架和手艺怎样相干和交互。后续文章将深切会商个中的良多框架和手艺,但愿能籍此让您懂得在该范畴最新的开展,并存眷其怎样为您的编程项目供应匡助。
背景先容
从SOAP1.0标准公布到明天,已六年多了。在SOAP标准公布之前,开辟职员早就在经由过程Internet协定互换XML动静了,但SOAP的推出答应对此手艺举行标准化,并完成更好的互操纵性。SOAP还供应了各类挂钩(hook)机制,以便利扩大,从而能够增加初级基本布局功效,以加强将来的XML动静互换。WSDL标准在SOAP推出后不久公布,增加了Web服务元数据的尺度暗示办法。次要软件供给商很快看到了将SOAP和WSDL分离利用的潜力,在接上去的几年里,SOAPWeb服务仿佛成了不成反对的开展潮水。
SOAP和WSDL应战
只管在全部行业中SOAP+WSDL疾速兴起,但仍旧在良多方面存在成绩,会妨害SOAP到达良多人所希冀的完整乐成。第一个方面就是互操纵性。只管SOAP最诱人的一个主要方面就是它的互操纵性答应,但实践停顿却其实不分明。这最后是因为对rpc/encoded款式的Web服务(也称为rpc/enc)的夸大所酿成的,在此情形下,对象模子将序列化为XML然后再在吸收端从头机关。此主动序列化/反序列化功效使得rpc/enc十分易用(只需利用其撑持的绝对复杂的数据布局),但却会招致天生没法用于任何目标的XML。更糟的是,言语战争台撑持的差别招致了完成之间大批的不兼容征象。
被普遍承受的Web服务最好理论如今正偏向于利用document/literal款式(doc/lit)替换rpc/enc款式。在doc/lit中,XML动静格局是由W3CXMLSchema界说所界说的。就实际下去说,这应该能打消互操纵性方面的任何成绩,由于形式实例界说XML的实践布局,而每一个平台卖力得当地处置该XML。在实践中,对极其庞大的W3CSchema尺度的撑持水平乱七八糟,且又带来别的一些互操纵性成绩。
较早的rpc/enc互操纵性成绩和比来的doc/lit互操纵性成绩城市因缺少熟悉而进一步减轻。关于doc/lit,各类框架撑持分歧的形式尺度子集,却没有列有缺少的特征,从而使得这类情形尤其尖利。即便分歧的框架宣称撑持特定的形式特征,完成也常常不完全,从而招致利用这些特征时呈现互操纵性成绩。转向doc/lit的部分缘故原由是但愿能使用企业或行业尺度形式。此类尺度形式的计划一般没有思索会在Web服务中利用,因而它们经常利用SOAP框架不克不及供应优秀撑持的特征。
SOAPWeb服务的另外一个成绩是基本布局扩大和基础SOAP处置——增加的可在一系列Web服务上使用的处置层——之间不休的搅浑不清。SOAP的计划运转便利地增加此类扩大,但这些扩大一般仅在其为受多个框架撑持的尺度时才有效。这请求全部行业举行合作,但一般很难办到。即便最基本的扩大(如附件和平安性),也必要多少年举行开辟,但仍旧不受一切框架撑持。
SOAP的阻力
前一部分中具体会商的互操纵性和尺度化成绩限定了SOAPWeb服务的合用性,同时,SOAP框架自己也一般很庞大,难于利用。上风无限和潜伏的庞大性让良多开辟职员转而接纳比SOAP更复杂的替换办法。SOAP的年夜部分阻力都来自与一项称为REST的手艺相干的方面。严厉来讲,REST是可使用到Web服务的HTTP协定的基础划定规矩的标准化手艺。在实践中,REST举动常常将标准化弃捐在一边,而在个中包括一切在不利用SOAP包装的情形下在HTTP上传输XML文档的一切工具,基础上与呈现SOAP之行进行的间接XML文档体例一样。
REST远不如SOAP野心勃勃。REST天然被限定为利用HTTP作为传输层(只管可使用相似的办法举行其他传输),而SOAP从实际下去说是自力于传输层的(只管到今朝为止只普遍利用HTTP传输举行部署)。REST其实不包括任何间接增加基本布局扩大的办法——但在SOAP真正入手下手供应此类扩大前,此限定都能够被视为举足轻重的方面。
因为REST的功效答应并比不上SOAP,因而一般不必要利用任何框架代码来完成客户机或服务器,因而开辟职员无需处置框架的庞大性。不太便利的一面是,此手艺切实其实必要间接完成HTTP和XML处置,不外良多开辟职员都已习气处置这些手艺了。间接处置XML乃至能够算得上是一个上风,由于与SOAP框架供应的选择比拟,开辟职员在这类情形下的选择空间更年夜。
那末,是否是应当丢失落SOAP而入手下手接纳更复杂的REST呢?对良多Web服务使用程序的表单而言,这大概都是一个很实践的选择,因而我其实不否决如许的设法。不外,有良多其他使用程序(出格在企业级)必要SOAP所答应的基本布局扩大和传输自力性。转向REST则意味着这些使用程序将必要间接完成平安、事件处置和合作等功效,而不是经由过程框架供应这些功效。年夜多半企业使用程序将大概选择完整制止利用Web服务,而不往花这份心机。
但就像影戏中一样,即便SOAP的出路看起来真的很昏暗,但仍旧会有新的但愿。这个但愿来自行将推出的新一代框架。这些框架的方针是终极开掘SOAP的全体潜能,使完成全新的SOAPWeb服务使用程序酿成实际,同时年夜幅度进步doc/litWeb服务的互操纵性。
<p>
其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。 |
|