首先,我們必須了解什么是webservice.就概念上來說,可能比較復雜,不過我們可以有個宏觀的了解:webservice就是個對外的接口,里面有函數可供外部客戶調用(注意:里面同樣有客戶不可調用的函數).假若我們是服務端,我們寫好了個webservice,然后把它給了客戶(同時我們給了他們調用規則),客戶就可以在從服務端獲取信息時處于一個相對透明的狀態.即是客戶不了解(也不需要)其過程,他們只獲取數據.
webservice傳遞的數據只能是序列化的數據,典型的就是xml數據,這里我們也只討論xml數據的傳輸.
有了一些對xml webservice的初步了解后,我們將切入正題,即是用一個具體的webservice事例的形式來講解具體的webservice用法,用具體的事例來講解一個概念我想怎么也要比單純的說理能讓人容易理解吧.
這里,我們將以一個簡單的分布式課件搜索系統為例來講解.使用vs2003為編譯環境,c#為語言,sqlservcer2000為數據庫.(這個例子來源于一位網上朋友的文章的啟發,覺得很能代表webservice的特點,就按那個想法做了這么個系統來示例了)
首先,明確我們要做什么.我們需要一個對客戶的接口,也就是個站點,我們把它稱做servicegathersite,它是何種形式都無所謂,甚至它本身并不需要數據庫,它只是提供給用戶一個查詢的接口,真正的服務,普通用戶是不接觸到的.然后,這里我們還需要若干個提供服務的站點,我們可以稱它們為資源站,這里為簡單起見,假設有兩個資源站,分別叫websitea,websiteb,它們可以是不對外公布的,只是為了豐富查詢數據而存在.最后,是我們最需要關注的東西---資源站提供給servicegathersite的服務.兩個資源站,就有兩個服務,我們稱為siteaservice和sitebservice.兩個服務間沒有任何關系,內部提供的方法也完全沒關聯,只是需要把方法如何使用告訴servicegathersite,意思是,服務只提供查詢接口,返回的數據如何處理,服務本身并不管,全由使用服務的站點分配.
寫了這么多,算是簡要的介紹了下有關xml webservice的概念和我們這個例子的結構,下篇文章,我們將開始真正進入代碼的設計階段.
新聞熱點
疑難解答