了解下JAVA的Java Web服务: CXF简介
最后就是我对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%提高开发的速度,就说图形方面:你是经过简单托拽和点击就能实现功能好那。 自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。 是一种为 Internet发展的计算机语言 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 是一种将安全性(Security)列为第一优先考虑的语言 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展 你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
页:
[1]