您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Java之Web服务开发方法论图解
大庆油田有限责任公司2015年信息技术座谈会论文1Java之Web服务开发方法论图解邓宏贵(大庆油田物资公司信息中心,163453,denghg@cnpc.com.cn)摘要Java作为可扩展的开发平台备受开发者青睐,在其上开发Web服务(以下简称WebService)的方法犹如雨后春笋般层出不穷,尤以Apache软件组织的两个子项目Axis2和CXF作为实现WebService的技术框架最为突出。本文将以图文并茂的方式详解使用Axis2或CXF开发WebService的方法及步骤。关键词WebService、Axis2、CXF、SOAPTheschematicofJavaWebservicedevelopingmethodDENGHongGui(TheinformationcenterofDaqingOilfieldMaterialsCompany,163453,Email:denghg@cnpc.com.cn)AbstractJavaastheextensibledevelopmentplatformhasbeenfavouredbydeveloper,therearemanywaysthatlikebambooshootsafteraspringraintodevelopWebservicesonit,EspeciallyinthetwosubprojectoftheApachesoftwareorganizationAxis2andCXFasatechnologyframeworkinWebServiceisthemostmany.ThispaperwillbeillustratedthewayinordertoexplainmethodusingAxis2orCXFdevelopmentWebServiceandstep.KeywordsWebService、Axis2、CXF、SOAP1概述Axis2读音[ˈæksɪs][tu]。Axis2是实现WebService的一种技术框架(架构),是Axis的后续版本,是新一代的SOAP引擎。Axis2基于新的体系结构进行了全新编写,是为了探寻模块化更强、灵活性更高和更有效的体系结构。这种体系结构可以很容易地插入到其他相关Web服务标准和协议(如WS-Security、WS-ReliableMessaging等)的实现中。CXF=Celtix+XFire,开始叫ApacheCeltiXfire,后来更名为ApacheCXF了,简称为CXF。CXF也是一种实现WebService的技术框架(架构),利用Frontend编程API来构建和开发Services。CXF继承了Celtix和XFire两大开大庆油田有限责任公司2015年信息技术座谈会论文2源项目的精华,提供了对JAX-WS全面的支持,并且提供了多种Binding、DataBinding、Transport以及各种Format的支持,并且可以根据实际项目的需要,采用代码优先(CodeFirst)或者WSDL优先(WSDLFirst)来轻松地实现WebServices的发布和使用。——百度百科1.1主要特点(1)Axis2:采用名为AXIOM(AXIsObjectModel)的新核心XML(标准通用标记语言的子集)处理模型,利用新的XML解析器提供的灵活性按需构造对象模型。支持不同的消息交换模式。目前Axis2支持三种模式:In-Only、Robust-In和In-Out。In-Only消息交换模式只有SOAP请求,而不需要应答;Robust-In消息交换模式发送SOAP请求,只有在出错的情况下才返回应答;In-Out消息交换模式总是存在SOAP请求和应答。提供阻塞和非阻塞客户端API。支持内置的Web服务寻址(WS-Addressing)。灵活的数据绑定,可以选择直接使用AXIOM,使用与原来的Axis相似的简单数据绑定方法,或使用XMLBeans、JiBX或JAXB2.0等专用数据绑定框架。新的部署模型,支持热部署。支持HTTP,SMTP,JMS,TCP传输协议。支持REST(RepresentationalStateTransfer)。——百度百科将Java要公开的方法发布成WebService。调用任意语言发布的Web服务。与第三方安全认证体系无缝衔接。使用简单、操作方便。——作者(2)CXF:轻量级容器:可在Tomcat或基于Spring的容器中部署Services;集成JBI:可以在如ServiceMix,OpenESBorPetals等等的JBI容器中将它部署为一个服务引擎;集成SCA:可以部署在如Tuscany之类的SCA容器中;集成J2EE:可以在J2EE应用服务器中部署Services,比如:Geronimo、JOnAS、JBoss、WebSphereApplicationServer和WebLogicApplicationServer,以及Jetty和Tomcat;独立的Java客户端/服务器。——百度百科将Java要公开的方法发布成WebService;使用简单、操作方便。——作者大庆油田有限责任公司2015年信息技术座谈会论文31.2主要区别两者都是Apache孵化器下面的WebService开源开发工具,从已有的开源项目发展起来的。Axis2是从Axis1.x系列发展而来;CXF则是XFire和Celtix项目相结合的产品。Axis2是从底层全部重新实现,使用了新的扩展性更好模块架构;CXF也重新的深化了XFire和Celtix这两个开发工具。最主要的区别如下:1.在特性方面:CXF可以方便地和Spring集成在一起,Axis2不行;Axis2支持多语言,除了Java版本,还有C/C++版本。2.在开发方面:Axis2更像一个微型服务器。Axis2被打包成一个WAR,部署到任何Servlet容器中,是为了更方便地在运行中管理和部署服务而进行的专门设计。CXF更专注于对开发人员友好及可嵌入性,大部分配置只需使用API即可完成,与Spring紧密集成。CXF强调代码优先的服务开发模式。在要求身份验证安全环境中部署,还存在着某些障碍。1.3如何抉择1、如果应用程序需要多语言的支持,Axis2应当是首选了;2、如果应用程序是遵循Spring哲学路线的话,ApacheCXF是一种更好的选择,特别对嵌入式的WebServices来说。2Web服务开发方法下面分别就其开发方法进行图文并茂讲解。首先是Axis2,然后是CXF。2.1环境配置(1)下载并安装Tomcat下载地址:比如:apache-tomcat-6.0.37.exe,直接运行该程序,默认安装即可。(2)下载并安装Axis2下载地址:Axis2完整版:参考进行安装。(3)Axis2与Tomcat集成下载Axis2的Web应用程序包:大庆油田有限责任公司2015年信息技术座谈会论文4.6.2-war.zip。再将包内axis2.war解压到%Tomcat-Home%\webapps子目录,重启Tomcat即可。浏览器URL地址栏输入:出现下图所示,表示集成成功。(4)下载并安装Eclipse下载:=/technology/epp/downloads/release/luna/SR1/eclipse-jee-luna-SR1-win32-x86_64.zip安装:将下载得到的*.zip直接解压到指定的路径下即可。比如:C:\ProgramFiles\EclipseIDEforJavaEEDevelopers(5)Eclipse与Axis2整合1.运行EclipseIDEforJavaEEDevelopers2.点击菜单栏中的Window之Preferences选项。如下图:3.鼠标向下滑动左边滚动条,找到“WebServices”,鼠标点击将其展开,再点击“Axis2Preferences”,通过右边“Browse”钮,为“Axis2runtimelocation:”指定Axis2安装位置所在的目录。如下图:大庆油田有限责任公司2015年信息技术座谈会论文54.找到“ServerandRuntime”,鼠标点击将其展开,为“Serverruntime:”指定服务器“Tomcatv6.0server”;为“Webserviceruntime:”指定“ApacheAxis2”。如下图:(6)Eclipse与Tomcat、Java整合点击图中红色标记处:大庆油田有限责任公司2015年信息技术座谈会论文6点击展开:再点击,比如,继续点击:大庆油田有限责任公司2015年信息技术座谈会论文7点击后:大庆油田有限责任公司2015年信息技术座谈会论文82.2使用Axis2开发Web服务(1)创建DynamicWebProject项目输入项目名称(随意),指定项目运行服务器环境,比如ApacheTomcatv6.0;指定DynamicWebmoduleversion,比如2.5版本;修改ProjectFacetsconfiguration为新配置的Axis2WebServicesProjectv1.6.2。如下组图:大庆油田有限责任公司2015年信息技术座谈会论文9大庆油田有限责任公司2015年信息技术座谈会论文10大庆油田有限责任公司2015年信息技术座谈会论文11大庆油田有限责任公司2015年信息技术座谈会论文12(2)创建一个服务器端类编写方法(3)使用Axis2创建Web服务文档大庆油田有限责任公司2015年信息技术座谈会论文13大庆油田有限责任公司2015年信息技术座谈会论文14如果不成功,则删除已生成的客户端项目:大庆油田有限责任公司2015年信息技术座谈会论文15清理Tomcat工作空间:重启Eclipse后重建Web服务文档步骤:大庆油田有限责任公司2015年信息技术座谈会论文16大庆油田有限责任公司2015年信息技术座谈会论文17大庆油田有限责任公司2015年信息技术座谈会论文18大庆油田有限责任公司2015年信息技术座谈会论文19(4)测试客户端大庆油田有限责任公司2015年信息技术座谈会论文20(5)给服务端添加基本身份认证1.修改tomcatserver用户访问权限配置文件\conf\tomcat-users.xml:2.给应用项目WEB-INF\web.xml文件添加安全约束段:大庆油田有限责任公司2015年信息技术座谈会论文21其中:security-constraint元素包含一个或多个web-resource-collection元素,它是描述Web应用程序中的哪些web资源受到指定安全限制的保护。auth-constraint元素用于描述允许访问Web组件的安全角色。login-config元素用来认证用户,并确认该用户是否为正确的角色。auth-method元素用来指定认证方法,BASIC是一种常见的Web认证方式,浏览器给用户提示一个对话框,要求输入用户名和密码,随后Tomcat将给出的用户名和密码与tomcat-users.xml中的用户名和密码进行比较,然后使用前面的security-constraint配
本文标题:Java之Web服务开发方法论图解
链接地址:https://www.777doc.com/doc-1579314 .html