资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
不同环境下开发服务软件包选择及建议1. 引言1.1. 编写目的由于不同项目组的开发环境及生产环境各有差异,所以在开发WebService服务端或客户端时,无法制定一套统一的框架及版本使用方案,本文档主要是对不同环境下开发WebService程序框架及版本的选择提出一些指导及建议,供各项目组开发人员参考使用。2. 推荐WebService框架介绍2.1. axis2axis2是下一代 Apache Axis。Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x 的常用代码。支持开发 Axis2 的动力是探寻模块化更强、灵活性更高和更有效的体系结构,这种体系结构可以很容易地插入到其他相关 Web 服务标准和协议(如 WS-Security等)的实现中。 Apache Axis2 是Axis的后续版本,是新一代的SOAP引擎。 2.1.1. axis2的主要特点1)采用名为 AXIOM(AXIs Object Model)的新核心 XML 处理模型,利用新的XML解析器提供的灵活性按需构造对象模型。 2)支持不同的消息交换模式。目前Axis2支持三种模式:In-Only、Robust-In和In-Out。In-Only消息交换模式只有SOAP请求,而不需要应答;Robust-In消息交换模式发送SOAP请求,只有在出错的情况下才返回应答;In-Out消息交换模式总是存在SOAP请求和应答。 3)提供阻塞和非阻塞客户端 API。 4)支持内置的 Web服务寻址 (WS-Addressing) 。 5)灵活的数据绑定,可以选择直接使用 AXIOM,使用与原来的 Axis 相似的简单数据绑定方法,或使用 XMLBeans、JiBX 或 JAXB 2.0 等专用数据绑定框架。 6)新的部署模型,支持热部署。 7)支持HTTP,SMTP,JMS,TCP传输协议。 2.1.2. axis2 框架支撑环境 axis2目前最新版本为1.5.1,根据各项目组的不同环境ESB推荐的两个版本为1.3和1.4.1。axis2框架是一种基于 Servlet 技术的 SOA 应用开发框架,要正常运行基于 axis2 应用框架开发的企业应用,除了 axis2 框架本身之外,还需要 JDK 和 Servlet 容器的支持,在axis2 1.4之前的版本需要JDK1.4的支持,axis2 1.4及axis2 1.4以后的版本需要1.5或更高版本的JDK的支持。2.1.3. 使用axis2 1.3需要的最小库 xmlSchema-1.3.2.jar activation-1.1.jar axiom-api-1.2.5.jar axiom-impl-1.2.5.jar axis2-adb-1.3.jar axis2-kerner-1.3.jar backport-util-concurrent-2.2.jar commons-codec-1.3.jar commons-httpclient-3.0.1.jar commons-logging-1.1.jar stax-api-1.0.1.jar wsdl4j-1.6.2.jar wstx-asl-3.2.1.jar log4j-1.2.14.jar commons-fileupload-1.1.1.jar neethi-2.0.2.jar mex-impl-1.3.jar如果项目组集成了spring,并且想把spring里面的bean直接发布成webservice还需加入以下jar包: axis2-spring-1.3.jar2.1.4. 使用axis21.4.1需要的最小库 neethi-2.0.4.jar wsdl4j-1.6.2.jar wstx-asl-3.2.4.jar xmlschema-1.4.2.jar activation-1.1.jar axiom-api-1.2.7.jar axiom-imp-1.2.7.jar axis2-adb-1.4.1.jar axis2-kernel-1.4.1.jar backport-util-concurrent-3.1.jar commons-codec-1.3.jar commons-fileupload-1.2.jar commons-httpclient-3.1.jar commons-logging-1.1.1.jar geronimo-stax-api_1.0_spec-1.0.1.jar log4j-1.2.15.jar mex-1.4.1.jar woden-impl-dom-1.0M8.jar woden-api-1.0M8.jar mail-1.4.jar如果项目组集成了spring,并且想把spring里面的bean直接发布成webservice还需加入以下jar包: axis2-spring-1.4.1.jar2.2. CXFApache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding 、DataBinding、Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用。Apache CXF已经是一个正式的Apache顶级项目,它继承了 XFire 传统,一样可以天然地和 Spring 进行无缝集成。 2.2.1. 功能特性CXF 包含了大量的功能特性,但是主要集中在以下几个方面: 支持 Web Services 标准:CXF 支持多种 Web Services 标准,包含 SOAP、WS-Addressing、WS-Policy、WS-Security等。CXF 既支持 WSDL 优先开发,也支持从 Java 的代码优先开发模式。容易使用: CXF 设计得更加直观与容易使用。有大量简单的 API 用来快速地构建代码优先的 Services,各种 Maven 的插件也使集成更加容易,支持 JAX-WS API ,支持 Spring 2.0 更加简化的 XML 配置方式,等等。CXF 的设计是一种可插拨的架构,既可以支持 XML ,也可以支持非 XML 的类型绑定,比如:JSON 和 CORBA。 2.2.2. 灵活部署 轻量级容器:可在 Tomcat 或基于 Spring 的容器中部署 Services;集成 J2EE:可以在 J2EE 应用服务器中部署 Services,比如:Geronimo、JOnAS、JBoss、WebSphere Application Server 和 WebLogic Application Server,以及 Jetty 和 Tomcat;独立的 Java 客户端服务器。 2.2.3. CXF 框架支撑环境 CXF目前最新版本为2.3.0,根据各项目组的不同环境ESB推荐的两个版本为2.1.10和2.2.4。CXF框架是一种基于 Servlet 技术的 SOA 应用开发框架,要正常运行基于 CXF 应用框架开发的企业应用,除了 CXF 框架本身之外,还需要 JDK 和 Servlet 容器的支持,而且JDK版本必须为1.5或更高。2.2.4. 使用CXF2.1.10需要的最小库 cxf-2.1.10.jar wstx-asl-3.2.9.jar xml-resolver-1.2.jar xmlschema-1.4.5.jar commons-logging-1.1.1.jar commons-pool-1.5.2.jar geronimo-activetion_1.1_spec-1.0.2.jar geronimo-annotation_1.0_spec_1.1.1.jar geronimo-javamail_1.4_spec_1.3.jar geronimo_stax_api_1.0_spec-1.0.1.jar geronimo-jaxws_2.1_spec-1.0.jar geronimo-ws-metadata_2.0_spec-1.1.2.jar jaxb-api-2.1.jar jaxb-impl-2.1.9.jar neethi-2.0.4.jar saaj-api-1.3.jar saaj-impl-1.3.2.jar wsdl4j-1.6.2jar为支持基于spring的XML配置,还需加入以下jar包: Aopalliance-1.0.jar Spriing-beans-2.0.8.jar Spring-context-2.0.8.jar Spring-core-2.0.8.jar Spring-web-2.0.8.jar spring-jms-2.0.8.jar spring-dao-2.0.8.jar spring-support-2.0.8.jar2.2.5. 使用CXF2.2.4需要的最小库 cxf-2.2.4.jar wsdl4j-1.6.2.jar wstx-asl-3.2.8.jar xml-resolver-1.2.jar xmlschema-1.4.5.jar commons-logging-1.1.1.jar geronimo-activetion_1.1_spec-1.0.2.jar geronimo-annotation_1.0_spec_1.1.1.jar geronimo-javamail_1.4_spec_1.6.jar geronimo_stax_api_1.0_spec-1.0.1.jar geronimo-jaxws_2.1_spec-1.0.jar geronimo-ws-metadata_2.0_spec-1.1.2.jar jaxb-api-2.1.jar jaxb-impl-2.1.12.jar neethi-2.0.4.jar saaj-impl-1.3.2.jar saaj-api-1.3.jar为支持基于spring的XML配置,还需加入以下jar包: Aopalliance-1.0.jar Spring-beans-2.5.5.jar Spring-context-2.5.5.jar Spring-core-2.5.5.jar Spring-jms-2.5.5.jar Spring-web-2.5.5.jar spring-tx-2.5.5.jar3. ESB对框架及版本选择的一些建议3.1. 框架选择ESB推荐的WebService框架为CXF,因为CXF可以和spring天然的集成,对于服务发布和配置都可以很方便的在spring配置文件中完成,从而在很大程度上简化了服务客户端和服务端的开发。但CXF本身需
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号