歡迎您光臨本站 註冊首頁

· Web Service雜誌閱讀

Web service是什么?

admin @ 2020-04-17 reply:0


Web service是什么? 

我認為,下一代網際網路軟體將建立在Web service(也就是"雲")的基礎上。

我把學習筆記和學習心得,放到網誌上,歡迎指正。

今天先寫一個最基本的問題,Web service到底是什么?

一、Web service的概念

想要理解Web service,必須先理解什么是Service(服務)。

傳統上,我們把計算機後臺程式(Daemon)提供的功能,稱為"服務"(service)。比如,讓一個防毒軟體在後臺執行,它會自動監控系統,那么這種自動監控就是一個"服務"。通俗地說,"服務"就是計算機可以提供的某一種功能。

根據來源的不同,"服務"又可以分成兩種:一種是"本地服務"(使用同一臺機器提供的服務,不需要網路),另一種是"網路服務"(使用另一臺計算機提供的服務,必須通過網路才能完成)。

舉例來說,我現在有一批圖片,需要把它們的大小縮小一半。那么,我們可以把"縮放圖片"看成是一種服務。你可以使用"本地服務",在自己計算機上用軟體縮小圖片,也可以使用"網路服務",將圖片上傳到某個網站,讓伺服器替你縮小圖片,完成後再通過網路送回給你。這就好比,一件事你可以自己做,也可以交給另一個人去做。肚子餓了,你可以自己做飯,也可以打電話去訂一份比薩,讓店家替你做好送上門。

"網路服務"(Web Service)的本質,就是通過網路呼叫其他網站的資源。

舉例來說,去年我寫過一個"四川大地震圖片牆",它能動態顯示關於四川地震的最新圖片。但是,所有的圖片都不是儲存在我的伺服器上,而是來自flickr.com。我只是發出一個動態請求,要求flickr.com向我提供圖片。這種情況下,flickr.com提供的就是一種Web service。如果我把圖片都存放在本地伺服器,不呼叫flickr.com,那么我就是在使用"本地服務"。

所以,Web service讓你的網站可以使用其他網站的資源,比如在網頁上顯示天氣、地圖、twitter上的最新動態等等。

二、Web Service架構和雲

如果一個軟體的主要部分採用了"網路服務",即它把儲存或計算環節"外包"給其他網站了,那么我們就說這個軟體屬於Web Service架構。

Web Service架構的基本思想,就是盡量把非核心功能交給其他人去做,自己全力開發核心功能。比如,如果你要開發一個相簿軟體,完全可以使用Flickr的網路服務,把相片都儲存到它上面,你只要全力做好相簿本身就可以了。總體上看,凡是不屬於你核心競爭力的功能,都應該把它"外包"出去。

最近很紅的"雲端計算"(cloud computing)或者"雲服務"(cloud services),實際上就是Web Service的同義詞,不過更形象一些罷了。它們不說你把事情交給其他計算機去做,而說你把事情交給"雲"去做。

三、本地服務的缺陷

"網路服務"是未來軟體開發和使用的趨勢,本地服務將用得越來越少,主要因為以下三個原因:

* 本地資源不足。很多資料和資料,本地得不到,只有向其他網站要。

* 成本因素。本地提供服務,往往是不經濟的,使用專業網站的服務更便宜。這裡面涉及硬體和人員兩部分,即使你買得起硬體,專門找一個人管理系統,也是很麻煩的事。

* 可移植性差。如果你想把本機的服務,移植到其他機器上,往往很困難,尤其是在跨平臺的情況下。

四、Web Service的優勢

除了本地服務的缺點以外,Web Service還有以下的優越性:

* 平臺無關。不管你使用什么平臺,都可以使用Web service。

* 程式語言無關。只要遵守相關協議,就可以使用任意程式語言,向其他網站要求Web service。這大大增加了web service的適用性,降低了對程式設計師的要求。

* 對於Web service提供者來說,部署、升級和維護Web service都非常單純,不需要考慮客戶端相容問題,而且一次性就能完成。

* 對於Web service使用者來說,可以輕易實現多種資料、多種服務的聚合(mashup),因此能夠做出一些以前根本無法想像的事情。

五、Web service的發展趨勢

根據我的觀察,目前Web service有這樣幾種發展趨勢。

* 在使用方式上,RPC和soap的使用在減少,Restful架構佔到了主導地位。

* 在資料格式上,XML格式的使用在減少,json等輕量級格式的使用在增多。

* 在設計架構上,越來越多的第三方軟體讓使用者在客戶端(即瀏覽器),直接與雲端對話,不再使用第三方的伺服器進行中轉或處理資料。



[admin via ] Web service是什么?已經有473次圍觀

http://coctec.com/magazine/show-post-item-13.html