欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

XFire 入門

系統 1933 0
Java 社區一直試圖將 POJO 的作用發揮到極致,降低 Java 應用實現的難度,最近的嘗試是將 EJB3.0 建立在 POJO 之上;另一方面,SOA 是目前 Java 社區炙手可熱的名詞,非常多的企業都在努力應用和實施 SOA;XFire 為這兩方面的需求提供了一種魔術般的解決方式,我們很快能夠發現使用 XFire 創建和發布 Web 服務可以直接基于 POJO,將煩人的繼承關系和一大堆其他可能的約束丟在一邊。
<!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --><!--END RESERVED FOR FUTURE USE INCLUDE FILES-->

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.2,目前支持的特性主要包括:

  • 支持將 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

                            
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實例</display-name>
8、	    <description>
9、	         基于XFire框架發布Web服務的例子
10、	    </description>
11、	
12、	</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 定義內容。

            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、創建 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

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

          





回頁首


將 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 服務的基本步驟如下:

  1. 創建 Web 服務接口,聲明該 Web 服務對外暴露的接口;
  2. 創建 Web 服務實現類,為 Web 服務接口提供實現;
  3. 修改 XFire 框架的服務發布文件 ---- services.xml,將 POJO 發布成 Web 服務。

下面我們通過創建 ”Hello World!”例子來具體說明如何實現這三個步驟。

1.創建 Web 服務接口 ---- HelloWorldService

要將 POJO 發布成 Web 服務,首先需要創建 Web 服務接口,在接口中聲明該 Web 服務需要對外暴露的接口。

我們根據需要創建 Web 服務接口 ” HelloWorldService”,在其中聲明一個 ”sayHello”方法,該方法返回 ”String ”類型的內容?!?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 中聲明需要發布成 Web 服務的所有 Java 方法 
5. * HelloWorldService 作為Web服務接口
6. */
7. public interface HelloWorldService {
8.	/**
9.	     * sayHello 方法聲明了 Web 服務對外暴露的接口
10.	 * 
11.	 * @return 返回給客戶端的字符串
12.	 */
13.	public String sayHello();
14.}

          

?

2.創建 Web 服務實現類 ”HelloWorldServiceImpl”

創建 Web 服務實現類 ”HelloWorldServiceImpl”,它繼承 ”1、創建Web服務接口 ---- HelloWorldService” 中創建的 HelloWorldService 接口,并且為它聲明的 ”sayHello”方法提供具體實現: 返回字符串”Hello World!”。 ”HelloWorldServiceImpl”類對應的 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 服務接口中聲明的所有 Java 方法提供具體實現 
5. * HelloWorldServiceImpl 作為 Web 服務的實現類
6. */
7.public class HelloWorldServiceImpl implements HelloWorldService {
8.
9.	/*
10.	 * sayHello 方法為 HelloWorldService 服務接口定義的 sayHello 方法提供具體實現
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 發布成 Web 服務

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

            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 內容為發布成 Web 服務的 POJO 提供完整的描述。

  • name

    Web 服務被發布時所采用的唯一名稱。

  • namespace

    Web 服務發布時所使用的命名空間。

  • serviceClass

    Web 服務接口類的全名,包括包名和類名。

  • implemetationClass

    Web 服務實現類的全名,包括包名和類名。

更多 service 元素的子元素和它們的用法請參考 XFire 站點 。

通過上面的三個步驟,我們已經將新創建的HelloWorldService發布成了Web服務,我們可以使用下面的步驟測試一下創建的Web服務是否能夠正常運行:

  1. 編譯上面的步驟中創建的 Java 接口和類;
  2. 啟動 TOMCAT 服務器。
  3. 等 TOMCAT 服務器完全啟動后,打開瀏覽器,在地址欄中輸入 http://localhost:8080/XFire/services/HelloWorldService?wsdl。

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

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


圖:瀏覽器中訪問效果

如果瀏覽器中出現錯誤提示,請按照上面的步驟和說明檢查已經完成的開發、配置過程是否完全正確。

XFire 入門


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日韩在线电影 | 国产精品免费播放 | 国产欧美日韩综合精品一区二区 | 亚洲精品午夜电影 | 99精品视频一区在线视频免费观看 | 久久观看午夜精品 | 亚洲美女一区二区三区 | 在线色网站 | 久久免费看少妇高潮A片JA小说 | 亚洲韩精品欧美一区二区三区 | 成人特级毛片 | 天天爱天天做天天干 | 蜜芽在线| 国产乱码精品一区二区三区中文 | 亚洲天堂中文字幕 | 一级黄片毛片免费看 | 成人毛片视频在线观看 | 日韩成人在线播放 | 色tv国产| av免费网站在线观看 | 日韩一区二区在线视频 | 欧美日韩综合一区 | 色婷婷综合久久久久中文 | 91福利视频合集 | 亚洲精品久久久久久国产精华液 | 成人毛片18岁女人毛片免费看 | 无码色情影片视频在线看免费 | 欧美free性 | 日韩成人在线观看 | 很黄很粗很湿很刺激的视频 | www.狠狠色 | 激情综合五月亚洲婷婷 | 韩国久久久久无码国产精品 | 国产日本欧美在线观看 | 香蕉啪 | 天天操天天干天天操 | 亚洲免费一区 | 日韩成人一区二区 | 99热久久精品免费精品 | 久久三区 | 欧美日韩精品国产一区二区 |