<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 學二的貓 閱讀(3247) 評論(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
    拜托,轉載請做聲明好不好。  回復  更多評論
      
    主站蜘蛛池模板: 在线免费观看毛片网站| 免费大片av手机看片| 亚洲AV人无码综合在线观看| 亚洲日韩国产成网在线观看| 亚洲人成色777777在线观看| 亚洲精品在线网站| 亚洲欧美不卡高清在线| 老外毛片免费视频播放| 久久久久成人精品免费播放动漫| 91精品成人免费国产片| 国产男女猛烈无遮挡免费视频网站| 国产福利电影一区二区三区,亚洲国模精品一区| 中中文字幕亚洲无线码| 麻豆安全免费网址入口| 四只虎免费永久观看| 亚洲精彩视频在线观看| 成人免费在线看片| 久久青青草原亚洲av无码| 亚洲sss综合天堂久久久| 免费观看的毛片手机视频| 亚洲高清在线观看| 亚洲av无码久久忘忧草| a毛片久久免费观看| 国产免费一区二区三区在线观看| 免费无遮挡无码视频网站| 亚洲av无码片vr一区二区三区| 免费播放在线日本感人片| 亚洲AV无码1区2区久久| 天天影视色香欲综合免费| 国产午夜亚洲精品| av免费不卡国产观看| 亚洲熟妇AV一区二区三区浪潮| 久久WWW免费人成一看片| 国产 亚洲 中文在线 字幕| 国产乱子影视频上线免费观看| sihu国产精品永久免费| 麻豆国产入口在线观看免费| 男人免费视频一区二区在线观看| 精品亚洲永久免费精品| 老妇激情毛片免费| 亚洲欧洲日本国产|