有关WEBSERVICE的两种平台的介绍

CXF
Apache 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顶级项目。
Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS 。这些 Services 可以支持多种协议,比如:SOAP、XML/HTTP、RESTful HTTP 或者 CORBA ,并且可以在多种传输协议上运行,比如:HTTP、JMS 或者 JBI,CXF 大大简化了 Services 的创建,同时它继承了 XFire 传统,一样可以天然地和 Spring 进行无缝集成。
功能特性
  CXF 包含了大量的功能特性,但是主要集中在以下几个方面:
  支持 Web Services 标准:CXF 支持多种 Web Services 标准,包含 SOAP、Basic Profile、WS-Addressing、WS-Policy、WS-ReliableMessaging 和 WS-Security。Frontends:CXF 支持多种“Frontend”编程模型,CXF 实现了 JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一个“simple frontend”允许客户端和 EndPoint 的创建,而不需要 Annotation 注解。CXF 既支持 WSDL 优先开发,也支持从 Java 的代码优先开发模式。容易使用: CXF 设计得更加直观与容易使用。有大量简单的 API 用来快速地构建代码优先的 Services,各种 Maven 的插件也使集成更加容易,支持 JAX-WS API ,支持 Spring 2.0 更加简化的 XML 配置方式,等等。支持二进制和遗留协议:CXF 的设计是一种可插拨的架构,既可以支持 XML ,也可以支持非 XML 的类型绑定,比如:JSON 和 CORBA。
高性能可扩展简单且容易使用支持多种标准
  支持 JAX-WS、 JAX-WSA、JSR-181 和 SAAJ;支持 SOAP 1.1、1.2、WS-I BasicProfile、WS-Security、WS-Addressing、WS-RM 和 WS-Policy;支持 WSDL 1.1 、2.0;支持 MTOM;
  多种传输方式、Bindings、Data Bindings 和 Format
  Bindings:SOAP、REST/HTTP;Data Bndings:目前支持 JAXB 2.0、Aegis 两种,默认是 JAXB 2.0。XMLBeans、Castor 和 JiBX 数据绑定方式将在 CXF 2.1 版本中得到支持;格式(Format):XML、JSON;传输方式:HTTP、Servlet、JMS 和 Jabber;可扩展的 API 允许为 CXF 增加其它的 Bindings,以能够支持其它的消息格式,比如:CSV 和固定记录长度。
编辑本段Apache CXF特点
灵活部署
  轻量级容器:可在 Tomcat 或基于 Spring 的容器中部署 Services;集成 JBI:可以在如 ServiceMix, OpenESB or Petals 等等的 JBI 容器中将它部署为一个服务引擎;集成 SCA:可以部署在如 Tuscany 之类的 SCA 容器中;集成 J2EE:可以在 J2EE 应用服务器中部署 Services,比如:Geronimo、JOnAS、JBoss、WebSphere Application Server 和 WebLogic Application Server,以及 Jetty 和 Tomcat;独立的 Java 客户端/服务器。
支持多种编程语言
  全面支持 JAX-WS 2.0 客户端/服务器编程模型;支持 JAX-WS 2.0 synchronous、asynchronous 和 one-way API's;支持 JAX-WS 2.0 Dynamic Invocation Interface (DII) API;支持 wrapped and non-wrapped 风格;支持 XML messaging API;支持 JavaScript 和 ECMAScript 4 XML (E4X) ,客户端与服务端均支持;通过 Yoko 支持 CORBA;通过 Tuscany 支持 SCA;通过 ServiceMix 支持 JBI ;
代码生成
  Java to WSDL;WSDL to Java;XSD to WSDL;WSDL to XML;WSDL to SOAP;WSDL to Service;
  CXF 框架支撑环境
  CXF 框架是一种基于 Servlet 技术的 SOA 应用开发框架,要正常运行基于 CXF 应用框架开发的企业应用,除了 CXF 框架本身之外,还需要 JDK 和 Servlet容器的支持;

 


XFire是codeHaus组织提供的一个开源框架,它构建了POJO和SOA之间的桥梁,主要特性就是支持将POJO通过非常简单的方式发布成Web服务,这种处理方式不仅充分发挥了POJO的作用,简化了Java应用转化为Web服务的步骤和过程,也直接降低了SOA的实现难度,为企业转向SOA架构提供了一种简单可行的方式。
编辑本段目前支持的特性主要包括:
支持
  支持将Web服务绑定到POJO、XMLBeans、JAXB1.1、JAXB2.0和Castor;
  支持基于HTTP、JMS、XMPP等多种协议访问Web服务;
  支持多种Web服务业界重要标准如SOAP、WSDL、Web服务寻址(WS-Addressing)、Web服务安全(WS-Security)等;
  支持JSR181,可以通过JDK5配置Web服务;
  高性能的SOAP实现;
  服务器端、客户端代码辅助生成;
  对Spring、Pico、Plexus等项目的支持等。
目录
  ? XFire安装包:
  ? XFire框架支撑环境:
  ? XFire应用配置:
  ? 参考资料:
  ? XFire安装包:
  ? XFire框架支撑环境:
  ? XFire应用配置:
参考资料
  XFire - XFire安装包:XFire框架目前的最新版本是1.2.6,可以访问xfire.codehaus.org下载XFire框架的安装包,下载时请选择“全部二进制发布包(BinaryDistributioninzippackage)”,而不仅仅是“XFirejar文件(JarofallXFiremodules)”。
  下载完成后,我们可以将下载的.zip文件解压缩到任意的文件夹中(后面的章节中使用%XFIRE_HOME%表示XFire框架的安装目录),
编辑本段解压缩后形成的文件目录结构如下:
api目录
  api目录中是XFire框架中所有类(class)对应的API文档,
   
xfire目录结构
为开发者使用XFire完成应用开发提供帮助。
examples目录
  examples目录中包含了所有随XFire二进制包发布的实例,包括这些实例的源代码和相关Web应用配置内容。
lib目录
  lib目录中包含XFire运行所需要的外部支持类包(.jar文件),可以根据不同项目所需的XFire特性选择所需要的支持类包。保守的方法是在Web项目中包含所有的外部支持类包(.jar文件)。
manual目录
  manual目录中包含有XFire框架的帮助文档,开发者可以从这些帮助文档中学习更多运用XFire框架实现SOA的知识和技巧。
modules目录
  modules目录中包含了XFire框架根据不同特性分别编译的二进制包文件。发布基于XFire框架的Web项目时,可以选择使用该目录下的所有.jar文件,也可以选择XFire-all-1.2.6.jar文件。
  XFire-all-1.2.6.jar
  XFire框架的二进制包文件,包含了全部的模块(modules)。
  LICENSE.txt
  LICENSE.txt文件中包含了XFire框架的授权协议。
  NOTICE.txt
  README.txt
  这两个文件中包含了XFire发布时的一些有用的信息。
编辑本段JDK和Servlet容器的支持
概述
  XFire - XFire框架支撑环境:XFire框架是一种基于Servlet技术的SOA应用开发框架,要正常运行基于XFire应用框架开发的企业应用,除了XFire框架本身之外,还需要JDK和Servlet容器的支持。
1JDK版本选择下载和安装
  XFire支持非常多的特性,其中不同的特性对JDK版本的要求有所不同,比如如果项目中选择基于JSR181标准发布Web服务,我们就需要选择JDK5或者以上版本,如果仅仅选择将Web服务绑定到最简单的POJO,我们只需要选择JDK1.4版本即可。
  JDK各版本均可以在java.sun.com网站上下载,如何安装JDK请参考SUN公司的相关技术文档和JDK的帮助文档。
2Servlet容器下载和安装
  XFire是一种基于Servlet技术的SOA应用开发框架,需要Servlet容器的支持。XFire支持在多种Servlet容器中运行,包括Websphere、Weblogic、TOMCAT等。为了说明的简单,我们选择使用TOMCAT(版本5.0.30)作为XFire的运行容器,所有配置过程和发布步骤的说明也均是针对TOMCAT,如果读者使用TOMCAT之外的其它Servlet容器或者选择了TOMCAT的其它版本,下面的配置过程和步骤可能需要做出调整,请读者根据实际Servlet容器的帮助文档进行相应调整。
  TOMCAT各版本均可以在tomcat.apache.org网站上下载,如何正确安装TOMCAT服务器请参考TOMCAT服务器的帮助文档。
3xalan
  XFire需要xalan项目的支持,然而1.2.6版本中并没有带有相应的jar文件,因此请访问xml.apache.org,下载xalan项目的二进制包。
编辑本段如何从零开始创建XFire应用开发环境
概述
  编辑本段 回目录 XFire - XFire应用配置:前面的章节中我们下载和安装了XFire安装包和所需要的支持环境,现在我们开始学习如何从零开始创建XFire应用开发环境。下面的所有配置过程和发布步骤均针对TOMCAT(版本5.0.30)服务器,如果选择其它的Servlet容器,下面的配置过程和步骤可能需要做出调整,请读者根据实际Servlet容器的帮助文档进行相应调整。
1创建Web应用目录和基本元素
  在%TOMCAT_HOME%/webapps目录下创建新的Web应用目录“XFire”
  [注]其中的%TOMCAT_HOME%指向TOMCAT的安装目录。
  在”XFire”目录下创建”WEB-INF”目录、
  在”WEB-INF”目录下创建”lib”目录和”classes”目录
  在”WEB-INF”目录下创建Web应用描述文件”web.xml”,”web.xml”文件的内容见清单1-1。
  清单1-1WEB-INF\web.xml (servlet已定义)
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <!-- START SNIPPET: webxml -->
  <!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http: // java.sun.com / dtd/web-app_2_3.dtd">
  <web-app>
  <servlet>
  <servlet-name>xfireServlet</servlet-name>
  <display-name>xfire Servlet</display-name>
  <servlet-class>
  org.codehaus.xfire.transport.http.xfireConfigurableServlet
  </servlet-class>
  </servlet>
  <servlet-mapping>
  <servlet-name>xfireServlet</servlet-name>
  <url-pattern>/servlet/xfireServlet/*</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
  <servlet-name>xfireServlet</servlet-name>
  <url-pattern>/services/*</url-pattern>
  </servlet-mapping>
  </web-app>
  <!-- END SNIPPET: webxml -->
2拷贝XFire所需的支持类包文件
  拷贝%XFIRE_HOME%/lib目录下所有文件到“1、创建Web应用目录和基本元素”中所创建的”lib”目录下,将%XFIRE_HOME%/XFire-all-1.2.6.jar文件也拷贝到“1、创建Web应用目录和基本元素”中所创建的”lib”目录下。将xalan安装包中的所有jar文件和所需要的支持jar文件拷贝到相同的”lib”目录下。
  [注]为了减少拷贝的jar文件的数目,开发者可以根据项目的需要选择需要拷贝的jar文件,而不是全部拷贝,如何根据需要选择拷贝合适的类包文件请访问XFire站点。
3配置XFire框架运行所需的Servlet
  修改web.xml文件,在其中增加如下Servlet定义内容。
4创建XFire框架的服务发布文件
  4、创建XFire框架的服务发布文件services.xml
  在“1、创建Web应用目录和基本元素”中创建的classes目录下新建目录”META-INF\xfire”;
  在步骤a)中新建的”xfire”文件目录下创建新文件services.xml,文件的默认内容如清单1-2。
  清单1-2WEB-INF\classes\META-INF\xfire\services.xml
  编辑本段 回目录 XFire - 参考资料:访问XFire框架用户指南可以获得更多关于XFi
   
Eclipse中配置xfire
  re的使用帮助。
  访问XFire的Eclipse插件可以获得关于XFire提供的Eclipse插件的更多信息。
编辑本段将 POJO 发布成 Web 服务
  XFire 框架中,我们有两种方式将 POJO 发布成 Web 服务:
  一种方式是直接使用 Web 服务接口和 Web 服务实现类(POJO)来发布; 另一种方式是基于 JSR181 标准和注释技术将被注释的 POJO 发布成 Web 服务; 下面的章节中我们将学习使用第一种方式来完成 POJO 的 Web 服务发布。我们将使用经典的 ”Hello World!”例子来演示将 POJO 发布成 Web 服务所需要的步骤,不过我们不再是简单的访问一个 Java 方法来输出 ”Hello World!”字符串,而是转为在 SOA 环境下实现:Web 服务客户端通过访问服务器端发布成 Web 服务的 POJO 获得返回的 ”Hello World!”字符串后输出到客户端的控制台上。
  将 POJO 发布成 Web 服务的基本步骤如下:
  创建 Web 服务接口,声明该 Web 服务对外暴露的接口; 创建 Web 服务实现类,为 Web 服务接口提供实现; 修改 XFire 框架的服务发布文件 ---- services.xml,将 POJO 发布成 Web 服务。
开放分类:
JAVA

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值