所謂Web服務(wù),是指企業(yè)為滿足其特殊業(yè)務(wù)需要而發(fā)布的在線應(yīng)用服務(wù),其他網(wǎng)站建設(shè)公司或應(yīng)用軟件可以通過Internet訪問和使用該在線服務(wù)。
Web服務(wù)有多種定義,其核心是面向服務(wù)的體系結(jié)構(gòu)(Service Oriented Architecture,SOA),即通過完整的接口實現(xiàn)對應(yīng)用程序的遠程訪問。通過提供簡單和普遍適用的標準,Web 服務(wù)可以作為信息系統(tǒng)集成和系統(tǒng)間自動信息交換的基礎(chǔ)。
從技術(shù)角度看,Web服務(wù)是一種可以用來解決應(yīng)用程序跨網(wǎng)絡(luò)集成問題的開發(fā)模型。該模型為實現(xiàn)“軟件即服務(wù)(SaaS)”提供了7大技術(shù)保障。 “軟件即服務(wù)”本質(zhì)上是一種提供軟件服務(wù)的機制。這種機制可以在網(wǎng)絡(luò)上提供可編程的接口,通過這些接口共享站點已經(jīng)開放的功能。1. Web服務(wù)的體系結(jié)構(gòu)
Web服務(wù)的體系結(jié)構(gòu)如圖6-27所示,其中服務(wù)提供者(服務(wù)器)和服務(wù)請求者(客戶端)是必需的,服務(wù)注冊中心是可選角色。
服務(wù)提供者是Web服務(wù)的所有者,如企業(yè)、ICP(Internet Content Provider,互聯(lián)網(wǎng)內(nèi)容提供商)等。該角色負責定義和實現(xiàn)Web服務(wù),并使用服務(wù)描述語言來描述Web服務(wù)詳細、準確、規(guī)范,并將描述發(fā)布到服務(wù)注冊中心,供服務(wù)請求者查找和綁定。
服務(wù)請求者是Web 服務(wù)的消費者。雖然Web服務(wù)是面向程序的,但程序的最終用戶仍然是企業(yè)或用戶。因此,服務(wù)請求者是查找、綁定和調(diào)用服務(wù)或與服務(wù)交互的應(yīng)用程序。這個角色可以由瀏覽器扮演,也可以由人或程序控制。
服務(wù)注冊中心是服務(wù)提供者和服務(wù)請求者之間的紐帶。在某些情況下,此角色是可選的。例如,使用靜態(tài)綁定的Web 服務(wù),服務(wù)提供者可以將描述直接發(fā)送給服務(wù)請求者。如果沒有服務(wù)注冊中心,服務(wù)請求者可以從其他來源獲取服務(wù)描述,如文件、FTP站點、Web站點等。
Web服務(wù)模型中的操作包括以下三種類型:發(fā)布服務(wù)描述、搜索服務(wù)描述、根據(jù)服務(wù)描述綁定或調(diào)用服務(wù)。2. Web服務(wù)的技術(shù)平臺
Web服務(wù)平臺由支持Web服務(wù)的基礎(chǔ)技術(shù)和協(xié)議組成,主要有HTTP、XML、SOAP、UDDI、WSDL、WSIF、WSFL等。它們構(gòu)成了T 用于發(fā)現(xiàn)和調(diào)用由單個Web 服務(wù)提供的功能的標準機制的基礎(chǔ)。 Web服務(wù)棧用層次結(jié)構(gòu)表示,高層建立在低層的基礎(chǔ)上,如圖6-28所示。 (1)HTTP
超文本傳輸協(xié)議(HTTP) 是Internet 上使用最廣泛的網(wǎng)絡(luò)協(xié)議。所有www 文件都必須遵守此標準。 HTTP 最初旨在提供一種發(fā)布和接收HTML 頁面的方式。
(2) XML
XML(Extensible Markup Language)是一種可擴展標記語言。與HTML 一樣,它基于SGML(標準通用標記語言)。 XML 是一種數(shù)據(jù)存儲語言,它使用一系列簡單的標記來描述數(shù)據(jù)。 XML是Internet環(huán)境下跨平臺、內(nèi)容依賴的技術(shù),是目前處理結(jié)構(gòu)化文檔信息的有力工具。 (3) 香皂
SOAP 是目前被廣泛接受的消息傳輸協(xié)議。它是一種為信息交換而設(shè)計的輕量級協(xié)議,用于在網(wǎng)絡(luò)應(yīng)用程序之間交換結(jié)構(gòu)化數(shù)據(jù),是一種基于XML的機制。 SOAP主要提供在分布式、去中心化環(huán)境下跨互聯(lián)網(wǎng)調(diào)用服務(wù)的框架結(jié)構(gòu),提供獨立于編程語言和分布式對象底層基礎(chǔ)設(shè)施的跨平臺集成機制。
(4) WSDL
Web服務(wù)的接口由基于XML的WSDL定義,它提供了應(yīng)用程序訪問指定Web服務(wù)所必需的所有信息,描述了該服務(wù)提供了哪些功能、服務(wù)位于何處以及如何調(diào)用服務(wù).
WSDL 以XML 格式描述Web 服務(wù),將服務(wù)描述為一組端點,這些端點對包含面向過程或面向文檔的信息的消息進行操作。操作和消息被抽象描述,然后綁定到具體的網(wǎng)絡(luò)協(xié)議和消息格式以定義端點。相關(guān)的具體端點被組合成抽象端點(服務(wù))。 WSDL 是可擴展的,允許描述任何端點和
消息,而不考慮通信使用的消息格式或網(wǎng)絡(luò)協(xié)議。Web服務(wù)的目標之一是允許應(yīng)用程序以標準的方式在兩個或多個同等的服務(wù)之間進行選擇,因為有時應(yīng)用可以由作為支持網(wǎng)絡(luò)的服務(wù)而實現(xiàn)的構(gòu)件構(gòu)造而成,甚至可以從這些服務(wù)中進行動態(tài)選擇。服務(wù)描述層定義了為程序提供足夠信息所需的描述機制,使程序能夠根據(jù)一定的準則選擇服務(wù),如服務(wù)的質(zhì)量、安全性、可靠性等。
(5) UDDI
面對極為豐富的服務(wù),最常出現(xiàn)的問題是“在哪里以及如何找到需要的信息?"UDDI規(guī)范在底層協(xié)議的基礎(chǔ)上又定義了一層。在這一層,不同的企業(yè)能夠以相同的方式描述自己提供的服務(wù)和查詢對方提供的服務(wù)。
UDDI是一套基于Web的、分布式的、為Web服務(wù)提供的信息注冊中心實現(xiàn)標準規(guī)范,同時也包含一組使企業(yè)能將自身提供的Web服務(wù)注冊以使別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實現(xiàn)標準。
3.實施Web服務(wù)的領(lǐng)域
綜合當前的Web應(yīng)用以及Web服務(wù)的特點,實施Web服務(wù)的領(lǐng)域可以分為以下四類。
(1)面向企業(yè)業(yè)務(wù)領(lǐng)域的Web服務(wù)(Business-Oriented Web Service)。該類服務(wù)針對的是那些面向企業(yè)應(yīng)用服務(wù),包括企業(yè)內(nèi)部的ERP系統(tǒng)、企業(yè)間的SCM/CRM等系統(tǒng)。當這些系統(tǒng)以Web服務(wù)的形式在網(wǎng)絡(luò)中出現(xiàn)時,企業(yè)內(nèi)的應(yīng)用集成將更容易。眾多企業(yè)合作伙伴間的系統(tǒng)對接也成為可能。
(2)面向客戶的Web服務(wù)(Consumer-Oriented Web Service)。此類服務(wù)針對的是那些原先的B2C網(wǎng)站的改造,為這些基于瀏覽器的Web應(yīng)用增加了Web服務(wù)的應(yīng)用界面,使得第三方的桌面工具或其自身提供的桌面工具能夠利用更優(yōu)秀的用戶界面,來提供跨越多個B2C服務(wù)的桌面服務(wù),這將使得用戶使用互聯(lián)網(wǎng)更為方便,能夠獲得更加便捷的服務(wù).例如,人們完全可以在個人理財桌面系統(tǒng)中集成(調(diào)用)互聯(lián)網(wǎng)上的股票價格查詢Web服務(wù)、機票預(yù)定Web服務(wù)等,使得個人理財應(yīng)用系統(tǒng)的自動化程度更高。
(3)面向設(shè)備的Web服務(wù)(Device-Oriented Web Service).此類服務(wù)的使用終端一般是手持設(shè)備和日用家電,對于前者而言,可以在不用修改網(wǎng)絡(luò)服務(wù)體系架構(gòu)的前提下,讓先前的網(wǎng)絡(luò)服務(wù)能夠支持PC以外的其他各種終端,如Palm,Pocket PC、手機等。這樣一來,諸如天氣預(yù)報服務(wù)、E-mail服務(wù)、主動信息服務(wù)等將變得更為有效和便捷。而對于日用家電,則可能是一個市場的啟動期,有了Web服務(wù)作為基礎(chǔ)框架,智能型的日用家電將真正獲得標準的支持,從而有了廣泛使用的可能。
(4)面向系統(tǒng)的Web服務(wù)(System-Oriented Web Service)。一些傳統(tǒng)意義上的系統(tǒng)服務(wù),如用戶權(quán)限認證、系統(tǒng)監(jiān)控等,如果被遷移到全球范圍的互聯(lián)網(wǎng)上,或者企業(yè)內(nèi)部的Intranet上,其作用范圍將從單個系統(tǒng)或局部網(wǎng)絡(luò)拓展到整個企業(yè)網(wǎng)絡(luò)或整個互聯(lián)網(wǎng).因此,基于同一系統(tǒng)服務(wù)的不同應(yīng)用將得以在整個互聯(lián)網(wǎng)環(huán)境中部署,例如跨國企業(yè)的所有在線服務(wù)可以使用同一個用戶權(quán)限認證Web服務(wù)。
Web服務(wù)不僅在信息系統(tǒng)間提供了一種新的通信方式,而且還帶來了針對軟件組件的全新思維方式。在一個系統(tǒng)上所使用的服務(wù)將演變成為可在其他系統(tǒng)上重復(fù)使用的組件。充分利用現(xiàn)有信息系統(tǒng)中的功能,并將它們轉(zhuǎn)變成可以以全新組合方式重復(fù)使用的組件,能夠顯著降低新應(yīng)用的構(gòu)建成本。
我們專注高端建站,小程序開發(fā)、軟件系統(tǒng)定制開發(fā)、BUG修復(fù)、物聯(lián)網(wǎng)開發(fā)、各類API接口對接開發(fā)等。十余年開發(fā)經(jīng)驗,每一個項目承諾做到滿意為止,多一次對比,一定讓您多一份收獲!