web service 簡介

Web service是一個平臺獨立的,低耦合的,自包含的、基於可編程的web的應用程序,可以使用開放的XML標準來描述、發佈、發現、協調和配置這些應用程序,用於開發分佈式的互操做的應用程序程序員

web Service技術, 能使得運行在不一樣機器上的不一樣應用無須藉助附加的、專門的第三方軟件或硬件, 就可相互交換數據或集成。依據Web Service規範實施的應用之間, 不管它們所使用的語言、 平臺或內部協議是什麼, 均可以相互交換數據。Web Service是自描述、 自包含的可用網絡模塊, 能夠執行具體的業務功能。Web Service也很容易部署, 由於它們基於一些常規的產業標準以及已有的一些技術,諸如標準通用標記語言下的子集XML、HTTP。Web Service減小了應用接口的花費。Web Service爲整個企業甚至多個組織之間的業務流程的集成提供了一個通用機制。web

Web service究竟是什麼;在什麼狀況下你應該使用Web service。
研究一下當前的應用程序開發,你會發現一個絕對的傾向:人們開始偏心基於瀏覽器的客戶端應用程序。這固然不是由於客戶端可以提供更好的用戶界面,而是由於它可以避免花在桌面應用程序發佈上的高成本。發佈桌面應用程序成本很高,一半是由於應用程序安裝和配置的問題,另外一半是由於客戶端和服務器之間通訊的問題。
傳統的Windows客戶應用程序使用DCOM來與服務器進行通訊和調用遠程對象。配置好DCOM使其在一個大型的網絡中正常工做將是一個極富挑戰性的工做,同時也是許多IT工程師的噩夢。事實上,許多IT工程師寧願忍受瀏覽器所帶來的功能限制,也不肯在局域網上去運行一個DCOM。在我看來,結果就是一個發佈容易,但開發難度大並且用戶界面極其受限的應用程序。極端的說,就是你花了更多的資金和時間,卻開發出從用戶看來功能更弱的應用程序。不信?問問你的會計師對新的基於瀏覽器的會計軟件有什麼想法:絕大多數商用程序用戶但願使用更加友好的Windows用戶界面。
關於客戶端與服務器的通訊問題,一個完美的解決方法是使用HTTP協議來通訊。這是由於任何運行Web瀏覽器的機器都在使用HTTP協議。同時,當前許多防火牆也配置爲只容許HTTP鏈接。
許多商用程序還面臨另外一個問題,那就是與其餘程序的互操做性。若是全部的應用程序都是使用COM或.NET語言寫的,而且都運行在Windows平臺上,那就天下太平了。然而,事實上大多數商業數據仍然在大型主機上以非關係文件(VSAM)的形式存放,並由COBOL語言編寫的大型機程序訪問。並且,還有不少商用程序繼續在使用C++、Java、Visual Basic和其餘各類各樣的語言編寫。除了最簡單的程序以外,全部的應用程序都須要與運行在其餘異構平臺上的應用程序集成並進行數據交換。這樣的任務一般都是由特殊的方法,如文件傳輸和分析,消息隊列,還有僅適用於某些狀況的的API,如IBM的"高級程序到程序交流(APPC)"等來完成的。在之前,沒有一個應用程序通訊標準,是獨立於平臺、組建模型和編程語言的。只有經過Web Service,客戶端和服務器纔可以自由的用HTTP進行通訊,不論兩個程序的平臺和編程語言是什麼。
什麼是Web Service
對這個問題,咱們至少有兩種答案。從表面上看,Web service 就是一個應用程序,它向外界暴露出一個可以經過Web進行調用的API。這就是說,你可以用編程的方法經過Web來調用這個應用程序。咱們把調用這個Web service 的應用程序叫作客戶。例如,你想建立一個Web service ,它的做用是返回當前的天氣狀況。那麼你能夠創建一個ASP頁面,它接受郵政編碼做爲查詢字符串,而後返回一個由逗號隔開的字符串,包含了當前的氣溫和天氣。要調用這個ASP頁面,客戶端須要發送下面的這個HTTP GET
返回的數據就應該是這樣:
這個ASP頁面就應該能夠算做是Web service 了。由於它基於HTTP GET請求,暴露出了一個能夠經過Web調用的API。固然,Web service 還有更多的東西。
下面是對Web service 更精確的解釋: Web services是創建可互操做的分佈式應用程序的新平臺。做爲一個Windows程序員,你可能已經用COM或DCOM創建過基於組件的分佈式應用程序。COM是一個很是好的組件技術,可是咱們也很容易舉出COM並不能知足要求的狀況。
第二種理解:Web service平臺是一套標準,它定義了應用程序如何在Web上實現互操做性。你能夠用任何你喜歡的語言,在任何你喜歡的平臺上寫Web service ,只要咱們能夠經過Web service標準對這些服務進行查詢和訪問。
相關文章
相關標籤/搜索