WebService總結

          什么是WebService
               1,Web Service 是一種新的web應用程序分支,他們是自包含、自描述、模塊化的應用,可以發布、定位、通過web調用。Web Service可以執行從簡單的請求到復雜商務處理的任何功能。一旦部署以后,其他Web Service應用程序可以發現并調用它部署的服務。 Web Service是一種應用程序,它可以使用標準的互聯網協議,像超文本傳輸協議(HTTP)和XML,將功能綱領性地體現在互聯網和企業內部網上。可將Web服務視作Web上的組件編程。 
                 2,web廣泛用到的技術: 
             ◆ TCP/IP:通用網絡協議,被各種設備使用 
             ◆ HTML:通用用戶界面,可以使用HTML標簽顯示數據 
             ◆ Java:寫一次可以在任何地方運行的通用編程語言 
             ◆ XML :通用數據表達語言,在web上傳送機構化數據的容易方法 
          他們的特點是其開放性,跨平臺性,開放性正是Web services的基礎。
                 3,webService的作用
             ◆ 內容更加動態:一個web service必須能合并從多個不同源來的內容,可以包括股票,天氣,新聞等,在傳統環境中的內容,如存貨水平,購物訂單或者目錄信息等,都從后端系統而來
             ◆ 帶寬更加便宜:web services可以分發各種類型的內容(音頻,視頻流等)
             ◆ 存儲更便宜: web services必須能聰明地處理大量數據,意味著要使用數據庫,LDAP目錄,緩沖,和負載平衡軟件等技術保持可擴展能力
             ◆普遍式計算更重要:web services不能要求客戶使用某一版本的windows的傳統瀏覽器,必須支持各種設備,平臺,瀏覽器類型,各種內容類型。
                 4 , webService的實現
             ◆ XML XML是在web上傳送結構化數據的偉大方式,Web services要以一種可靠的自動的方式操作數據,HTML不會滿足要求,而XML可以使web services十分方便的處理數據,它的內容與表示的分離十分理想
             ◆ SOAP SOAP使用XML消息調用遠程方法,這樣web services可以通過HTTP協議的post和get方法與遠程機器交互,而且,SOAP更加健壯和靈活易用。
          其他象UDDI和WSDL技術與XML和SOAP技術緊密結合用于服務發現。
            
          II  什么時候用WebService

             ◆  跨越防火墻的通信
              如果你的應用程序有成千上萬的用戶,而且他們都分布在世界各地,那么客戶端和服務器之間的通信將是一個棘手的問題。那是因為客戶端和服務器之間通常都會有防火墻或者代理服務器。在這種情況下,你想使用DCOM就不是那么簡單了,而且,通常你也不愿意把你的客戶端程序發布到如此龐大數量的每一個用戶手中。于是,你最終選擇了用瀏覽器作為客戶端,寫下一堆ASP頁面,把應用程序的中間層暴露給最終用戶。結果呢?運氣好的話,只是開發難度大了一些,運氣不好的話,就會得到一個根本無法維護的應用程序。想象一下你應該怎么在你的應用程序里面加入一個新的頁面:你必須先建立好用戶界面(Web頁面),以及在這個頁面后面,包含相應商業邏輯的中間層組件。這還不夠,你還要再建立至少一個ASP頁面,用來接受用戶輸入的信息,調用中間層組件,把結果格式化為HTML形式,最后還要把"結果頁"送回瀏覽器。要是客戶端代碼不再如此依賴于HTML表單,客戶端的編程不就簡單多了嗎?還有,建立ASP頁面的那一步可以省略掉嗎? 當然。如果你的中間層組件是Webservice的話,你完全可以從用戶界面直接調用中間層組件,從而省掉建立ASP頁面的那一步。要調用Webservice,你可以直接使用MicrosoftSOAPToolkit或.NET這樣的SOAP客戶端,也可以使用你自己開發的SOAP客戶端,然后把它和你的應用程序連接起來。這樣做,不僅可以縮短開發周期,還可以減少代碼的復雜度,并增強整個應用程序的可維護性。同時,你的應用程序也不再需要在每次調用中間層組件時,都跳轉到相應的"結果頁"了。以我的經驗來看,在一個用戶界面和中間層有較多交互的應用程序中,使用Webservice這種結構,可以輕松的節省花在用戶界面編程上的20%的開發時間。這樣做還有另一個好處,就是你將得到一個由Webservice組成的中間層,這一層是完全可以在應用程序集成或其他場合下被重用的。最后,通過Webservice把你的應用程序的邏輯和數據暴露出來,還可以讓其它平臺上的客戶重用你的應用程序。
           ◆ 應用程序集成
              企業級的應用程序開發者都知道,企業里經常都要把用不同語言寫成的在不同平臺上運行的各種程序集成起來,而這種集成將花費很大的開發的力量。你的應用程序經常都需要從運行在古老的IBM主機上的程序中獲取數據;或者再把數據發送到主機或UNIX應用程序中去。即使是在同一個平臺上,不同的軟件廠商生產的各種軟件也常常需要集成起來。通過Webservice,應用程序可以用標準的方法把功能和數據暴露出來,供其它的應用程序使用。例如,你有一個訂單登錄程序,用于登錄從客戶來的新訂單,包括客戶信息、發貨地址、數量、價格和付款方式等信息。同時,你還有一個訂單執行程序,用于實際貨物發送的管理。這兩個程序是來自不同軟件廠商的。一份新訂單進來之后,訂單登錄程序需要通知訂單執行程序發送貨物。通過在訂單執行程序上面增加一層Webservice,訂單執行程序可以把"AddOrder"函數暴露出來。這樣,每當有新訂單到來時,訂單登錄程序就可以調用這個函數來發送貨物了。進而通過Webservice集成應用程序
            ◆ B2B的集成
           用Webservice集成應用程序,可以使你公司內部的商務處理更加自動化。但當交易跨越了你的供應商和客戶,突破了公司的界線時又會怎么樣呢?跨公司的商務交易集成通常叫做B2B集成。Webservice是B2B集成成功的關鍵。通過Webservice,你的公司可以把關鍵的商務應用暴露給指定的供應商和客戶。例如,把你的電子下單系統和電子發票系統暴露出來,你的客戶就可以以電子的方式向你發送購貨訂單,而你的供應商則可以以電子的方式把原料采購的發票發送給你。當然,這并不是一個新的概念:電子文檔交換(EDI)早就是這樣了。Webservice和EDI之間的主要區別在于,Webservice的實現要比EDI簡單得多,而且Webservice是運行在Internet上的,在世界任何地方都可輕易實現,這樣其運行成本就相對較低。不過,Webservice并不像EDI那樣,是文檔交換或B2B集成的一套完整的解決方案。Webservice只是B2B集成的一個關鍵部分,還需要許多其它的部分才能完成這個集成。用Webservice來實現B2B集成的最大好處在于可以輕易實現互操作性。只要把你的商務邏輯暴露出來,成為Webservice,你就可以讓任何指定的合作伙伴輕松的調用你的商務邏輯,而不管他們的系統在什么平臺上運行,使用的是什么開發語言。這樣就大大減少了花在B2B集成的上的時間和成本。這樣的低成本讓許多原本無法承受EDI的投資成本的中小企業也能實現B2B集成。
           ◆ 軟件重用
             軟件重用是一個很大的主題,它有很多的形式和程度。最基本的形式是源代碼模塊或者類一級的重用。另一種形式是二進制形式的組件重用。當前,像表格控件或用戶界面控件這樣的可重用軟件組件在市場上都占有很大的份額。但這類軟件的重用都有一個很嚴重的限制:重用僅限于代碼,而數據不能被重用。原因在于你可以很輕易的發布組件甚至源代碼,但要發布數據就沒那么容易了,除非那些數據都是不會經常變化的靜態數據。  而Webservice允許你在重用代碼的同時,重用代碼后面的數據。使用Webservice,你不再像以前那樣,要先從第三方購買、安裝軟件組件,再從你的應用程序中調用這些組件。你只需要直接調用遠端的Webservice就可以了。舉個例子,你想在你的應用程序中確認用戶輸入的郵件地址,那么,你只需把這個地址直接發送給相應的Webservice,這個Webservice就會幫你查閱街道地址、城市、省區和郵政編碼等信息,確認這個地址的確在相應的郵政編碼區域。Webservice的提供商可以按時間或使用次數來對這項服務進行收費。這樣的服務要通過組件重用來實現是不現實的,因為那樣的話你必須下載并安裝好包含街道地址、城市、省區和郵政編碼等信息的數據庫,而且這個數據庫還是不能實時更新的。另一種軟件重用的情況是把好幾個應用程序的功能集成起來。例如,你想要建立一個局域網上的門戶站點應用,讓用戶既可以查詢他們的聯邦快遞包裹,察看股市行情,又可以管理他們的日程安排,還可以在線購買電影票?,F在Web上有很多應用程序供應商,都在其應用中實現了上面的這些功能。一旦他們把這些功能都通過Webservice暴露出來,你就可以非常輕易地把所有這些功能都集成到你的門戶站點中,為用戶提供一個統一的、友好的界面。
          用Webservice來集成各種應用中的功能,為用戶提供一個統一的界面
          許多應用程序都會利用Webservice,把當前基于組件的應用程序結構擴展為組件和Webservice的混合結構。你也可以在應用程序中使用第三方的Webservice提供的功能。你還可以把你自己的應用程序的功能通過Webservice提供給別人。所有這些情況下,你都可以重用代碼和代碼后面的數據??傊琖ebservice將是軟件重用的一種非常有力的形式。





          posted on 2005-12-17 13:11 beyondduke 閱讀(1016) 評論(0)  編輯  收藏 所屬分類: 編程隨筆

          <2005年12月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          導航

          統計

          公告


          MSN聯系

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          我的連接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 大足县| 新余市| 黑龙江省| 永川市| 桐庐县| 丰顺县| 蕉岭县| 黄石市| 柳林县| 孙吴县| 庄浪县| 广州市| 奈曼旗| 三江| 襄城县| 嫩江县| 浏阳市| 潜山县| 桑日县| 鹤山市| 芮城县| 永春县| 中江县| 应用必备| 聊城市| 钟山县| 柞水县| 武安市| 南安市| 黔江区| 资源县| 咸阳市| 叙永县| 赤水市| 麻城市| 五寨县| 奎屯市| 宁远县| 七台河市| 深水埗区| 武穴市|