前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇soap協(xié)議范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
關(guān)鍵詞:ONVIF Web 服務 gsoap 網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)
中圖分類號:TP277 文獻標識碼:A 文章編號:1007-9416(2013)06-0128-03
ONVIF致力于通過全球性的開放接口標準推進網(wǎng)絡(luò)視頻在安防市場的應用[1]。這一標準定義了網(wǎng)絡(luò)視頻設(shè)備之間信息交換的通用協(xié)議,使不同生產(chǎn)廠商的網(wǎng)絡(luò)視頻產(chǎn)品具有互通性。該協(xié)議是以Web Service為基礎(chǔ)的,目前WebService主要通過基于C/C++編程的gSOAP開源工具、基于C#的NET:sveutil.exe開發(fā)工具和采用JAVA語言的ApacheAXIS2這幾種編程工具來實現(xiàn)。不管是哪種編程語言,都已經(jīng)有相應的工具包來定制和Web服務。
考慮到gSOAP是一個快速應用程序開發(fā)(RAD)環(huán)境,因為該系統(tǒng)在利用C和C++開發(fā)Web服務和客戶端應用程序時很大程度地實現(xiàn)了自動化,在簡化Web服務的應用程序開發(fā)上具有一系列特征。本文將研究gSOAP工具包在基于ONVIF協(xié)議的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)中的應用。
1 gSOAP簡介
1.1 gSOAP工具包
gSOAP的工具包項目受到美國聯(lián)邦政府的研究和發(fā)展項目基金的資助[2],是一款開源的WebServices軟件。該工具包提供了一個SOAP/XML關(guān)于C/C++語言的實現(xiàn),一定程度上簡化了使用C/C++語言開發(fā)Web服務或客戶端程序的工作。gSOAP利用編譯器技術(shù)提供了一組透明化的SOAPAPI,并將與開發(fā)無關(guān)的SOAP實現(xiàn)細節(jié)相關(guān)的內(nèi)容對用戶隱藏起來,故對軟件開發(fā)者而言無需了解SOAP協(xié)議實現(xiàn)細節(jié)而只需調(diào)用這些API即可,因此非常方便。同時gSOAP能夠集成C/C++和Fortran代碼,跨越多個操作系統(tǒng)平臺和語言環(huán)境,使用范圍相當廣泛。該工具包分析WSDL語法和XML模式,并且把XML模式類型和SOAP傳遞協(xié)議映射到易于理解和使用的C/C++代碼。如果使用C++語言開發(fā)萬維網(wǎng)服務,還可以選擇是否支持C++的STL。
1.2 gSOAP技術(shù)
gSOAP是跨平臺的萬維網(wǎng)服務開發(fā)平臺,資源要求不高,它以XML文件形式請求遠程服務,再以XML文件的形式返回執(zhí)行結(jié)果。在gSOAP開發(fā)Web服務的方法的過程,通過使用gSOAP中的wsdl2h命令并根據(jù)輸入的WSDL文檔生成相應的頭文件,接著根據(jù)剛剛生成的gSOAP頭文件來運行g(shù)SOAP編譯器soap2cpp生成源代碼來實現(xiàn)客戶端應用程序框架,客戶端應用程序則可利用RPC存根和gSOAP通信模塊在網(wǎng)絡(luò)上觸發(fā)SOAP/XML服務函數(shù)。具體流程如圖1所示。
需要指出的是,上面客戶端開發(fā)中所使用的WSDL文檔實質(zhì)上是一個XML文檔,它用來描述一個Web服務的定義。
2 相關(guān)ONVIF模塊實現(xiàn)
基于ONVIF協(xié)議的網(wǎng)絡(luò)視頻監(jiān)控的網(wǎng)絡(luò)視頻接口方案,是基于Web服務框架,使用了WSDL網(wǎng)絡(luò)描述語言進行服務定義,XML語言對數(shù)據(jù)進行描述,并采用SOAP通信協(xié)議進行信息傳輸。其重點在于網(wǎng)絡(luò)視頻的發(fā)送端與網(wǎng)絡(luò)視頻接收端之間的接口,因而具有嚴格的執(zhí)行過程,確保了作為統(tǒng)一化通用接口的兼容性與可靠性。ONVIF規(guī)范的接口功能包含網(wǎng)絡(luò)服務框架、設(shè)備發(fā)現(xiàn)和管理、媒體服務和實時流傳輸、云臺控制等。
ONVIF的相關(guān)服務模塊,利用與其對應的WSDL文件來描述該服務。服務請求方可以利用該WSDL文件,通過gSOAP編譯工具wsdl2h和soapcpp2產(chǎn)生SOAP框架代碼。下面具體分析gSOAP對ONVIF規(guī)范下的媒體服務模塊的應用開發(fā)。
2.1 媒體服務
2.2 具體實現(xiàn)
根據(jù)ONVIF規(guī)范開發(fā)流程,可以在ONVIF官方網(wǎng)站下載相應的媒體服務相關(guān)的media.wsdl文件,該文件主要是用來描述與媒體服務相關(guān)的Web服務交互的消息格式、數(shù)據(jù)類型、操作、協(xié)議在程序設(shè)計中我們調(diào)用的SOAP系列函數(shù)是gSOAP提供的透明化的API,通過它們,可以設(shè)置SOAP環(huán)境,并進而通過遠程調(diào)用方法作為gSOAP交互模型的入口函數(shù),發(fā)送請求。在gSOAP交互模型中,主要遵循HTTP/HTTPS通信協(xié)議來完成開發(fā)人員的需求。
關(guān)鍵詞:Web服務;SOAP頭;身份驗證;ASP.NE;C#
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2009)04-0849-02
Authentication Technology of Web Services Based on SOAP Header
LU Shou-dong
(Department of Computer And Information Management, Guangxi University of Finance and Economics, Nanning 530003, China)
Abstract: This paper introduces the authentication technology of Web Services based on SOAP header, and explains its programming pattern under .NET plat through the concrete example.
Key words:Web Services; SOAP Header; Authentication; ; C#
Web服務(Web Services)是目前最為流行的應用于異構(gòu)環(huán)境的分布式組件開發(fā)技術(shù)。作為一種部署在Web上的可編程訪問的對象,如何確保其安全性是在具體應用中必須考慮的一個重要問題。為控制對Web服務的合法訪問,對服務使用者的身份進行驗證是很有必要的。本文主要介紹一種基于SOAP頭的Web服務身份驗證技術(shù),并通過具體示例說明其編程模式。
1 Web服務簡介
Web服務是一種通過網(wǎng)絡(luò)進行、發(fā)現(xiàn)、調(diào)用的自描述的服務器端軟件組件,其實現(xiàn)依賴于一系列的標準協(xié)議或規(guī)范(如圖1所示),包括HTTP、XML、SOAP、WSDL、UDDI等。簡言之,Web服務以XML與XML Schema為數(shù)據(jù)編碼格式與數(shù)據(jù)類型標準,使用WSDL進行描述,使用UDDI進行與發(fā)現(xiàn),使用SOAP進行訪問,并通過HTTP等進行傳輸。Web服務的上層核心標準都是基于XML的,具有優(yōu)異的跨平臺特性,這為Web服務在異構(gòu)平臺上進行系統(tǒng)的集成與交互提供了充分的保證。
2 SOAP協(xié)議概況
SOAP即簡單對象訪問協(xié)議(Simple Object Access Protocol),是一種基于XML的、簡單的、輕量級的通信協(xié)議,用于在客戶端與Web服務之間傳遞消息(包括請求消息與響應消息)。
SOAP協(xié)議使用XML描述消息。一個SOAP消息其實是一個XML文檔,包括Envelope(SOAP信封)、Header(SOAP頭)、Body(SOAP體)3個元素。其中,Envelope是整個SOAP消息的根元素,是必須的;Header是SOAP消息是可選元素,若存在,則必須是Envelope的第一個直接子元素;Body是SOAP消息必須有的元素,而且是Envelope的直接子元素,用于包含Web服務的調(diào)用信息(如所調(diào)用方法的名稱及有關(guān)參數(shù)等)或響應信息以及相關(guān)的錯誤信息。SOAP消息的結(jié)構(gòu)如圖2所示。
在SOAP消息中,SOAP體的使用是由SOAP協(xié)議規(guī)定,而SOAP頭的使用則較為靈活,可由用戶根據(jù)需要進行定制。通常,可在SOAP頭中添加一些條目,以包含具體應用所必須的重要信息(如賬戶信息、事務標識等),并據(jù)此實現(xiàn)相應的功能。
3 基于SOAP頭的身份驗證
通過在SOAP頭中添加適當?shù)尿炞C信息,并由Web服務的進行讀取與處理,即可實現(xiàn)對服務使用者的身份驗證。在此,以 Web服務為例,說明基于SOAP頭的Web服務身份驗證技術(shù)。
3.1 基本步驟
Web服務允許定義并處理SOAP頭條目,其基本步驟為:
1) 創(chuàng)建一個繼承自SoapHeader的類AuthSoapHeader,該類的名稱與公共成員變量即為SOAP頭條目元素的名稱與內(nèi)容子元素。
2) 在Web服務類中聲明一個AuthSoapHeader類的公共變量MyASH。
3) 為Web服務的有關(guān)方法應用SoapHeader屬性,并將其MemberName屬性設(shè)置為MyASH。
4) 在應用了SoapHeader屬性的Web服務方法中訪問MyASH的成員變量,并完成相應的處理過程。
相應地,在調(diào)用Web服務的客戶端,可通過以下基本步驟設(shè)置SOAP頭條目:
1) 創(chuàng)建一個Web服務的實例變量MyAService。
2) 創(chuàng)建一個AuthSoapHeader類的實例變量MyASHeader,并為其成員變量賦值。
3) 將MyASHeader賦給MyAService.AuthSoapHeaderValue(即設(shè)置SOAP頭條目),并調(diào)用Web服務的有關(guān)方法以完成相應的功能。
3.2 應用示例
如圖3所示,為一系統(tǒng)登錄表單,用于對系統(tǒng)用戶進行身份驗證,其驗證過程是通過調(diào)用Web服務完成的,而用戶名與密碼則通過SOAP 頭進行傳送。為簡單起見,該示例假定用戶名與密碼均非空串時即為合法。單擊“確定”按鈕后,若為合法用戶,則提示信息顯示為“Success”,否則為“Failure”。下面,簡述該示例的設(shè)計要點。
1) Web服務AuthService的設(shè)計
在Visual Studio .NET中使用 Web服務模板新建一個Visual C#項目AuthService,并將Service1.asmx重命名為Authentication.asmx,然后在Authentication.asmx.cs中編寫相應的代碼。關(guān)鍵代碼如下:
……
using System.Web.Services.Protocols;
namespace AuthService {
public class AuthSoapHeader : SoapHeader {
public string Username;
public string Password; }
[WebService(Namespace="/webservices")]
public class AuthService : System.Web.Services.WebService {
……
public AuthSoapHeader MyASH;
[WebMethod]
[SoapHeader("MyASH")]
public string AuthenticateUser() {
if (MyASH==null)
return "Failure!";
if (VerifyUser(MyASH.Username,MyASH.Password))
return "Success";
return "Failure"; }
private bool VerifyUser(string Username,string Password) {
if ((Username!="")&&(Password!=""))
return true;
return false;
} } }
2) 客戶端Login.aspx的設(shè)計
① 在Visual Studio .NET中使用 Web應用程序模板新建一個Visual C#項目AuthClient。
② 添加對Web服務AuthService的Web引用,并命名為Authentication。
③ 將WebForm1.aspx重命名為Login.aspx,同時設(shè)計好其界面(如圖3所示),主要包括用戶名文本框TB_Username、密碼文本框TB_Password、提示信息標簽L_Message與“確定”按鈕。
④ 為Login.aspx.cs添加功能代碼。
首先,引用命名空間AuthClient.Authentication:
using AuthClient.Authentication;
然后,編寫“確定”按鈕的單擊事件代碼:
AuthService MyAService=new AuthService();
AuthSoapHeader MyASHeader=new AuthSoapHeader();
MyASHeader.Username=TB_Username.Text;
MyASHeader.Password=TB_Password.Text;
MyAService.AuthSoapHeaderValue=MyASHeader;
L_Message.Text="提示信息:"+MyAService.AuthenticateUser()+".";
4 結(jié)束語
SOAP頭為Web服務及其客戶端之間關(guān)鍵數(shù)據(jù)的傳遞提供了一種靈活且有效的途徑,有利于實現(xiàn)身份驗證、事務處理等特殊功能。文中所述,即為利用SOAP頭對Web服務使用者進行身份驗證的關(guān)鍵技術(shù)與與典型模式。
參考文獻:
[關(guān)鍵詞]Web Service;SOAP消息;WSDL
中圖分類號:TM743 文獻標識碼:A 文章編號:1009-914X(2016)08-0317-01
1.緒論
隨著互聯(lián)網(wǎng)絡(luò)的廣泛應用和發(fā)展,特別是.NET技術(shù)的升溫和市場的日漸成熟,微軟公司的.NET框架和SUN公司的J2EE框架均可作為開發(fā)平臺和工具。只有少數(shù)有實力的公司具備開發(fā)兩套獨立的產(chǎn)品的實力,以滿足不同的客戶需求。更多的廠商則希望自己開發(fā)的產(chǎn)品能相互移植,并能更容易的與其他有需要的業(yè)務系統(tǒng)接口。
Web Service[1]的出現(xiàn)在一定程度上實現(xiàn)了上述所需要的功能。狹義的說:Web Service就是XML與HTTP相結(jié)合。HTTP是一個在Internet上廣泛使用的協(xié)議。XML[2]是一種元語言,你可以用它書寫特定的語言來描述客戶和服務之間或者組件和復雜服務之間的交互。在通過Web Service之后,XML格式的消息被轉(zhuǎn)變成中間件的請求,返回的結(jié)果也會轉(zhuǎn)化成XML格式。
可見Web Service并不是一種新的技術(shù),它是將 XML、Internet等網(wǎng)絡(luò)軟件技術(shù)有機結(jié)合后,所產(chǎn)生的一種新的web應用程序分支。它是一種包括自包含、自描述、模塊化的應用,可以、定位、通過web調(diào)用。它可以執(zhí)行從簡單的請求到復雜商務處理的任何功能,一旦部署以后,其他Web Service應用程序就可以發(fā)現(xiàn)并調(diào)用它部署的服務。
2.Web Service 結(jié)構(gòu)分解
因此,可以從兩個角度分解 Web Service 結(jié)構(gòu):
1、 從每個單獨的Web Service 使用者的角度:
服務的請求者:即任意 Web Service 的消費者,通過網(wǎng)絡(luò)連接和發(fā)送XML 請求使用一個實際可用的Web Service。
服務的提供者:負責維護Web Service和提供相應的服務。
服務注冊中心:即一個Web Service的“黃頁”,使提供者可以新的服務,請求者可以找到需要的服務。
2、 從Web Service協(xié)議層的角度
Web Service的協(xié)議層仍在不斷發(fā)展中。當前,一般將其分為4層
傳輸層:該層位于協(xié)議堆棧的最底層,主要負責在應用程序間傳輸信息。當前該層使用包括 HTTP、FTP、SMTP 協(xié)議在內(nèi)的多種傳統(tǒng)網(wǎng)絡(luò)傳輸協(xié)議。
XML 消息層:該層負責將信息編碼為通用XML格式,當前該層使用XML-RPC、SOAP(簡單對象訪問協(xié)議)。
服務描述層:該層負責描述指定Web Service的公用接口,當前該層使用 WSDL(Web Service Description Language,Web 服務描述語言)。
查找發(fā)現(xiàn)層:該層負責將Web Service集中到一個公用的注冊中心,相當于一個Web Service
的“黃頁”,并提供和查找功能,當前使用 UDDI(Universal Description,Discovery, and Integration,統(tǒng)一描述、發(fā)現(xiàn)和集成)。
不難看出,Web Service是建立在一些通用協(xié)議的基礎(chǔ)上,如HTTP、SOAP、XML、XML-RPC、WSDL、UDDI等。這些協(xié)議在涉及到操作系統(tǒng)、對象模型和編程語言的選擇時,沒有明顯的傾向,因此將會有較強的生命力。
3.SOAP
SOAP,簡單對象訪問協(xié)議[3]:用于分散或分布的環(huán)境中交換信息的簡單的協(xié)議,它是一個基于XML的協(xié)議,通過 XML Schema 定義了傳遞數(shù)據(jù)時的統(tǒng)一方式。包括三個部分:
1、 描述消息中包含什么內(nèi)容以及如何處理它們。
2、 用于表示應用程序數(shù)據(jù)類型的編碼規(guī)則,主要使用 XML Schema 數(shù)據(jù)類型,并添加了 Array 和Struct,用于表示復雜的數(shù)據(jù)結(jié)構(gòu)。
3、 表示 Request和 Response的協(xié)定。
Envelope:是每個 SOAP 消息的根元素。
Header:可選的Header 元素提供了一個可擴展的框架用于定義應用程序所需的額外信息。
Body:Body 元素是所有 SOAP 消息所必須的,一個典型的 Body 元素包含 RPC 請求和響應。
Fault:當發(fā)生錯誤時,Body元素將包括一個 Fault 元素,包含了該錯誤的所有詳細信息。
WSDL,Web 服務描述語言
UDDI(Universal Description, Discovery, and Integration,統(tǒng)一描述、發(fā)現(xiàn)和集成):
Web服務描述語言 (WSDL) 使用XML語法,用來描述一個Web Service能做什么,它的位置在哪里,如何調(diào)用它等等。當在以SOAP/HTTP/MIME作為遠程對象調(diào)用機制的情況下,WSDL會發(fā)揮其最大作用[4]。
UDDI則描述了Web Service的絕大多數(shù)方面,包括服務綁定等細節(jié)。因此,WSDL可以看作是UDDI服務描述的子集。
4.結(jié)論與展望
當前的 Web Service 仍然不很成熟,主要表現(xiàn)在以下幾個方面:
1、 由于Web Service的基礎(chǔ)是 XML,SOAP、WSDL、XML-RPC、UDDI 都是通過 XML作為元語言定義的。但是XML定義仍不統(tǒng)一,雖然 W3C 在2001 年 XML Schema,用于代替 DTDs,但微軟也拋出了自己的XML 定義模式-“XDR”。而且 DTDs 也還有一定的市場,所以對于“跨平臺使用”,這個 Web Service 最大的優(yōu)勢,有所制約。
2、 Web Service本身不提供加密機制,這對使用者的安全性是一個巨大的挑戰(zhàn)。而使用SSL機制加密,則對性能有很大的影響,保守估計下降 20%-30%。
瑕不掩瑜,作為 Internet的一個革命性進步,Web服務必將開創(chuàng)一個分布式應用程序開發(fā)的新時代。
參考文獻
[1] 王建斌,胡小生,李康君, 趙靚,REST風格和基于SOAP的Web Services的比較與結(jié)合 [J],計算機應用與軟件,2010,27(9):298-300
[2] 周軍鋒,孟小峰,XML關(guān)鍵字查詢處理研究[J],計算機學報 , 2012,35(12):2459-2478
關(guān)鍵詞:分布式計算;XML Web Service;SOAP、WSDL;UDDI
Abstract: with the development of geographic information system and the popularization, cannot be confined to a single geographic information system server mode, can only be updated by the server system. Distributed network geographic information system spatial data storage server can be in multiple sites, the server through the analysis of the client request, determining the user required data location, access to the corresponding data back to the client.
Key words: distributed computing; XML Web Service; SOAP, WSDL; UDDI
中圖分類號:TP338.8文獻標識碼:A 文章編號:2095-2104(2012)
地理信息系統(tǒng)是土地管理和分析空間數(shù)據(jù)的應用工程技術(shù)。近年來,地理信息系統(tǒng)發(fā)展迅速,已經(jīng)不滿足于集中式計算模式,桌面系統(tǒng)在數(shù)據(jù)共享和信息交換的模式。需要更廣義的應用模式來完善地理信息系統(tǒng)。
分布式計算是指在獨立的計算機的集合系統(tǒng)中通過網(wǎng)絡(luò)通信來開發(fā)、部署、管理和維護以資源共享和協(xié)同工作為主要應用目標的分布式應用系統(tǒng)[9]。其目的在于改進傳統(tǒng)的集中式計算模式。分布式計算在性價比、伸縮性、安全性等很多方面相對于集中式計算模式都有很大優(yōu)勢,比桌面系統(tǒng)在數(shù)據(jù)共享和信息交流方面也體現(xiàn)出極大的優(yōu)勢。
分布式計算模式與網(wǎng)絡(luò)地理信息系統(tǒng)相結(jié)合,改善了用戶只能通過瀏覽器訪問單一的地理信息系統(tǒng)服務器的方式,可以將空間數(shù)據(jù)存儲在多個站點上,服務器通過分析客戶端請求,確定用戶需要的數(shù)據(jù)位置,獲得相應的數(shù)據(jù)返回給客戶端。分布式網(wǎng)絡(luò)地理信息系統(tǒng)的服務器端必須是一個網(wǎng)絡(luò),通過系統(tǒng)中的數(shù)據(jù)分布特征和針對其中數(shù)據(jù)處理的計算特征而分類,其目的是實現(xiàn)空間數(shù)據(jù)互操作和空間計算功能共享。
XML Web Service(eXtensible Markup Language Web Service,可擴展標記語言的Web服務)是分布式計算模式的重大變革。XML為計算機之間和應用程序之間提供了用于數(shù)據(jù)采集和傳輸?shù)慕y(tǒng)一數(shù)據(jù)格式,XML Web Service是Internet級別分布式計算環(huán)境的基本程序模塊,其最大特點是基于標準開放網(wǎng)絡(luò)協(xié)議進行程序間的通訊和協(xié)作。由于XML Web Service是同構(gòu)/異構(gòu)應用程序集成平臺,應用程序可以集成多個不同來源的XML Web Service,這些服務協(xié)同工作,不需要知道XML Web Service的實現(xiàn)技術(shù)、運行平臺和服務所處位的,就可以構(gòu)建一定業(yè)務操作的服務。XML Web Service的最大優(yōu)點是允許在不同的平臺上用不同語言編寫各種程序以實現(xiàn)基于標準的方式相互通信。
SOAP(Simple Object Access Protocol ,簡單對象訪問協(xié)議)是XML Web Service的標準通信協(xié)議,用來規(guī)范XML格式,其規(guī)范的其他程序,比如將程序數(shù)據(jù)表示為XML,以及如何使用SOAP進行遠程過程調(diào)用,這些可選的規(guī)范部分用于實現(xiàn)RPC(Remote Procedure Call,遠程過程調(diào)用)形式的應用程序。SOAP規(guī)范的最后一個可選部分定義了包含SOAP消息的HTTP消息的樣式,該部分雖然可選,但幾乎所有的SOAP實現(xiàn)方案都支持HTTP綁定,它是SOAP的唯一標準協(xié)議,也是Web的核心協(xié)議。HTTP的普及和SOAP的簡單性是XML Web Service的理想基礎(chǔ)。
WSDL(Web Service Description Language)是一個XML文檔,是XML Web Service的接口描述語言,用于說明一組SOAP消息以及如何交換這些消息,還定義了服務的位置以及使用什么通信協(xié)議與服務進行通信。
UDDI(Universal Description,Discovery,and Intergration,統(tǒng)一描述、發(fā)現(xiàn)和集成)是Web服務的黃頁,UDDI目錄條目是介紹提供的業(yè)務和服務的XML文件,其服務的類型是通過一個成為類模型的UDDI文檔來完成的,多數(shù)情況下,類模型包括一個WSDL文件,用于說明訪問XML Web Service的SOAP接口,該模型非常靈活,可以用于說明幾乎所有類型的服務。UDDL還包括很多種方法,可用于搜索構(gòu)建應用程序所需要的服務。
參考文獻
[1]鄔倫,劉瑜,張晶等.地理信息系統(tǒng)原理方法和應用[M].科學出版社.2007.
關(guān)鍵詞:Web Services 供應鏈 SOAP XML WDSL
中圖分類號:G71 文獻標識碼:A 文章編號:1672-3791(2013)04(c)-0001-02
隨著市場競爭的日益激烈、顧客需求的不斷變化,企業(yè)但憑自身的有限資源難以在市場中獲得競爭優(yōu)勢,企業(yè)之間的競爭逐漸演化為企業(yè)所處供應鏈之間的競爭。供應鏈是圍繞核心企業(yè),通過對信息流、物流、資金流等各種流的管理與控制,原材料的供應開始,經(jīng)過產(chǎn)品的制造、分配、遞送、消費等過程中將供應商、制造商、分銷商、零售商直至最終客戶聯(lián)成一個整體的功能網(wǎng)鏈的結(jié)構(gòu)模式[1~3]。供應鏈是企業(yè)之間為了共同的市場利益而結(jié)成的戰(zhàn)略聯(lián)盟,核心企業(yè)利用各個盟友的核心資源優(yōu)勢,迅速提升企業(yè)的綜合能力。
供應鏈具有明顯的動態(tài)性,供應鏈中的節(jié)點企業(yè)隨市場需求的變化及時更新。如何在分布的企業(yè)中有效地尋找最合適的盟友,實現(xiàn)供應鏈的動態(tài)重組與控制是供應鏈組鏈的首要任務。其次由于供應鏈上各節(jié)點企業(yè)的資源具有分布性、異構(gòu)性和不確定性的特點,資源的有效集成難以實現(xiàn)。Web Service技術(shù)是Web應用的前沿技術(shù),適用于分布式異構(gòu)系統(tǒng)的集成,本文提出了基于Web Service的動態(tài)供應鏈集成模式[4]。
1 Web Service技術(shù)及實施模式
1.1 Web Service含義及技術(shù)內(nèi)容
Web Service是能夠獨立實現(xiàn)某些功能的模塊化Web服務程序[5~6]。它的基本思想是把軟件當作一種服務。Web Services后,其他應用軟件或Web Services可以通過Internet來訪問并使用該服務。Web Services的內(nèi)核由服務程序或功能組件(如:COM、DCOM、CORBA、EJB、RMI-IIOP等)組成,服務程序和功能組件決定了Web Services的功能,Web Services的創(chuàng)建過程是通過配置WSDL文件,用SOAP協(xié)議把異構(gòu)的服務程序或功能組件封裝成Web Services[7]。Web Services的結(jié)構(gòu)如圖1所示。
Web Service的技術(shù)支持如下。
(1)以XML為基礎(chǔ)語言把數(shù)據(jù)序列轉(zhuǎn)化成一個可以傳遞的形式,使得它能夠在任何平臺上被解碼。
(2)運用SOAP協(xié)議實現(xiàn)通信。SOAP以HTTP為底層通訊協(xié)議,把對象間的訪問請求和響應都打包成符合規(guī)范的XML文檔,在對象間傳遞。
(3)采用標準的WSDL(Web Services Description Language)描述服務和接口的說明信息,WDSL文檔描述Web Services所的服務內(nèi)容及Web Services提供的每個方法的返回類型、名稱、傳遞參數(shù)類型等。
(4)通過UDDI(Universal Description,Discovery,Integration)、請求服務。服務提供方通過在一個或者多個UDDI注冊中心注冊服務,服務請求者可以到一個或者多個UDDI注冊中心查詢所需要的服務。
1.2 Web Service實施模式
Web Services的體系結(jié)構(gòu)基于服務提供者、服務者(UDDI注冊中心)和服務請求者三種角色之間的交互,交互過程如圖2所示。
(1)Web Services的提供者按照UDDI的規(guī)范,把WSDL文檔注冊到UDDI服務中心,并保持注冊信息的動態(tài)更新。UDDI對注冊服務進行分類,并提供搜索服務,同時向服務提供方反饋注冊狀態(tài)。(2)服務需求者登陸UDDI中心,根據(jù)需求查詢對應服務,獲取它們的WSDL文檔。(3)服務需求方根據(jù)在UDDI中獲得的WSDL文檔直接向服務提供方發(fā)送服務請求命令,服務提供方按命令提供相應的服務。
2 基于Web Services的動態(tài)供應鏈組鏈模型
動態(tài)供應鏈強調(diào)快速響應市場變化,當某一核心企業(yè)獲得市場機遇,立即尋找合作伙伴組鏈,共同完成產(chǎn)品的設(shè)計、原材料采購、制造、銷售等,當某個企業(yè)完成任務后便解鏈離開,當遇到新的問題是核心企業(yè)再尋找新的伙伴組鏈;其實質(zhì)是發(fā)揮企業(yè)各自的核心競爭力,把自己不擅長的業(yè)務外包,或與盟友協(xié)作共同完成。然而由于供應商、制造商、銷售商在具有分布性、異構(gòu)性和不確定性,盟友的合理、快速的選擇是組建動態(tài)供應鏈的核心問題。基于Web Services技術(shù)的組鏈有兩個過程。
(1)首先,供應鏈上的各個企業(yè)把自己的核心業(yè)務范圍描述成WSDL文檔,并在供應鏈UDDI中心注冊。UDDI保存各個注冊企業(yè)的WSDL描述文檔,并向外,過程如圖3所示。
(2)當某個核心企業(yè)獲得市場機遇需要與其他企業(yè)合作組建供應鏈時,便登陸供應鏈UDDI注冊中心尋找匹配的盟友,獲得他們的WSDL描述文檔。根據(jù)WSDL的描述與盟友進行信息通訊、業(yè)務合作,形成供應鏈,如圖4所示。
3 基于Web Services的動態(tài)供應鏈資源集成
動態(tài)供應鏈的集成是通過各個Web Services之間的信息傳遞來實現(xiàn)的。核心企業(yè)對Web Services的調(diào)用是通過SOAP消息方式實現(xiàn)的,SOAP協(xié)議的執(zhí)行而不依賴于某種專用的組件技術(shù)或?qū)ο笳{(diào)用約定。無須考慮Web Services具體使用的編程語言以及其內(nèi)部使用的分布式組件結(jié)構(gòu)。工作原理如圖5所示。
(1)核心企業(yè)用客戶程序創(chuàng)建一個調(diào)用Web Services的SOAP消息,消息包含進行服務調(diào)用必須的信息和XML格式的消息載荷,消息載荷是用于資源信息轉(zhuǎn)換的XML文件。SOAP協(xié)議與HTTP協(xié)議綁定,SOAP消息通過HTTP協(xié)議在網(wǎng)上送出。
(2)基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)將消息送到服務提供方的SOAP消息服務器上,消息服務器由消息監(jiān)聽器和消息路由器組成。
(3)消息服務器上的監(jiān)聽器收到此消息后,交由SOAP路由器處理決定轉(zhuǎn)發(fā)至負荷請求調(diào)用要求的Web Services。
(4)由Web Services功能組件處理后將結(jié)果封裝成SOAP消息返回給核心企業(yè)。
(5)核心企業(yè)接收到響應后解析出處理結(jié)果,再返回給實際的業(yè)務需求程序。
4 結(jié)論
We Services是多項技術(shù)共同發(fā)展的結(jié)果,涉及到分布式計算、組件技術(shù)、網(wǎng)絡(luò)通信、XML、Web和中間件等等。它提出了一種新的面向服務的體系結(jié)構(gòu),為企業(yè)資源的集成與共享提供了一個方便有效的途徑。本文把Web Services技術(shù)運用于企業(yè)動態(tài)供應鏈的快速組建、敏捷重構(gòu)于控制,從而迅速提升企業(yè)的綜合能力,提高響應市場變化的能力。當然隨著Web Services技術(shù)的發(fā)展,它將會在動態(tài)供應鏈的資源集成中發(fā)揮更大的作用。
參考文獻
[1] 宋庭新,黃必清,熊健民,等.語義Web服務在業(yè)務協(xié)同與供應鏈集成中的應用[J].中國機械工程,2008,19(4):410-413.
[2] Mose M, Seshadri S. Policy mechanisms for supply chain co-ordination. IIE Transactions,2000,32:245-262.
[3] Guide JVDR, Luk N, Van W. The Reverse Supply Chain, Harvard Business Review,2002,80(2):25-26.
[4] 王彥麗,陳明,陳峰,等.基于Web Services企業(yè)應用集成的設(shè)計與分析[J].計算機技術(shù)與發(fā)展,2008,18(9):212-215.
[5] 鞠彥輝.基于Web Services技術(shù)的企業(yè)信息集成系統(tǒng)架構(gòu)研究[J].中國管理信息化,2007,10(2):39-41.