孫俊麗
摘 要: 文章基于Web Service技術(shù),首先介紹了發(fā)展背景,概述了Web Service的體系結(jié)構(gòu),分析了Web Service的工作原理,最后總結(jié)了Web Service的優(yōu)點(diǎn),為今后深入發(fā)展奠定了基礎(chǔ)。
關(guān)鍵詞: Web Service 體系結(jié)構(gòu) 工作原理
1.Web Service簡介
Web服務(wù)(Web Service)是近年來發(fā)展起來的一項(xiàng)新技術(shù),是Microsoft公司.NET戰(zhàn)略的核心。從某個(gè)角度來講,Web服務(wù)就是一種集成工具,將不同種類的應(yīng)用程序、系統(tǒng)進(jìn)行集成以方便程序間的通信和交換數(shù)據(jù)等,它解決了分布式計(jì)算的問題,具有實(shí)時(shí)的互操作能力,目前已經(jīng)從概念推廣、基礎(chǔ)設(shè)施的構(gòu)建階段發(fā)展到大規(guī)模商業(yè)的應(yīng)用階段[1]。Web Service是由多個(gè)不同來源的Web服務(wù)構(gòu)成的應(yīng)用程序集成的平臺(tái),實(shí)質(zhì)上是一個(gè)分布式解決方案,用于創(chuàng)建開放分布式系統(tǒng)。
2.Web Service體系結(jié)構(gòu)
Web服務(wù)的體系結(jié)構(gòu)是一種用來實(shí)現(xiàn)異構(gòu)平臺(tái)間的互操作性以促進(jìn)跨平臺(tái)應(yīng)用程序間的通信和數(shù)據(jù)共享的分布式體系結(jié)構(gòu)。在這種體系結(jié)構(gòu)中,一個(gè)“請求者”應(yīng)用程序在Internet上使用通信協(xié)議HTTP并通過一個(gè)Web服務(wù)提供的應(yīng)用程序接口和一個(gè)注冊服務(wù)器UDDI(Universal Description,Discovery and Integration)搜索并定位“服務(wù)提供者”,其中,通信的參數(shù)由WSDL(Web Services Description Language,Web服務(wù)描述語言)確定,通過SOAP(Simple Object Access Protocol,簡單對象協(xié)議)訪問定位到Web服務(wù)。
Web服務(wù)體系結(jié)構(gòu)基于三種角色,角色之間通過三種基本操作進(jìn)行交互,三種基本操作對應(yīng)三種不同的標(biāo)準(zhǔn)。具體如下:
(1)三種角色
Service Asker:服務(wù)請求者,即客戶端應(yīng)用程序或服務(wù)。
Service Provider:服務(wù)提供者,定義服務(wù)的描述并發(fā)布服務(wù)。
Service Broker:服務(wù)代理者,服務(wù)請求者與服務(wù)提供者的中介,用來為服務(wù)請求者查詢服務(wù),為服務(wù)提供者發(fā)布服務(wù)。
(2)三種基本操作
Publish(發(fā)布):服務(wù)提供者創(chuàng)建服務(wù)的描述并發(fā)布到注冊服務(wù)器上,為服務(wù)請求者查找和調(diào)用服務(wù)提供方便。
Find(查找):服務(wù)請求者通過注冊服務(wù)器提供的接口查找合適的服務(wù)。
Bind(綁定):綁定服務(wù)提供者和服務(wù)請求者,體現(xiàn)了兩者間的“服務(wù)器-客戶”的關(guān)系。
(3)三種基本操作對應(yīng)的三種標(biāo)準(zhǔn)
SOAP:簡單對象訪問協(xié)議,對應(yīng)綁定操作。在查找到所需Web服務(wù)后,要調(diào)用該服務(wù)則要向Web服務(wù)發(fā)送消息。
WSDL:Web服務(wù)描述語言,對應(yīng)發(fā)布操作??梢院唵蔚卣J(rèn)為是一個(gè)用來描述和解釋服務(wù)信息的XML文檔。
UDDI:通用描述、發(fā)現(xiàn)和集成,對應(yīng)查找操作。UDDI是Web服務(wù)的信息注冊規(guī)范,提供了服務(wù)的注冊表,定義了一套基于Web Service的編程接口。
3.Web服務(wù)工作原理
Web服務(wù)在網(wǎng)絡(luò)上傳輸數(shù)據(jù)時(shí)采用HTTP及SOAP協(xié)議,其工作原理:Web服務(wù)客戶端應(yīng)用程序通過HTTP協(xié)議向Web服務(wù)器發(fā)送查找Web服務(wù)的請求,Web服務(wù)器接收到請求后在本地?cái)?shù)據(jù)庫中獲取相應(yīng)數(shù)據(jù),并把數(shù)據(jù)以XML格式返回給客戶端,客戶端對XML格式的數(shù)據(jù)進(jìn)行解析,從而獲取所需信息。
4.Web服務(wù)的主要優(yōu)點(diǎn)
Web服務(wù)具有Web和基于組件開發(fā)模型的所有優(yōu)點(diǎn),不但為使用Web服務(wù)的程序提供方便和好處,還給發(fā)布Web服務(wù)本身的程序帶來眾多好處。Web服務(wù)具備的主要優(yōu)點(diǎn)如下:
(1)良好的封裝性
Web服務(wù)與部署在Web環(huán)境上的傳統(tǒng)對象組件技術(shù)一樣,代表一個(gè)具有一定功能的黑盒子,具有完好的封裝性。
(2)語言及平臺(tái)無關(guān)性
Web服務(wù)獨(dú)立于任何開發(fā)語言及平臺(tái),采用任何編程語言或者任何平臺(tái)實(shí)現(xiàn)的應(yīng)用程序都可以通過Internet訪問Web服務(wù)。
(3)基于標(biāo)準(zhǔn)協(xié)議
Web服務(wù)是基于XML等Internet標(biāo)準(zhǔn)協(xié)議創(chuàng)建的應(yīng)用程序,外部用戶則通過SOAP等標(biāo)準(zhǔn)協(xié)議調(diào)用Web服務(wù)。
(4)松散耦合
當(dāng)Web服務(wù)在界面不更改的基礎(chǔ)上需要變更或遷移到其他平臺(tái)時(shí),外部用戶調(diào)用Web服務(wù)和在Web服務(wù)變更或遷移前一樣,Web服務(wù)的變更或遷移對外部用戶是透明的。
(5)通信安全
目前用于保護(hù)Web應(yīng)用程序的安全技術(shù)都可以用來Web服務(wù)的保護(hù)和Web服務(wù)身份的驗(yàn)證,Web服務(wù)的安全性和Web應(yīng)用程序相同,具有非常安全的使用方式。
本文基于Web Service技術(shù),簡單介紹了它的發(fā)展背景,詳細(xì)概括了Web Service的體系結(jié)構(gòu),分析了它的工作原理,最后總結(jié)了Web Service技術(shù)的優(yōu)點(diǎn),為這項(xiàng)新技術(shù)將來的深入研究奠定了基礎(chǔ)。
參考文獻(xiàn):
[1]蔡月茹,柳西玲.Web Service基礎(chǔ)教程[M].北京:清華大學(xué)出版社,2005.
[2]王飛,張來順,廖凱.Web Services動(dòng)態(tài)合成技術(shù)的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2009.
[3]顧寧,劉家茂,柴曉路.Web Services原理與研發(fā)實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2006.
[4]李雙斌,趙杉,常曉明.Web Service技術(shù)在中國數(shù)字科技館的應(yīng)用[J].科技導(dǎo)報(bào),2007.
[5]李艷霞,馮百明.基于Web Services的信息集成方案[J].計(jì)算機(jī)工程與設(shè)計(jì),2009.