問過一些.NET程序員:開發Web服務有多艱苦? 他們被我的問題逗樂了! 他們回答說:用時小于1分鐘.
同樣的問題,我又問了一個Java程序員, 得到的回答與先前.Net程序員的大相徑庭.
Web服務這個概念引入Java已經有5年了.然而Web服務還是被認為是一個較新的技術,這是Web服務在Java上難于實現的主要原因.
如今,隨著新一代Web服務引擎--XFire的發布, 一切發生了翻天覆地的變化.
使用XFire,你不需要寫一句代碼就可以將Java類方法轉換成Web服務.
閱讀本文,你將領略到XFire是如何將開發Web服務變得無比輕松,簡易的.
?
Web服務
Web服務允許我們建立應用組件放置于網絡上的分布式系統.?不管這些應用組件是怎么寫的,使用什么語言寫的,要運行在什么操作系統上, 我們都能以統一的方式訪問這些組件.如果一個Web服務有效并且設計實現了互用性問題,那么無論你的應用是用什么語言,在什么平臺上開發的,都可以使用這些服務.?
?為了實現平臺無關,實現獨立的訪問Web服務, 業界制定了一系列技術標準,下面是一些最重要的技術:
?* XML
?* SOAP
?* WSDL
下圖展示了上述技術在工作環境中是如何使用的.

在這里,提供者是可以提供服務的應用組件, 申請者是需要使用服務的客戶端程序. 很多其他技術也參與了這個交互過程,但是這里只顯示了在Web服務環境中必不可少的核心組件.
XFire
XFire是一個免費的,開源的SOAP框架. 它不僅允許你輕松簡易地實現這么一個環境.而且還提供了很多先進的特性.不錯,你沒有看錯,"輕松簡易". 本文中你將會看到用XFire構建Web服務是多么的簡單.如果你的Web應用有一個Java類, 現在你希望這個類編程Web服務,用XFire完成這一工作你不必寫一句代碼.僅需操作一下部署描述器,你就會得到一個Web服務. 是的, 就是這么簡單.讓我們來看個例子.
一個簡單的Java類
我的這個例子是一個位于Apache Tomcat 5.5.7主機運行在J2SE 1.4.2_07下的銀行應用. 我假設你已經知道如何使用Java編寫web應用并且已經配置了Tomcat服務器.我們的這個應用很簡單,? 只完成一項工作, 就是將錢從一個帳戶轉到另一個帳戶.BankingService類中的transferFunds()為我們完成這一工作. 他需要4個傳入參數
String fromAccount
String toAccount
double amount
String currency
下面是代碼:













































在上面的代碼中你看到奇怪的代碼了嗎? 大概沒有吧. 除了那個公共的默認構造函數.這個構造函數是必不可少的,因為XFire要用他來實例這個類.
因為使用接口來完成是很好的實踐,因此我們的類也實現了一個名叫IBankingService的接口.代碼很簡單:











實際開發中,這個方法可能包含所有復雜的調用,請求和處理操作,但是我們的例子將其最小化以便我們能將精力集中到我們的目標上:將這個方法轉換成Web服務.
你可以看到,我們的BankingService只不過是一個普通的Java類,沒有任何代碼說明它是否在Web服務中使用.這就對了!我們不需要寫任何代碼,所有工作都交給部署描述去處理.
后面我將介紹如何編寫部署描述。
XFire:開發Web服務的簡易之道(二)--Web應用的部署配置