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 服务。