Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android筆記之 Web Service 基礎

Android筆記之 Web Service 基礎

編輯:關於Android編程

一、Web Service是什麼?

就是網絡服務,根據W3C的定義,WebServices(Web服務)是一個用於支持網絡間不同機器互操作的軟件系統,它是一種自包含、自描述和模塊化的應用程序,它可以在網絡中被描述、發布和調用,可以將它看作是基於網絡的、分布式的模塊化組件。

Web Services是建立在通用協議的基礎之上的,包括HTTPSOAPUDDIWSDL等。其中Web Service三要素就是SOAPWSDLUDDI SOAP用來描述傳遞信息的格式, WSDL用來描述如何訪問具體的接口,UDDI用來管理,分發,查詢webService

(以上粗體部分內容出自百度百科)

WebServices的優勢在於提供了不同應用程序平台之間的互操作,它使得基於組件的開發和Web相結合的效果達到最佳。它是基於HTTP協議的,調用請求和回應消息都可以穿過防火牆,不需要更改防火牆的設置,這樣就避免了使用特殊端口進行通信時無法穿越防火牆的問題。

歸納總結——Web service 就是一個應用程序,它向外界暴露出一個能夠通過Web進行調用的API

其實,說白了,就是某個服務器,你可以理解為網站,開放了(即對外公開)某個功能或者方法,我們通過 web service編程就可以獲取到它公開的信息,從而為自己所用。比如說,某個天氣網站,對外公開了其天氣接口,那麼我們就可以通過web service獲取到每天的當地天氣情況了。需要注意的是,上面說到,web service是基於通用協議的,這個跟JAVA一樣,具備很好的跨平台跨語言特性!但是說是這麼說的,Web Service真的是這樣的麼?我目前因為實踐少而不得而知,但是下面這篇博文卻以歷史傳記的形式說明了

一些事情。我們可以參詳下——

SOAPWebService的那些事

二、SOAP WSDLUDDI

上面說到, SOAP、WSDL和UDDI就是Web Service的三大組件,其中SOAP和WSDL是必選的,然後UDDI是可選的。所以我們要先來了解這幾個協議。

1SOAP

全稱就是Simple Object Access Protocol,簡單對象訪問協議,是用於交換XML(標准通用標記語言下的一個子集)編碼信息的輕量級協議。目前常用的有兩個版本,SOAP1.1和 SOAP 1.2。SOAP的優點在於——它可以運行在任意的其他協議上,比如SMTP,HTTP等。

2WSDL

全稱就是(Web Services DescriptionLanguage,即Web服務描述語言)是一種用來描述Web服務的XML語言,它描述了Web服務的功能、接口、參數、返回值等,便於用戶綁定和調用服務。它以一種和具體語言無關的方式定義了給定Web服務調用和應答的相關操作和消息。

WSDL是我們能夠實實在在看到的東西,它是一份xml文檔,用於描述某個WebSerivce的方方面面。

如果閱讀上述的文字後,你依然無法理解WSDL,那麼請閱讀下面的內容:(來自某網友的,下面有出處)


你會怎樣向別人介紹你的Webservice有什麼功能,以及每個函數調用時的參數呢?你可能會自己寫一套文檔,你甚至可能會口頭上告訴需要使用你的Webservice的人。這些非正式的方法至少都有一個嚴重的問題:當程序員坐到電腦前,想要使用你的Web service的時候,他們的工具(如VisualStudio)無法給他們提供任何幫助,因為這些工具根本就不了解你的Web service。解決方法是:用機器能閱讀的方式提供一個正式的描述文檔。Webservice描述語言(WSDL)就是這樣一個基於XML的語言,用於描述Webservice及其函數、參數和返回值。因為是基於XML的,所以WSDL既是機器可閱讀的,又是人可閱讀的,這將是一個很大的好處。一些最新的開發工具既能根據你的Webservice生成WSDL文檔,又能導入WSDL文檔,生成調用相應Web service的代碼。於是WSDL誕生。

源文檔

3UDDI

全稱是:Universal Description, Discovery andIntegration",中文翻譯就是“通用描述,發現和集成服務”,或者可以叫“統一描述、發現和集成協議”。感覺很抽象是吧,我也這麼覺得,哈哈。沒關系,接著看。

以下的說明過於專業,不好理解,於是原文引用——

了解 Web 服務規范: 第 3部分:統一描述、發現和集成 (UDDI)

當所有應用程序都位於本地時,要找到所需的功能會非常容易。不過,使用 Web服務之類的分布式系統時,您不能獲得中央注冊中心的好處。分布式系統也容易發生更改。而這正是 UDDI的用武之地。它旨在用於兩個目的。最初形成時,它被認為是一種“通用業務注冊中心”。其想法是,企業可以使用以下三種方法之一搜索合作伙伴:

  • “白頁”:白頁與電話簿中用於查找公司信息的白頁類似。例如,如果您知道公司的名稱,可以在其中查找公司的地址、如何進行聯系,甚至還能夠確定與組織中的哪個人聯系。
    • “黃頁”:同樣,黃頁與電話簿中的黃頁一樣,可以在其中根據分類查找公司。UDDI指定了各種分類法,以供各個公司用於對自己進行分類。例如,如果您在查找體育用具,則可以查找其北美工業分類系統(North American Industry Classification System,NAICS)代碼為 339920 的公司。
      • “綠頁”:電話簿中沒有綠頁,但這裡的想法是,公司可以使用此搜索方法來查找實現了特定服務的貿易合作伙伴。例如,可以搜索實現了使用郵政編碼的距離計算功能的公司。

        UDDI同時也被認為是一種保持分布式應用程序長期運行的方法。其想法是這樣的,可以緩存有關訪問特定服務的信息,如果客戶機崩潰,應用程序將自動回到注冊中心並進行檢查,以確定信息是否已更改。如果已更改,則可以直接在應用程序內進行更改(在理想的情況下將自動進行更改)並重試您的請求。


        看完之後,大概懂了吧,UDDI其實就是業務登記邏輯和注冊,使得使用者能夠快速查找。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved