編輯:關於Android編程
一、Web Service是什麼?
就是網絡服務,根據W3C的定義,WebServices(Web服務)是一個用於支持網絡間不同機器互操作的軟件系統,它是一種自包含、自描述和模塊化的應用程序,它可以在網絡中被描述、發布和調用,可以將它看作是基於網絡的、分布式的模塊化組件。
Web Services是建立在通用協議的基礎之上的,包括HTTP、SOAP、UDDI、WSDL等。其中Web Service三要素就是SOAP、WSDL和UDDI。 SOAP用來描述傳遞信息的格式, WSDL用來描述如何訪問具體的接口,UDDI用來管理,分發,查詢webService。
(以上粗體部分內容出自百度百科)
WebServices的優勢在於提供了不同應用程序平台之間的互操作,它使得基於組件的開發和Web相結合的效果達到最佳。它是基於HTTP協議的,調用請求和回應消息都可以穿過防火牆,不需要更改防火牆的設置,這樣就避免了使用特殊端口進行通信時無法穿越防火牆的問題。
歸納總結——Web service 就是一個應用程序,它向外界暴露出一個能夠通過Web進行調用的API。
其實,說白了,就是某個服務器,你可以理解為網站,開放了(即對外公開)某個功能或者方法,我們通過 web service編程就可以獲取到它公開的信息,從而為自己所用。比如說,某個天氣網站,對外公開了其天氣接口,那麼我們就可以通過web service獲取到每天的當地天氣情況了。需要注意的是,上面說到,web service是基於通用協議的,這個跟JAVA一樣,具備很好的跨平台跨語言特性!但是說是這麼說的,Web Service真的是這樣的麼?我目前因為實踐少而不得而知,但是下面這篇博文卻以歷史傳記的形式說明了
一些事情。我們可以參詳下——
SOAP和WebService的那些事
二、SOAP、 WSDL與UDDI
上面說到, SOAP、WSDL和UDDI就是Web Service的三大組件,其中SOAP和WSDL是必選的,然後UDDI是可選的。所以我們要先來了解這幾個協議。
(1)SOAP
全稱就是Simple Object Access Protocol,簡單對象訪問協議,是用於交換XML(標准通用標記語言下的一個子集)編碼信息的輕量級協議。目前常用的有兩個版本,SOAP1.1和 SOAP 1.2。SOAP的優點在於——它可以運行在任意的其他協議上,比如SMTP,HTTP等。
(2)WSDL
全稱就是(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誕生。
源文檔
(3)UDDI
全稱是:Universal Description, Discovery andIntegration",中文翻譯就是“通用描述,發現和集成服務”,或者可以叫“統一描述、發現和集成協議”。感覺很抽象是吧,我也這麼覺得,哈哈。沒關系,接著看。
以下的說明過於專業,不好理解,於是原文引用——
了解 Web 服務規范: 第 3部分:統一描述、發現和集成 (UDDI)
當所有應用程序都位於本地時,要找到所需的功能會非常容易。不過,使用 Web服務之類的分布式系統時,您不能獲得中央注冊中心的好處。分布式系統也容易發生更改。而這正是 UDDI的用武之地。它旨在用於兩個目的。最初形成時,它被認為是一種“通用業務注冊中心”。其想法是,企業可以使用以下三種方法之一搜索合作伙伴:
UDDI同時也被認為是一種保持分布式應用程序長期運行的方法。其想法是這樣的,可以緩存有關訪問特定服務的信息,如果客戶機崩潰,應用程序將自動回到注冊中心並進行檢查,以確定信息是否已更改。如果已更改,則可以直接在應用程序內進行更改(在理想的情況下將自動進行更改)並重試您的請求。
看完之後,大概懂了吧,UDDI其實就是業務登記邏輯和注冊,使得使用者能夠快速查找。
RecyclerView 已經出來很久了,但是在項目中之前都使用的是ListView,最近新的項目上了都大量的使用了RecycleView.尤其是瀑布流的下拉刷新,網上吧
public class EngineerJspActivity extends Activity { private static String Tag = &q
在Android應用開發中會經常碰到一個叫divider的東西,就是兩個View之間的分割線。最近工作中注意到這個divider並分析了一下,竟然發現內有乾坤,驚為天人…
React-Native Android 與 IOS 共用代碼React-Native 開發的App, 所有組件iOS & Android 共用, 共享一份代