什麼是Web 服務

2021-04-14 23:56:03 字數 1877 閱讀 6657

web 服務是一種可以用來解決跨網路應用整合問題的開發模式,這種模式為實現「軟體作為服務」提供了技術保障。而「軟體作為服務」實質上是一種提供軟體服務的機制,這種機制可以在網路上暴露可程式設計介面,並通過這些介面來共享站點開放出來的功能。

從技術角度來講,web 服務實現了最廣泛的應用軟體整合,彌補了傳統軟體開發模型的限制。web 服務產生之前,在網路上提供物件服務通常要採用dcom(distributed com)或corba。這兩種技術各有特點,也各自有相當廣泛的應用。前者執行在windows作業系統上,後者主要執行在unix系統上,都有著相當悠久的歷史。

從概念層次上講,二者具有相近的結構,都可以讓客戶軟體例項化分布在網路上遠端的物件,並最終訪問物件服務。但是,在具體實現機制上,這兩種方案有許多不同。比如在通訊協議方面,dcom採用的是rpc協議而corba採用的是iiop協議。另外,對於客戶端程式而言,訪問提供服務物件的方法也是大相徑庭,前者通過客戶端**(proxy),經過rpc通道後訪問服務端的存根(stub)後才可以最終訪問到物件;而後者必須先通過客戶端的存根,然後經過iiop訪問服務端的骨架(skeleton)才能最終訪問到物件。兩種模式分別如圖9-1和9-2所示。

圖9-1 dcom方案

正是因為兩種分布式物件方案各自為政,所以它們只能被用來開發緊耦合型別的web分布式應用系統。所謂緊耦合,就是指客戶端必須按照特定的規範去訪問服務端提供的服務,而這種規範只在乙個有限的範圍內通用。

圖9-2 corba方案

為了可以在整個網際網路中實現對服務的自由訪問,有必要提供一種嶄新的模式或資訊交換手段來達到這個目的。於是,微軟提出了web 服務。

web 服務的主要特點之一是,客戶端訪問web 服務只需要通過網際網路標準協議,如http或xml,以及soap,不需要專門的協議,如rpc或iiop。因為http協議和xml都是與平台無關的標準協議,因此,可以被任何主流作業系統正確理解和解釋。

另外,更為關鍵的特性是,web 服務可以被xml語言進行詳盡的描述。這就是說,提供web服務的站點可以提供乙個(或多個)該站點可以對外提供服務的描述檔案,這個檔案的內容可以被訪問者理解。更進一步說,就是客戶端可以從網路上直接得到**!

也許舉個例子能更清楚地說明問題。假設開發人員需要搭建乙個商務**,這個**需要乙個驗證客戶合法身份的功能。為了實現這個功能,下面分別描述了可以採用的辦法。

● 由開發人員自己編寫安全驗證所需的全部**。這樣做顯然不現實,乙個安全驗證程式涉及到諸多專業知識,並需要相當長的時間才能夠完成。

● 購買這段程式(通常是乙個activex元件)。在收到元件之後,首先將元件註冊在自己的機器上,然後根據元件型別庫產生介面檔案。在實際程式設計中就可以使用這個介面檔案來訪問元件服務。很明顯,這種方式在目前使用得最為廣泛。

● 有了web 服務,情況就不同了,只需要在自己的程式中通過訪問某個服務的url位址,得到乙份xml描述,並使用這個描述檔案產生乙個介面檔案。然後,在實際程式設計中,只需要通過這個介面檔案來訪問服務就可以了。一定要注意,這個服務可不是執行在我們機器上的,是執行在網際網路上url位址所指向的地方。

與緊耦合服務概念相對,由於web 服務具備通訊協議標準性和服務自描述性,所以,使用web 服務可以開發出松耦合的分布式應用程式來。這也是web 服務要實現的最根本的設計目標。web 服務的體系如圖9-3所示。

圖9-3 web service體系

什麼是 Web 伺服器(server)

首先我們來了解什麼是伺服器 server 一般來說,server 有兩重意思 有時候 server 表示硬體,也就是一台機器。它還有另乙個名字 主機 更多時候,server 表示軟體程式,這種程式主要用來對外提供某些服務,比如郵件服務 ftp 服務 資料庫服務 網頁服務等。作為開發者,我們說 ser...

什麼是web框架

web框架定義 web框架的功能 對於所有的web應用,本質上就是乙個socket服務端,web瀏覽器是客戶端。web框架使得在進行web應用開發的時候,減少了工作量。web框架主要用於動態網路開發,動態網路主要是指現在的主要的頁面,可以實現資料的互動和業務功能的完善。使用web框架進行web開發的...

什麼是web標準

web standards standards是個複數,就知道他是有好幾個標準或者規範組成的,分別是 結構規範 xml xhtml 表現規範 css 行為規範 dom,ecmascript 上面是理論,也就是說源自這些個東西,規範,標準 就是統一規格的意思,讓大家按照那些統一的規格進行網頁製作的編碼...