至於何時會用到 Web Service 呢?
舉例來說,假設許多客戶透過應用程式連上伺服器存取資料,如果直接將存取資料的語法還有判斷的邏輯架構寫在客戶的應用程式端,哪天發現問題的時候,例如判斷邏輯沒有寫好,導致於資料顯示不正確。
此時,每一個客戶端都必須強制更新程式,才能取得正確的資料,也就是只有很小的問題修改,都需要客戶端去做更新的動作,這樣的架構是非常有問題的。
而我們透過 Web Service 的仲介服務,作為客戶端和伺服端兩者之間的橋樑,客戶端只要了解需要呼叫哪一個 Web Service 的名稱及參數,送至伺服器端做好運算之後,再將結果傳回去。這樣一來,幾乎所有的邏輯判斷及資料庫的資料擷取都是在伺服器端完成,不需要去針對每一個客戶端的程式更新,維護上絕對是比較容易省時。
一般來說我們在呼叫 Web Service 時,都是透過 SOAP 協定去做存取的動作,而 Web Service 回傳的資料格式為通用的 XML 格式,由於不同平台都透過相同的協定去存取資源,也實現了跨平台的優點。
此外通常伺服器端會提供 WSDL 給客戶端參考,此檔案描述提供了那些 Web Service 及呼叫時需要提供的參數等資訊。
詳細的 Web Service 架構可以參考 WIKI
了解了基本的概念,準備開始架設 Web Service 伺服器吧!
建置環境:
伺服器:IIS 7
開發工具:Visual Studio 2010