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