`
wangpx
  • 浏览: 202482 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

XFire 入门--轻松将 POJO 发布成 Web 服务1(转载)

    博客分类:
  • soa
阅读更多

        Java 社区一直试图将 POJO 的作用发挥到极致,降低 Java 应用实现的难度,最近的尝试是将 EJB3.0 建立在 POJO 之上;另一方面,SOA 是目前 Java 社区炙手可热的名词,非常多的企业都在努力应用和实施 SOA;XFire 为这两方面的需求提供了一种魔术般的解决方式,我们很快能够发现使用 XFire 创建和发布 Web 服务可以直接基于 POJO,将烦人的继承关系和一大堆其他可能的约束丢在一边。

 POJO、SOA 概述

   被重新审视的 POJO

 POJO(Plain Old Java Object,简单 Java 对象)是 Java 社区中最早的成员(回想您学习 Java 时第一个兴奋的时 刻,那个简单的 "Hello World!" 例子),也是最简单、最容易实现的方式。

然而现实中 Java 的发展已经远远超越了 POJO 的范围,成为面向对象技术应用中最成功的编程语言,尤其是继承、多态的应用为我们造就了一大批开发框架(如 Struts)和标准(如 EJB),随之而来的就是实现的复杂化,我们必须面对一大堆继承关系的限制。比如说:要开发一个基于 Struts 的应用,我们必须了解 Struts 特定的继承关系如 ActionForm、ValidateActionForm;要开发一个 EJB 应用,我们必须继承 EJBObject、SessionEJB 等。

为了抛开这些限制,降低 Java 应用实现的难度,Java 社区开始重新审视 POJO 的价值,试图将 POJO 的作用发挥到极致,最新的努力是 EJB3.0。Java 社区将 EJB3.0 设计为基于 POJO,而不是为他准备更多的继承关系等限制。

让人爱恨交加的 SOA

SOA 已经成为了目前 Java 社区中炙手可热的名词,几乎所有的软件厂商都在讨论它,为他提供解决方案和产品支持,大部分的企业也已经在企业内部实施或者正在考虑实施 SOA。

然而 SOA 在企业内的实施却不是一项简单的任务,即使抛开新建系统直接基于 SOA 架构实施的因素,要把企业已有系统纳入 SOA 框架也不是一件容易的事情。企业必须在对当前架构深入了解的基础上,对已有系统进行大规模的改造才能满足新的要求。如何经济的从原有技术架构切换到 SOA 架构成为很多企业的难题。

                                                                                                                                                                                                                                                                                          

XFire 概述

XFire 是 codeHaus 组织提供的一个开源框架,它构建了 POJO 和 SOA 之间的桥梁,主要特性就是支持将 POJO 通过非常简单的方式发布成 Web 服务,这种处理方式不仅充分发挥了 POJO 的作用,简化了 Java 应用转化为 Web 服务的步骤和过程,也直接降低了 SOA 的实现难度,为企业转向 SOA 架构提供了一种简单可行的方式。

XFire 目前最新的版本是 1.2.6,目前支持的特性主要包括:

  • 支持将 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 框架目前的最新版本是 1.2.6,可以访问 xfire.codehaus.org 下载 XFire 框架的安装包,下载时请选择“全部二进制发布包(Binary Distribution in zip package)”,而不仅仅是“XFire jar 文件(Jar of all XFire modules)”。

下载完成后,我们可以将下载的 .zip 文件解压缩到任意的文件夹中(后面的章节中使用 % XFIRE_HOME % 表示 XFire 框架的安装目录),解压缩后形成的文件目录结构如下:

  • api(目录)

    api 目录中是 XFire 框架中所有类(class)对应的 API 文档,为开发者使用 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 发布时的一些有用的信息。

                                                                                                                                                                                                                                           

XFire 框架支撑环境

XFire框架是一种基于Servlet技术的SOA应用开发框架,要正常运行基于XFire应用框架开发的企业应用,除了XFire框架本身之外,还需要JDK和Servlet容器的支持。

1.JDK 版本选择、下载和安装

XFire 支持非常多的特性,其中不同的特性对 JDK 版本的要求有所不同,比如如果项目中选择基于 JSR181 标准发布 Web 服务,我们就需要选择 JDK5 或者以上版本,如果仅仅选择将 Web 服务绑定到最简单的 POJO,我们只需要选择 JDK1.4 版本即可。

JDK 各版本均可以在 java.sun.com 网站上下载,如何安装 JDK 请参考 SUN 公司的相关技术文档和 JDK 的帮助文档。

2.Servlet 容器下载和安装

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 服务器的帮助文档。

3.xalan

XFire 需要 xalan 项目的支持,然而 1.2.6 版本中并没有带有相应的 jar 文件,因此请访问 xml.apache.org,下载 xalan 项目的二进制包。

                                                                                                                                                                                                                                                                      

XFire 应用配置

前面的章节中我们下载和安装了 XFire 安装包和所需要的支持环境,现在我们开始学习如何从零开始创建 XFire 应用开发环境。下面的所有配置过程和发布步骤均针对 TOMCAT(版本5.0.30)服务器,如果选择其它的 Servlet 容器,下面的配置过程和步骤可能需要做出调整,请读者根据实际 Servlet 容器的帮助文档进行相应调整。

1、创建 Web 应用目录和基本元素

  1. 在 %TOMCAT_HOME%/webapps 目录下创建新的 Web 应用目录 “XFire”

    [注] 其中的 %TOMCAT_HOME% 指向 TOMCAT 的安装目录。

  2. 在 ”XFire”目录下创建 ”WEB-INF”目录、
  3. 在 ” WEB-INF”目录下创建 ”lib”目录和 ”classes”目录
  4. 在 ” WEB-INF”目录下创建 Web 应用描述文件 ”web.xml”, ”web.xml”文件的内容见 清单 1-1

清单 1-1 WEB-INF\web.xml

 <?xml version="1.0" encoding="ISO-8859-1"?>
 <web-app xmlns="http://java.sun.com/xml/ns/j2ee"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">  
    <display-name>XFire实例</display-name>
     <description> 基于XFire框架发布Web服务的例子</description>               
</web-app>

 

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 定义内容。

<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>

 

4、创建 XFire 框架的服务发布文件 services.xml

  1. “1、创建 Web 应用目录和基本元素” 中创建的 classes 目录下新建目录 ”META-INF\xfire”;
  2. 在步骤 a) 中新建的 ”xfire”文件目录下创建新文件 services.xml,文件的默认内容如 清单1-2

   清单 1-2 WEB-INF\classes\META-INF\xfire\services.xml

 

<beans xmlns="http://XFire.codehaus.org/config/1.0">
</beans>

                                                                                                                                                                                                                                                                  

             

 

分享到:
评论

相关推荐

    XFire--Webservice入门xfire

    XFire--Webservice入门xfire

    xfire-all-1.2.6.jar.zip

    总结来说,Xfire是Java Web服务开发的一把利器,通过"xfire-all-1.2.6.jar",开发者能够轻松实现Web服务的创建、发布和消费,从而加速了软件开发的进程。虽然现在有了更新的技术选项,但Xfire的历史地位和它所代表的...

    webservice中用到的jar,xfire-jaxws-1.2.6.jar

    webservice中用到的jar,xfire-jaxws-1.2.6.jar,xfire-jaxws-1.2.6.jar,xfire-jaxws-1.2.6.jar

    xfire-jsr181-api-1.0-实例化webservic

    标题 "xfire-jsr181-api-1.0-实例化webservic" 指的是使用XFire框架结合JSR 181规范来创建和实例化Web服务的过程。XFire是一款早期的Java Web服务实现,它提供了一种简单、高性能的方式来创建和消费SOAP服务。JSR ...

    xfire-1.2.6.rar xfire-1.2.6.rar xfire-1.2.6.rar

    首先,`xfire-all-1.2.6.jar`是核心库文件,它集成了XFire的所有功能,包括网络协议处理、游戏状态同步、服务器发现等。开发人员可以通过导入这个JAR文件,快速地在项目中集成XFire的全部功能,实现游戏服务器间的...

    xfire-distribution-1.2.3

    总的来说,虽然 XFire-distribution-1.2.3 已经过时,但了解其工作原理和特性对于理解早期 Web 服务开发的历史和技术演变具有一定的价值。对于还在使用 JDK 1.4 的项目,XFire 可能仍然是一个可行的解决方案,但建议...

    xfire-distribution-1.2.6

    使用这个JAR,开发者可以将XFire集成到他们的Java应用中,创建、发布和消费Web服务。 除了主JAR,该资源包可能还包括以下内容: 1. 文档:如API参考、用户指南和开发者文档,帮助开发者理解如何使用XFire的各项功能...

    xfire-all-1.2.6 xfire所需的全部包

    本文将深入探讨Xfire 1.2.6这一历史版本,揭示其背后的各项技术细节和核心功能。 Xfire的核心价值在于它的游戏集成。通过与各种游戏的深度整合,Xfire能够在游戏运行时自动检测并显示好友的状态,允许玩家在游戏内...

    xfire-jsr181-api-1.0-M1.jar,xfire-jsr181-api-1.0-M1.jar

    webservice中用到的jar,xfire-jsr181-api-1.0-M1.jar,xfire-jsr181-api-1.0-M1.jar

    xfire包xfire-all-1.2.6.jar等

    需要引入如下包:commons-codec-1.2.jar、commons-httpclient-3.0.1.jar、jdom.jar、xfire-all-1.2.6.jar、wsdl4j-1.5.1.jar、commons-logging-1.0.4.jar、XmlSchema-1.4.7.jar

    xfire-1.2.6

    xfire-aegis-1.2.6.jar xfire-annotations-1.2.6.jar xfire-core-1.2.6.jar xfire-java5-1.2.6.jar xfire-jsr181-api-1.0-M1.jar xfire-spring-1.2.6.jar xfire-xmlbeans-1.2.6.jar xstream-1.3.1.jar

    xfire-1.2.6所有资源--实例

    1. **XFire开发指南.pdf**:这份文档是开发者的重要参考资料,它详细介绍了如何使用XFire来创建和部署Web服务。它涵盖了XFire的基本概念、安装配置、服务发布、客户端调用、绑定协议(如HTTP、JMS等)、数据序列化、...

    webservice中用到的jar,xfire-java5-1.2.6.jar

    webservice中用到的jar,xfire-java5-1.2.6.jar,xfire-java5-1.2.6.jar,xfire-java5-1.2.6.jar,xfire-java5-1.2.6.jar

    xfire--开发WEB SERVICE的又一利器

    本文将深入探讨Xfire的核心特性、优势以及如何利用它进行Web服务开发。 1. Xfire简介: Xfire(现已被Apache CXF所吸收)是一个基于Java的Web服务实现,它支持SOAP、WSDL、WS-Security等Web服务标准。它的设计目标...

    xfire相关jar包

    进行WebService开发中所用到的xfire所有相关包如:xfire-jsr181-api-1.0-M1.jar、xfire-jaxws-1.2.6.jar、xfire-java5-1.2.6.jar、xfire-core-1.2.6.jar、xfire-annotations-1.2.6.jar、xfire-aegis-1.2.6.jar、...

    xfire-core-1.2.6 源码

    一个压缩包3个文件(含源码) 费好大功夫找到的... Project metadata download: xfire-core-1.2.6.pom Binary download: xfire-core-1.2.6.jar Source download: xfire-core-1.2.6-sources.jar

    xfire-all-1.2.6.jar

    通过将xfire-all-1.2.6.jar作为Ant构建文件的依赖项,开发者可以在构建过程中自动生成客户端代码,简化了Web服务客户端的开发。 3. **动态代码生成**:XFire的一大亮点是它的动态代码生成能力。它能够根据WSDL(Web...

    xfire-all-1.2.4.jar包webService

    xfire-all-1.2.4.jar 是一个与Web服务相关的Java库,它主要用于构建和消费SOAP(简单对象访问协议)服务。XFire是Apache CXF项目的一个早期版本,后来被CXF吸收并进一步发展。这个库包含了XFire的核心组件和其他必要...

    xfire所有jar包

    activation.jar commons-logging.jar jdom-1.0.jar spring.jar spring-mock.jar stax-api-1.0.1.jar stax-utils-snapshot-20040917.jar wsdl4j-1.5.2.jar wstx-asl-3.0.1.jar ...xfire-xmlbeans-1.2.2.jar

Global site tag (gtag.js) - Google Analytics