欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
XFire 入門(mén)
文檔選項

將此頁(yè)作為電子郵件發(fā)送

樣例代碼


拓展 Tomcat 應用

下載 IBM 開(kāi)源 J2EE 應用服務(wù)器 WAS CE 新版本 V1.1


級別: 初級

肖 菁, 自由撰稿人

2007 年 5 月 16 日

Java 社區一直試圖將 POJO 的作用發(fā)揮到極致,降低 Java 應用實(shí)現的難度,最近的嘗試是將 EJB3.0 建立在 POJO 之上;另一方面,SOA 是目前 Java 社區炙手可熱的名詞,非常多的企業(yè)都在努力應用和實(shí)施 SOA;XFire 為這兩方面的需求提供了一種魔術(shù)般的解決方式,我們很快能夠發(fā)現使用 XFire 創(chuàng )建和發(fā)布 Web 服務(wù)可以直接基于 POJO,將煩人的繼承關(guān)系和一大堆其他可能的約束丟在一邊。

POJO、SOA 概述

被重新審視的 POJO

POJO(Plain Old Java Object,簡(jiǎn)單 Java 對象)是 Java 社區中最早的成員(回想您學(xué)習 Java 時(shí)第一個(gè)興奮的時(shí)刻,那個(gè)簡(jiǎn)單的 "Hello World!" 例子),也是最簡(jiǎn)單、最容易實(shí)現的方式。

然而現實(shí)中 Java 的發(fā)展已經(jīng)遠遠超越了 POJO 的范圍,成為面向對象技術(shù)應用中最成功的編程語(yǔ)言,尤其是繼承、多態(tài)的應用為我們造就了一大批開(kāi)發(fā)框架(如 Struts)和標準(如 EJB),隨之而來(lái)的就是實(shí)現的復雜化,我們必須面對一大堆繼承關(guān)系的限制。比如說(shuō):要開(kāi)發(fā)一個(gè)基于 Struts 的應用,我們必須了解 Struts 特定的繼承關(guān)系如 ActionForm、ValidateActionForm;要開(kāi)發(fā)一個(gè) EJB 應用,我們必須繼承 EJBObject、SessionEJB 等。

為了拋開(kāi)這些限制,降低 Java 應用實(shí)現的難度,Java 社區開(kāi)始重新審視 POJO 的價(jià)值,試圖將 POJO 的作用發(fā)揮到極致,最新的努力是 EJB3.0。Java 社區將 EJB3.0 設計為基于 POJO,而不是為他準備更多的繼承關(guān)系等限制。

讓人愛(ài)恨交加的 SOA

SOA 已經(jīng)成為了目前 Java 社區中炙手可熱的名詞,幾乎所有的軟件廠(chǎng)商都在討論它,為他提供解決方案和產(chǎn)品支持,大部分的企業(yè)也已經(jīng)在企業(yè)內部實(shí)施或者正在考慮實(shí)施 SOA。

然而 SOA 在企業(yè)內的實(shí)施卻不是一項簡(jiǎn)單的任務(wù),即使拋開(kāi)新建系統直接基于 SOA 架構實(shí)施的因素,要把企業(yè)已有系統納入 SOA 框架也不是一件容易的事情。企業(yè)必須在對當前架構深入了解的基礎上,對已有系統進(jìn)行大規模的改造才能滿(mǎn)足新的要求。如何經(jīng)濟的從原有技術(shù)架構切換到 SOA 架構成為很多企業(yè)的難題。





回頁(yè)首


XFire 概述

XFire 是 codeHaus 組織提供的一個(gè)開(kāi)源框架,它構建了 POJO 和 SOA 之間的橋梁,主要特性就是支持將 POJO 通過(guò)非常簡(jiǎn)單的方式發(fā)布成 Web 服務(wù),這種處理方式不僅充分發(fā)揮了 POJO 的作用,簡(jiǎn)化了 Java 應用轉化為 Web 服務(wù)的步驟和過(guò)程,也直接降低了 SOA 的實(shí)現難度,為企業(yè)轉向 SOA 架構提供了一種簡(jiǎn)單可行的方式。

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

  • 支持將 Web 服務(wù)綁定到 POJO、XMLBeans、JAXB1.1、JAXB2.0 和 Castor;
  • 支持基于 HTTP、JMS、XMPP 等多種協(xié)議訪(fǎng)問(wèn) Web 服務(wù);
  • 支持多種 Web 服務(wù)業(yè)界重要標準如 SOAP、WSDL、Web 服務(wù)尋址(WS-Addressing)、Web 服務(wù)安全(WS-Security)等;
  • 支持 JSR181,可以通過(guò) JDK5 配置 Web 服務(wù);
  • 高性能的 SOAP 實(shí)現;
  • 服務(wù)器端、客戶(hù)端代碼輔助生成;
  • 對 Spring、Pico、Plexus 等項目的支持等。




回頁(yè)首


XFire 安裝包

XFire 框架目前的最新版本是 1.2.6,可以訪(fǎng)問(wèn) xfire.codehaus.org 下載 XFire 框架的安裝包,下載時(shí)請選擇“全部二進(jìn)制發(fā)布包(Binary Distribution in zip package)”,而不僅僅是“XFire jar 文件(Jar of all XFire modules)”。

下載完成后,我們可以將下載的 .zip 文件解壓縮到任意的文件夾中(后面的章節中使用 % XFIRE_HOME % 表示 XFire 框架的安裝目錄),解壓縮后形成的文件目錄結構如下:

  • api(目錄)

    api 目錄中是 XFire 框架中所有類(lèi)(class)對應的 API 文檔,為開(kāi)發(fā)者使用 XFire 完成應用開(kāi)發(fā)提供幫助。

  • examples(目錄)

    examples 目錄中包含了所有隨 XFire 二進(jìn)制包發(fā)布的實(shí)例,包括這些實(shí)例的源代碼和相關(guān) Web 應用配置內容。

  • lib(目錄)

    lib 目錄中包含 XFire 運行所需要的外部支持類(lèi)包(.jar文件),可以根據不同項目所需的 XFire 特性選擇所需要的支持類(lèi)包。保守的方法是在 Web 項目中包含所有的外部支持類(lèi)包(.jar文件)。

  • manual(目錄)

    manual 目錄中包含有 XFire 框架的幫助文檔,開(kāi)發(fā)者可以從這些幫助文檔中學(xué)習更多運用 XFire 框架實(shí)現 SOA 的知識和技巧。

  • modules(目錄)

    modules 目錄中包含了 XFire 框架根據不同特性分別編譯的二進(jìn)制包文件。發(fā)布基于 XFire 框架的 Web 項目時(shí),可以選擇使用該目錄下的所有 .jar 文件,也可以選擇 XFire-all-1.2.6.jar 文件。

  • XFire-all-1.2.6.jar

    XFire 框架的二進(jìn)制包文件,包含了全部的模塊(modules)。

  • LICENSE.txt

    LICENSE.txt 文件中包含了 XFire 框架的授權協(xié)議。

  • NOTICE.txt
  • README.txt

    這兩個(gè)文件中包含了 XFire 發(fā)布時(shí)的一些有用的信息。





回頁(yè)首


XFire 框架支撐環(huán)境

XFire框架是一種基于Servlet技術(shù)的SOA應用開(kāi)發(fā)框架,要正常運行基于XFire應用框架開(kāi)發(fā)的企業(yè)應用,除了XFire框架本身之外,還需要JDK和Servlet容器的支持。

1.JDK 版本選擇、下載和安裝

XFire 支持非常多的特性,其中不同的特性對 JDK 版本的要求有所不同,比如如果項目中選擇基于 JSR181 標準發(fā)布 Web 服務(wù),我們就需要選擇 JDK5 或者以上版本,如果僅僅選擇將 Web 服務(wù)綁定到最簡(jiǎn)單的 POJO,我們只需要選擇 JDK1.4 版本即可。

JDK 各版本均可以在 java.sun.com 網(wǎng)站上下載,如何安裝 JDK 請參考 SUN 公司的相關(guān)技術(shù)文檔和 JDK 的幫助文檔。

2.Servlet 容器下載和安裝

XFire 是一種基于 Servlet 技術(shù)的 SOA 應用開(kāi)發(fā)框架,需要 Servlet 容器的支持。XFire 支持在多種 Servlet 容器中運行,包括 Websphere、Weblogic、TOMCAT 等。為了說(shuō)明的簡(jiǎn)單,我們選擇使用 TOMCAT(版本5.0.30)作為 XFire 的運行容器,所有配置過(guò)程和發(fā)布步驟的說(shuō)明也均是針對 TOMCAT,如果讀者使用 TOMCAT 之外的其它 Servlet 容器或者選擇了 TOMCAT 的其它版本,下面的配置過(guò)程和步驟可能需要做出調整,請讀者根據實(shí)際 Servlet 容器的幫助文檔進(jìn)行相應調整。

TOMCAT 各版本均可以在 tomcat.apache.org 網(wǎng)站上下載,如何正確安裝 TOMCAT 服務(wù)器請參考 TOMCAT 服務(wù)器的幫助文檔。

3.xalan

XFire 需要 xalan 項目的支持,然而 1.2.6 版本中并沒(méi)有帶有相應的 jar 文件,因此請訪(fǎng)問(wèn) xml.apache.org,下載 xalan 項目的二進(jìn)制包。





回頁(yè)首


XFire 應用配置

前面的章節中我們下載和安裝了 XFire 安裝包和所需要的支持環(huán)境,現在我們開(kāi)始學(xué)習如何從零開(kāi)始創(chuàng )建 XFire 應用開(kāi)發(fā)環(huán)境。下面的所有配置過(guò)程和發(fā)布步驟均針對 TOMCAT(版本5.0.30)服務(wù)器,如果選擇其它的 Servlet 容器,下面的配置過(guò)程和步驟可能需要做出調整,請讀者根據實(shí)際 Servlet 容器的幫助文檔進(jìn)行相應調整。

1、創(chuàng )建 Web 應用目錄和基本元素

  1. 在 %TOMCAT_HOME%/webapps 目錄下創(chuàng )建新的 Web 應用目錄 “XFire”

    [注] 其中的 %TOMCAT_HOME% 指向 TOMCAT 的安裝目錄。

  2. 在 ”XFire”目錄下創(chuàng )建 ”WEB-INF”目錄、
  3. 在 ” WEB-INF”目錄下創(chuàng )建 ”lib”目錄和 ”classes”目錄
  4. 在 ” WEB-INF”目錄下創(chuàng )建 Web 應用描述文件 ”web.xml”, ”web.xml”文件的內容見(jiàn) 清單 1-1。

清單 1-1 WEB-INF\web.xml
                        1、	<?xml version="1.0" encoding="ISO-8859-1"?>                        2、	<web-app xmlns="http://java.sun.com/xml/ns/j2ee"                        3、	    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"                        4、	    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee                        http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"                        5、	    version="2.4">                        6、                        7、	    <display-name>XFire實(shí)例</display-name>                        8、	    <description>                        9、	         基于XFire框架發(fā)布Web服務(wù)的例子                        10、	    </description>                        11、                        12、	</web-app>                        

2、拷貝 XFire 所需的支持類(lèi)包文件

拷貝 %XFIRE_HOME%/lib 目錄下所有文件到 “1、創(chuàng )建 Web 應用目錄和基本元素” 中所創(chuàng )建的 ”lib”目錄下,將 %XFIRE_HOME%/XFire-all-1.2.6.jar 文件也拷貝到 “1、創(chuàng )建 Web 應用目錄和基本元素” 中所創(chuàng )建的 ”lib”目錄下。將 xalan 安裝包中的所有 jar 文件和所需要的支持 jar 文件拷貝到相同的 ”lib”目錄下。

[注] 為了減少拷貝的 jar 文件的數目,開(kāi)發(fā)者可以根據項目的需要選擇需要拷貝的 jar 文件,而不是全部拷貝,如何根據需要選擇拷貝合適的類(lèi)包文件請訪(fǎng)問(wèn) XFire 站點(diǎn)。

3、配置 XFire 框架運行所需的 Servlet

修改 web.xml 文件,在其中增加如下 Servlet 定義內容。

1、	<servlet>                        2、	    <servlet-name>XFireServlet</servlet-name>                        3、	    <display-name>XFire Servlet</display-name>                        4、	    <servlet-class>                        5、	        org.codehaus.xfire.transport.http.XFireConfigurableServlet                        6、	    </servlet-class>                        7、	  </servlet>                        8、                        9、	  <servlet-mapping>                        10、	    <servlet-name>XFireServlet</servlet-name>                        11、	    <url-pattern>/servlet/XFireServlet/*</url-pattern>                        12、	  </servlet-mapping>                        13、                        14、	  <servlet-mapping>                        15、	    <servlet-name>XFireServlet</servlet-name>                        16、	    <url-pattern>/services/*</url-pattern>                        17、	</servlet-mapping>                        

4、創(chuàng )建 XFire 框架的服務(wù)發(fā)布文件 services.xml

  1. “1、創(chuàng )建 Web 應用目錄和基本元素” 中創(chuàng )建的 classes 目錄下新建目錄 ”META-INF\xfire”;
  2. 在步驟 a) 中新建的 ”xfire”文件目錄下創(chuàng )建新文件 services.xml,文件的默認內容如 清單1-2 。

清單 1-2 WEB-INF\classes\META-INF\xfire\services.xml
                        1、	<beans xmlns="http://XFire.codehaus.org/config/1.0">                        2、	</beans>                        





回頁(yè)首


將 POJO 發(fā)布成 Web 服務(wù)

XFire 框架中,我們有兩種方式將 POJO 發(fā)布成 Web 服務(wù):

  • 一種方式是直接使用 Web 服務(wù)接口和 Web 服務(wù)實(shí)現類(lèi)(POJO)來(lái)發(fā)布;
  • 另一種方式是基于 JSR181 標準和注釋技術(shù)將被注釋的 POJO 發(fā)布成 Web 服務(wù);

下面的章節中我們將學(xué)習使用第一種方式來(lái)完成 POJO 的 Web 服務(wù)發(fā)布。我們將使用經(jīng)典的 ”Hello World!”例子來(lái)演示將 POJO 發(fā)布成 Web 服務(wù)所需要的步驟,不過(guò)我們不再是簡(jiǎn)單的訪(fǎng)問(wèn)一個(gè) Java 方法來(lái)輸出 ”Hello World!”字符串,而是轉為在 SOA 環(huán)境下實(shí)現:Web 服務(wù)客戶(hù)端通過(guò)訪(fǎng)問(wèn)服務(wù)器端發(fā)布成 Web 服務(wù)的 POJO 獲得返回的 ”Hello World!”字符串后輸出到客戶(hù)端的控制臺上。

將 POJO 發(fā)布成 Web 服務(wù)的基本步驟如下:

  1. 創(chuàng )建 Web 服務(wù)接口,聲明該 Web 服務(wù)對外暴露的接口;
  2. 創(chuàng )建 Web 服務(wù)實(shí)現類(lèi),為 Web 服務(wù)接口提供實(shí)現;
  3. 修改 XFire 框架的服務(wù)發(fā)布文件 ---- services.xml,將 POJO 發(fā)布成 Web 服務(wù)。

下面我們通過(guò)創(chuàng )建 ”Hello World!”例子來(lái)具體說(shuō)明如何實(shí)現這三個(gè)步驟。

1.創(chuàng )建 Web 服務(wù)接口 ---- HelloWorldService

要將 POJO 發(fā)布成 Web 服務(wù),首先需要創(chuàng )建 Web 服務(wù)接口,在接口中聲明該 Web 服務(wù)需要對外暴露的接口。

我們根據需要創(chuàng )建 Web 服務(wù)接口 ” HelloWorldService”,在其中聲明一個(gè) ”sayHello”方法,該方法返回 ”String ”類(lèi)型的內容?!?HelloWorldService”接口對應的 Java 文件代碼如 清單 1-3。


清單 1-3 WEB-INF\classes\org\vivianj\xfire\pojo\HelloWorldService.java
                        1.package org.vivianj.xfire.pojo;                        2.                        3. /**                        4. * HelloWorldService 中聲明需要發(fā)布成 Web 服務(wù)的所有 Java 方法                        5. * HelloWorldService 作為Web服務(wù)接口                        6. */                        7. public interface HelloWorldService {                        8.	/**                        9.	     * sayHello 方法聲明了 Web 服務(wù)對外暴露的接口                        10.	 *                        11.	 * @return 返回給客戶(hù)端的字符串                        12.	 */                        13.	public String sayHello();                        14.}                        

2.創(chuàng )建 Web 服務(wù)實(shí)現類(lèi) ”HelloWorldServiceImpl”

創(chuàng )建 Web 服務(wù)實(shí)現類(lèi) ”HelloWorldServiceImpl”,它繼承 ”1、創(chuàng )建Web服務(wù)接口 ---- HelloWorldService” 中創(chuàng )建的 HelloWorldService 接口,并且為它聲明的 ”sayHello”方法提供具體實(shí)現: 返回字符串”Hello World!”。 ”HelloWorldServiceImpl”類(lèi)對應的 Java 文件代碼如 清單 1-4。


清單 1-4 WEB-INF\classes\org\vivianj\xfire\pojo\HelloWorldServiceImpl.java
                        1.package org.vivianj.xfire.pojo;                        2.                        3./**                        4. * HelloWorldServiceImpl 中為 Web 服務(wù)接口中聲明的所有 Java 方法提供具體實(shí)現                        5. * HelloWorldServiceImpl 作為 Web 服務(wù)的實(shí)現類(lèi)                        6. */                        7.public class HelloWorldServiceImpl implements HelloWorldService {                        8.                        9.	/*                        10.	 * sayHello 方法為 HelloWorldService 服務(wù)接口定義的 sayHello 方法提供具體實(shí)現                        11.	 *                        12.	 * @see org.vivianj.XFire.pojo.HelloWorldService#sayHelloToXFire()                        13.	 */                        14.	public String sayHello() {                        15.		return "Hello World!";                        16.	}                        17.                        18.}                        

3.修改 services.xml,將 POJO 發(fā)布成 Web 服務(wù)

我們可以在 WEB-INF\classes\META-INF\XFire\services.xml 文件中的 <beans …> 和 </beans> 元素中間加入如下的 xml 內容將上面創(chuàng )建的 HelloWorldService 發(fā)布成 Web 服務(wù)。

1.<service>                        2.	<name>HelloWorldService</name>                        3.	<namespace>http://vivianj.org/HelloWorldService</namespace>                        4.	<serviceClass>                        5.		org.vivianj.xfire.pojo.HelloWorldService                        6.	</serviceClass>                        7.	<implementationClass>                        8.		org.vivianj.xfire.pojo.HelloWorldServiceImpl                        9.	</implementationClass>                        10.</service>                        

其中各元素的功能如下:

  • service

    service 標簽和它所包含的 xml 內容為發(fā)布成 Web 服務(wù)的 POJO 提供完整的描述。

  • name

    Web 服務(wù)被發(fā)布時(shí)所采用的唯一名稱(chēng)。

  • namespace

    Web 服務(wù)發(fā)布時(shí)所使用的命名空間。

  • serviceClass

    Web 服務(wù)接口類(lèi)的全名,包括包名和類(lèi)名。

  • implemetationClass

    Web 服務(wù)實(shí)現類(lèi)的全名,包括包名和類(lèi)名。

更多 service 元素的子元素和它們的用法請參考 XFire 站點(diǎn)。

通過(guò)上面的三個(gè)步驟,我們已經(jīng)將新創(chuàng )建的HelloWorldService發(fā)布成了Web服務(wù),我們可以使用下面的步驟測試一下創(chuàng )建的Web服務(wù)是否能夠正常運行:

  1. 編譯上面的步驟中創(chuàng )建的 Java 接口和類(lèi);
  2. 啟動(dòng) TOMCAT 服務(wù)器。
  3. 等 TOMCAT 服務(wù)器完全啟動(dòng)后,打開(kāi)瀏覽器,在地址欄中輸入 http://localhost:8080/XFire/services/HelloWorldService?wsdl。

其中 HelloWorldServcie 是配置文件中 service\name 元素所定義的內容,”wsdl”參數表示查看該 Web 服務(wù)的 WSDL(Web服務(wù)描述語(yǔ)言)文件。

如果瀏覽器中出現如下圖所示類(lèi)似的內容,表示 Web 服務(wù)發(fā)布成功,我們可以編寫(xiě)客戶(hù)端訪(fǎng)問(wèn)該 Web 服務(wù)從服務(wù)器獲取返回字符串,本文下載資源中提供的下載文件中包含有可供參考的客戶(hù)端類(lèi) org.vivianj.xfire.pojo.client.HelloWorldServiceClient。


圖:瀏覽器中訪(fǎng)問(wèn)效果

如果瀏覽器中出現錯誤提示,請按照上面的步驟和說(shuō)明檢查已經(jīng)完成的開(kāi)發(fā)、配置過(guò)程是否完全正確。





回頁(yè)首


結束語(yǔ)

本文中作者首先講解了 XFire 框架的主要特性,XFire 框架的運行環(huán)境以及基于 XFire 框架開(kāi)發(fā) SOA 應用的基本步驟,并且借助于 SOA 環(huán)境下的 ”Hello World!”例子,詳細的講解和演示了如何基于 XFire 框架、經(jīng)過(guò)簡(jiǎn)單的開(kāi)發(fā)、配置步驟就將一個(gè) POJO 類(lèi)中包含的方法發(fā)布成Web服務(wù)。從 ”Hello World!”例子實(shí)現的過(guò)程中,我們可以發(fā)現 XFire 框架最大化的發(fā)揮了 POJO 的作用,減少了 SOA 實(shí)施時(shí)對框架本身的依賴(lài),降低了 SOA 實(shí)施的難度,企業(yè)實(shí)施 SOA 時(shí)并不需要增加太多的投入就可以實(shí)現目標。






回頁(yè)首



本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
使用XFire+Spring構建Web Service(一)
WebService框架JWS、Axis2、XFire、CXF的區別
圖文并茂——使用xfire編寫(xiě)webservice,并通過(guò)C#調用 - 莊周夢(mèng)蝶,孰蝶是我...
使用MyEclipse開(kāi)發(fā)WebService
調查:開(kāi)源資源讓SOA有所不同
在Spring中使用XFire構建Web Service應用
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久