<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-30  評論-123  文章-0  trackbacks-0
    摘要:
    問過一些.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
    下圖展示了上述技術在工作環境中是如何使用的.
    jw-0501-xfire.jpg
    在這里,提供者是可以提供服務的應用組件, 申請者是需要使用服務的客戶端程序. 很多其他技術也參與了這個交互過程,但是這里只顯示了在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個傳入參數
    1. String fromAccount
    2. String toAccount
    3. double amount
    4. String currency

    下面是代碼:

    package?com.mybank.xfire.example;

    import?java.text.NumberFormat;
    import?java.text.DecimalFormat;

    /**?XFire?WebServices?sample?implementation?class.?
    */

    public?class?BankingService?implements?IBankingService?{
    ????
    ????
    //Default?constructor.
    ????public?BankingService(){????
    ????}

    ????
    ????
    /**?Transfers?fund?from?one?account?to?another.
    ????
    */

    ????
    public?String?transferFunds(
    ????????String?fromAccount,?String?toAccount,?
    double?amount,?String?currency){
    ????????
    ????????String?statusMessage?
    =?"";
    ??????????????????????
    ????????
    //Call?business?objects?and?other?components?to?get?the?job?done.
    ????????
    //Then?create?a?status?message?and?return.
    ????????try?{
    ????????????NumberFormat?formatter?
    =?new?DecimalFormat("###,###,###,###.00");???????
    ????????????statusMessage?
    =?"COMPLETED:?"?+?currency?+?"?"?+?formatter.format(amount)+?
    ????????????
    "?was?successfully?transferred?from?A/C#?"?+?fromAccount?+?"?to?A/C#?"?+?toAccount;
    ????????}
    ?catch?(Exception?e){
    ????????????statusMessage?
    =?"BankingService.transferFunds():?EXCEPTION:?"?+?e.toString();
    ????????}

    ????????
    return?statusMessage;
    ????}

    ????
    }

    在上面的代碼中你看到奇怪的代碼了嗎? 大概沒有吧. 除了那個公共的默認構造函數.這個構造函數是必不可少的,因為XFire要用他來實例這個類.

    因為使用接口來完成是很好的實踐,因此我們的類也實現了一個名叫IBankingService的接口.代碼很簡單:

    package?com.mybank.xfire.example;

    public?interface?IBankingService?{??

    ????
    public?String?transferFunds(
    ????????String?fromAccount,?String?toAccount,?
    double?amount,?String?currency);
    ????????
    }

    實際開發中,這個方法可能包含所有復雜的調用,請求和處理操作,但是我們的例子將其最小化以便我們能將精力集中到我們的目標上:將這個方法轉換成Web服務.

    你可以看到,我們的BankingService只不過是一個普通的Java類,沒有任何代碼說明它是否在Web服務中使用.這就對了!我們不需要寫任何代碼,所有工作都交給部署描述去處理.
    后面我將介紹如何編寫部署描述。
    XFire:開發Web服務的簡易之道(二)--Web應用的部署配置

    posted on 2006-05-15 14:46 學二的貓 閱讀(3249) 評論(3)  編輯  收藏 所屬分類: Java禪機

    評論:
    # re: XFire:開發Web服務的簡易之道(一)--XFire簡介 2006-05-16 09:39 | Harryson
    謝謝,樓主,:0)
    以前總以為webservice是很負責的東東,現在看來中的很容易.  回復  更多評論
      
    # re: XFire:開發Web服務的簡易之道(一)--XFire簡介 2006-05-16 10:16 | 學二的貓
    @Harryson
    怎么叫"很容易",那家活可是"相當容易"!  回復  更多評論
      
    # re: XFire:開發Web服務的簡易之道(一)--XFire簡介 2006-06-19 13:39 | tooy
    拜托,轉載請做聲明好不好。  回復  更多評論
      
    主站蜘蛛池模板: 免费人成在线观看网站品爱网日本| 亚洲网站在线免费观看| 亚洲欧美不卡高清在线| 一本天堂ⅴ无码亚洲道久久| 在线91精品亚洲网站精品成人| 一个人看的www在线免费视频 | 少妇高潮太爽了在线观看免费| 女人18一级毛片免费观看| 国产成人免费网站在线观看| 亚洲中久无码永久在线观看同| 日韩免费精品视频| 亚洲毛片网址在线观看中文字幕| 亚洲天天做日日做天天欢毛片 | 亚洲人成影院在线观看| 亚洲成人激情小说| 91在线免费观看| 午夜免费不卡毛片完整版| 亚洲国产精品久久久久久| 久久久久久曰本AV免费免费| 亚洲精品福利你懂| 可以免费观看的毛片| 欧美日韩国产免费一区二区三区 | 久久aⅴ免费观看| 成年女人看片免费视频播放器| 亚洲AV一宅男色影视| 亚洲hairy多毛pics大全| 免费A级毛片无码视频| 久久夜色精品国产亚洲av| 亚洲国产成人无码AV在线| 又粗又大又长又爽免费视频| eeuss影院ss奇兵免费com| 四虎永久免费地址在线网站| 亚洲人成网站色7799| 久久精品国产精品亚洲下载| 在线观看免费中文视频| 亚洲国产a级视频| 国产亚洲人成在线播放| 午夜一级毛片免费视频| 毛片免费观看的视频| 美女18一级毛片免费看| 亚洲乱码国产一区网址|