webservice系列教學(1)

來源:互聯網
上載者:User
web 關鍵字 : SOAP  XML  XSD  WSDL
1.   什麼是 webservice
從表面上看,Web service 就是一個應用程式,它向外界暴露出一個能夠通過Web進行調用的API。這就是說,你能夠用編程的方法通過Web來調用這個應用程式。
對Web service 更精確的解釋: Web services是建立可互操作的分布式應用程式的新平台。作為一個Windows程式員,你可能已經用COM或DCOM建立過基於組件的分布式應用程式。COM是一個非常好的組件技術,但是我們也很容易舉出COM並不能滿足要求的情況。Web service平台是一套標準,它定義了應用程式如何在Web上實現互通性。你可以用任何你喜歡的語言,在任何你喜歡的平台上寫Web service ,只要我們可以通過Web service標準對這些服務進行查詢和訪問。
不管你的Web service是用什麼工具,什麼語言寫出來的,只要你用SOAP協議通過HTTP來調用它,總體結構都應如下圖所示。通常,你用你自己喜歡的語言(如VB 6或者VB.NET)來構建你的Web service,然後用SOAP Toolkit或者.NET的內建支援來把它暴露給Web客戶。於是,任何語言,任何平台上的客戶都可以閱讀其WSDL文檔,以調用這個Web service。客戶根據WSDL描述文檔,會產生一個SOAP請求訊息。Web service都是放在Web伺服器 (如IIS) 後面的,客戶產生的SOAP請求會被嵌入在一個HTTP POST請求中,發送到Web伺服器來。Web伺服器再把這些請求轉寄給Web service要求處理常式。對VB 6程式來說,Web service要求處理常式是一個與SOAP Toolkit組件協同工作的ASP頁面或ISAPI extension。而對VB.NET程式來說,Web service要求處理常式則是一個.NET Framework內建的ISAPI extension。要求處理常式的作用在於,解析收到的SOAP請求,調用Web service,然後再產生相應的SOAP應答。Web伺服器得到SOAP應答後,會再通過HTTP應答的方式把它送回到用戶端。

2.   基本概念
SOAP  
Web service建好以後,其他人就會去調用它。簡易物件存取通訊協定 (SOAP)(SOAP)提供了標準的 遠端程序呼叫 ( RPC)方法來調用Web service。SOAP規範定義了SOAP訊息的格式,以及怎樣通過HTTP協議來使用SOAP。SOAP也是基於XML和XSD的,XML是SOAP的資料編碼方式。用戶端和服務端之間的方法調用請求和結果傳回值都放在這些訊息裡。
        XML XSD
可擴充的標記語言(XML)是Web service平台中表示資料的基本格式。除了易於建立和易於分析外,XML主要的優點在於它既是平台無關的,又是廠商無關的。無關性是比技術優越性更重要的。XML解決了資料表示的問題,但它沒有定義一套標準的資料類型,更沒有說怎麼去擴充這套資料類型。例如,整形數到底代表什嗎?16位,32位,還是64位?這些細節對實現互通性都是很重要的。W3C制定的XML Schema(XSD)就是專門解決這個問題的一套標準。它定義了一套標準的資料類型,並給出了一種語言來擴充這套資料類型。Web service平台就是用XSD來作為其資料類型系統的。當用某種語言(如VB.NET或C#)來構造一個Web service時,為了符合Web service標準,所有使用的資料類型都必須被轉換為XSD類型。
       WSDL ( Web Services Description Language)
用於描述服務端所提供服務的XML格式。WSDL檔案裡,描述了服務端提供的服務,提供的調用方法,以及調用時所要遵循的格式,比如調用參數和傳回值的格式等等。WSDL 很像COM編程裡的IDL(Interface Description Language),是伺服器與用戶端之間的契約,雙方必須按契約嚴格行事才能實現功能。
   WSML( Web Services Meta Language )
用於描述WSDL裡提供的方法與實現該方法的COM對象之間的映射關係。該檔案是Microsoft的實現中特有的,不是SOAP標準的一部分。一般情況下,該檔案只在服務端存在。

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。