|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,netBeans等等,但是我认为如果java想超越.net,那么他首先要解决的就是IDE工具的整合。
ApacheCXFWeb服务仓库是来自ApacheSoftwareFoundation的另外一替换选择,Axis2仓库也来自统一构造。只管它们来自统一构造,Axis2和CXF就怎样设置和托付Web服务接纳完整分歧的办法。在本文中,您将进修为CXFWeb服务利用JAXB2.x和JAX-WS2.x的基本,还将对照CXF与其他JAXB/JAX-WS仓库—Axis2和Metro—这两个仓库在之前的文章中会商过。
CXF基本对照
在用户界面方面,CXF与Axis2和MetroWeb服务仓库有良多共同的地方。三个仓库都同意要末从已有Java™代码入手下手构建Web服务,要末从WSDLWeb服务形貌入手下手,天生利用或完成服务的Java代码。并且与其他仓库一样,CXF将服务操纵建模为办法挪用,而将服务端口范例建模为接口。
与Axis2相似,可是分歧于Metro,CXF同意选择分歧的数据绑定手艺。CXF对JAXB2.x的撑持与Metro一律而高于Axis2,由于它同意从WSDL天生代码时利用JAXB尺度(而Axis2不同意)。CXF还同意利用其他数据绑定办法,不外对这些办法的撑持不像在Axis2中那样成熟—出格是,只要在利用JAXB或XMLBeans数据绑准时才干利用CXF从WSDL天生代码。
CXF利用的首选服务设置手艺(或在CXF术语中称为前端)是JAX-WS2.x正文,一般附有XML设置文件。CXF中对JAX-WS正文的撑持与Metro一律,因此与Axis2(在Axis2中利用JAX-WS时存在一些限定,正如“Axis2中的JAXB和JAX-WS”所述)相比,CXF更合适利用JAX-WS。与其他JAX-WS完成一样,CXF必要服务WSDL在运转时可用于客户机。
同其他仓库一样,CXF利用由可设置组件构成的哀求和呼应处置流。CXF挪用组件intercepters,而非handlers,不外除此之外的其他组件是等效组件。与Metro不异的是,CXF完整撑持WS-Security和其他扩大手艺,将其作为基本下载的一部分。与Metro不同的是,CXFJARs是模块化的—即您能够依据正在利用的手艺选择JARs使其成为使用程序的一部分(CXF安装目次中的/lib/WHICH_JARS文件会告知您各类罕见用例所需的特定JARs)。该模块化的负面效应是终极会发生使用程序所需的一长列特定JARs;从有益的一面来讲,它同意把持部署的巨细。
另外一个与Metro的不异的地方是,CXF一般必要为Web服务构建一个WAR文件,而非潜在地部署多个服务到单个服务安装上(这恰是Axis2所用的办法)。CXF还以Jetty服务器的情势供应一个合适临盆利用的集成HTTP服务器。与Axis2和Metro中集成的复杂服务器撑持比拟,这能够供应一个更天真、壮大的替换选择。
示例使用程序
代码下载部分供应了本系列之前文章中利用的复杂的书库办理服务的一个版本,该版本经由了修正,以演示CXF的利用。和之前的版本一样,WSDL服务界说一共界说4个操纵:
getBook用于猎取InternationalStandardBookNumber(ISBN)标识的特定图书的详细信息。
getBooksByType用于猎取某品种型的一切图书的具体信息。
getTypes用于发明现有的图书范例。
addBook用于将新的图书增加到书库。
在“Axis2中的JAXB和JAX-WS”中,您看到了这个使用程序在Axis2中怎样事情,然后在“Metro简介”中,您看到了它怎样在Metro中事情。这几篇文章中的年夜部份内容也合用于利用CXF的情形。除服务称号和端点地点分歧外,WSDL是不异的;天生的JAXB数据模子是不异的,乃至天生的服务类也是不异的,只是Java包和JAX-WS正文中使用的服务称号分歧。
<p>
再说第三点:我并没有提到服务器也要整合,然后是IDE,一个好的IDE能够200%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。 |
|