Web Service是什麼 作者 阮一峰

2021-07-13 09:57:49 字數 2190 閱讀 8106

日期: 2023年8月26日

我認為,下一代網際網路軟體將建立在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等輕量級格式的使用在增多。

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

(完)

轉 Web service是什麼?

我認為,下一代網際網路軟體將建立在web service 也就是 雲 的基礎上。我把學習筆記和學習心得,放到網誌上,歡迎指正。今天先寫乙個最基本的問題,web service到底是什麼?一 web service的概念 想要理解web service,必須先理解什麼是service 服務 傳統上,我...

雜談 WebService是什麼?

webservice是什麼?webservice的乙個最基本的目的就是提供在各個不同平台的不同應用系統的協同工作能力。其實webservice並不是什麼神秘的東西,它就是乙個可以遠端呼叫的類,或者說是元件。為什麼要使用webservice?webservice是乙個新的概念,它並不是微軟首先提出的,...

老李分享 webservice是什麼?

前言 web services 是 web 應用出於和其他 web 應用以互動資料為目的的開放式標準 xml soap http 等 web services 可以將你現有的應用程式轉換為 web 應用程式。通過本系列指南中,您將了解到 web services 是什麼,為什麼和如何使用它們。本系列...