Web服務(wù)技術(shù)標準與規(guī)范



《Web服務(wù)技術(shù)標準與規(guī)范》由會員分享,可在線閱讀,更多相關(guān)《Web服務(wù)技術(shù)標準與規(guī)范(10頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第十講 Web服務(wù)技術(shù)標準與規(guī)范 所謂Web服務(wù)(Web Services)是指由企業(yè)發(fā)布的完成其特別商務(wù)需求的在線應(yīng)用服務(wù),其它公司或應(yīng)用軟件能夠通過Internet來訪問并使用這項在線服務(wù)。Web服務(wù)技術(shù)促進了Internet上企業(yè)之間的協(xié)作,使用Web服務(wù)可以使合作伙伴的信息系統(tǒng)之間更容易地進行通信。但隨之而來的問題是:如何集成來自不同企業(yè)的服務(wù)?為了使Web服務(wù)易于使用,眾多組織已經(jīng)致力于Web服務(wù)技術(shù),進行標準協(xié)議的制定,提供Web服務(wù)的創(chuàng)建工具和解決方案。 本講將以Web服務(wù)棧為中心介紹Web服務(wù)技術(shù)涉及的一些關(guān)鍵標準和規(guī)范,如SOAP、WSDL、UDDI等。Web服務(wù)標準本身
2、是不斷發(fā)展變化的,文中著重介紹目前被普遍接受的底層標準,并對還需要進行標準化的領(lǐng)域進行簡單的討論。 1.Web服務(wù) Web服務(wù)是可以在組織內(nèi)部或者公司之間的異構(gòu)計算資源中被共享、組合、使用和復(fù)用的商業(yè)資產(chǎn)。Web服務(wù)是一個可編程的部件,它提供一種易于通過Internet獲取的商業(yè)服務(wù)。Web服務(wù)可以是獨立的,也可以連接在一起向外部世界提供更強大的系統(tǒng)功能。 Web服務(wù)將逐漸成為構(gòu)建電子商務(wù)應(yīng)用的基礎(chǔ)體系結(jié)構(gòu)?;赪eb服務(wù)的體系結(jié)構(gòu)是從一個分布式面向?qū)ο蟛考南到y(tǒng)向一個服務(wù)網(wǎng)絡(luò)的邏輯演進,該服務(wù)網(wǎng)絡(luò)提供一個能夠跨企業(yè)集成的松散耦合的底層基礎(chǔ)結(jié)構(gòu)。 Web服務(wù)是基于Internet的模塊
3、化應(yīng)用,它們執(zhí)行特定的商業(yè)任務(wù)并遵循特定的技術(shù)格式。如果應(yīng)用中的某過程可以在Internet上以一種標準格式被調(diào)用,稱之為Web服務(wù)的服務(wù)器;類似的,如果通過Internet調(diào)用本應(yīng)用以外的某過程,則是Web服務(wù)的客戶。因此,實質(zhì)上Web服務(wù)是Internet上應(yīng)用之間的客戶服務(wù)器,目的是實現(xiàn)B2B伙伴之間的個性化信息交換,并以一種易用的格式提供和發(fā)布應(yīng)用模塊。為了實現(xiàn)這種開放工作,必須要有標準的格式和方法。 幾乎所有的主流技術(shù)公司都已相繼涉足Web服務(wù)的標準化工作,參與了各種標準化組織。當前,最主要的標準化組織是W3C(World Wide Web Consortium)。其它組織也做了大
4、量的工作,如UDDI.org,OASIS,UN/CEFACT,BPMI.org,以及ebXML.org等。 Web服務(wù)棧(Web Services Stack) Web服務(wù)不同于已有的構(gòu)件對象模型以及相關(guān)的對象模型協(xié)議,如CORBA和IIOP(Internet Inter-ORB Protocol)、COM和DCOM以及Java和RMI(Remote Method Invocation)。Web服務(wù)可以用任何語言編寫,并且可以使用HTTP訪問。從技術(shù)上看,一個Web服務(wù)是一個由內(nèi)容、應(yīng)用代碼、過程邏輯、或者這些部分的任意組合所構(gòu)成的XML對象,并且可以通過任何TCP/IP網(wǎng)絡(luò)訪問,只要網(wǎng)絡(luò)
5、中使用SOAP標準集成,使用WSDL標準進行自描述,使用UDDI標準在一個公共的或者私有的目錄中注冊和發(fā)現(xiàn)。 如圖1所示,Web服務(wù)由多個層構(gòu)成,這些層堆疊在一起形成了發(fā)現(xiàn)和調(diào)用一個獨立的Web服務(wù)所提供功能的標準機制的基礎(chǔ)。即,Web服務(wù)棧以層次結(jié)構(gòu)來表示,高層在低層的基礎(chǔ)之上構(gòu)建。 UDDI Web服務(wù) & WSDL HTTP/HTTPS, SMTP, FTP SOAP/XML 服務(wù)發(fā)現(xiàn)層 服務(wù)描述層 基于XML的消息層 網(wǎng)絡(luò)層 圖1 Web服務(wù)棧 圖中HTTP提供了分布式應(yīng)用之間的通信機制,XML定義了數(shù)據(jù)交換和描述的格式,SOAP是調(diào)用Web服務(wù)的協(xié)議
6、, WSDL描述Web服務(wù)的格式,而UDDI則是注冊、查找和使用Web服務(wù)的中樞組織。下面分別介紹這些協(xié)議及相關(guān)的規(guī)范。 2. HTTP Web服務(wù)棧中的最底層是網(wǎng)絡(luò)層,也可以稱為協(xié)議層。分布式的應(yīng)用需要有網(wǎng)絡(luò)協(xié)議來定義兩個并發(fā)過程之間的通信機制。概念上,Web服務(wù)的設(shè)計是與協(xié)議無關(guān)的,在圖1的分層體系結(jié)構(gòu)模型中,從底向上任何標準的Internet協(xié)議都可以用于在網(wǎng)絡(luò)上調(diào)用Web服務(wù)。但目前主要是HTTP(Hypertext Transport Protocol)和HTTPS(Hypertext Transport Protocol Secure )協(xié)議。 HTTP/1.1是一個基于文本
7、的、“請求-響應(yīng)”(request-response)型的協(xié)議,它規(guī)定一個客戶打開到服務(wù)器的一個連接,然后以專門的格式發(fā)送一個請求,服務(wù)器進行響應(yīng),同時如果必要則保持連接的打開狀態(tài)。HTTP使用的普遍性及其固有的穿防火墻的能力使它成為主導(dǎo)的Web服務(wù)網(wǎng)絡(luò)協(xié)議。但同時由于HTTP是基于文本的協(xié)議而缺乏表示遠程過程調(diào)用(RPC)消息參數(shù)值的機制。 其它的請求/響應(yīng)類型的傳輸協(xié)議,如文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP)和簡單郵件協(xié)議(Simple Mail Transport Protocol,SMTP)也可以使用,但是并沒有在Web服務(wù)的各種標準中定義,目前也只有
8、極少數(shù)實現(xiàn)支持這些協(xié)議。 另外,最近IBM發(fā)布了一個可靠通信協(xié)議的提案,稱作HTTPR。HTTPR在HTTP的基礎(chǔ)上加強了可靠性,在保持HTTP優(yōu)點的同時能夠保證消息可以不受阻礙地發(fā)送到目的地。可靠的通信對Web服務(wù)來說是一個非常關(guān)鍵的方面,雖然目前對由協(xié)議層實現(xiàn)是否最適合仍然有爭議,但在不遠的將來它肯定會以某種形式出現(xiàn)。 3.XML(Extensible Markup Language,可擴展標記語言) 基于XML的消息層包括數(shù)據(jù)表示、數(shù)據(jù)格式和消息傳輸協(xié)議。XML為信息交換定義了描述和格式。 數(shù)據(jù)表示 HTTP是一種基于文本的協(xié)議,因而缺乏表示RPC消息中的參數(shù)值的機制,這也是X
9、ML作為Web服務(wù)的一個重要成分出現(xiàn)的原因。XML是一種元語言,可以通過標準的編碼和格式化信息的方法進行跨平臺的數(shù)據(jù)交換。XML允許數(shù)據(jù)被串行化為易于被任何平臺解碼的消息格式,提供了在網(wǎng)絡(luò)應(yīng)用之間交換結(jié)構(gòu)化數(shù)據(jù)的機制。 XML采用純文本表示,設(shè)計的初衷是為了存儲、傳送和交換數(shù)據(jù)的。XML是一種標記語言,標記在XML中不是預(yù)先確定的,而必須由使用者自己定義。XML允許使用者自由發(fā)表有用的信息,不僅可以是有關(guān)數(shù)據(jù)結(jié)構(gòu)的,也可以是關(guān)于數(shù)據(jù)意義的。另外,XML文檔的結(jié)構(gòu)、內(nèi)容和外觀可以作為三個不同的部分進行維護,提供了更高的獨立性。 對于數(shù)據(jù)表示層來說,可擴展性是一個關(guān)鍵因素。為了支持可擴展性,W
10、eb服務(wù)需要一種機制以避免名字沖突,并允許一個程序只處理自己所關(guān)心的元素。XML名空間(namespaces)提供了一種簡單、通用的方式以區(qū)分相同名字的元素或?qū)傩浴榱酥С挚蓴U展性,XML中的每個元素和屬性都有一個相關(guān)的名空間URI。 數(shù)據(jù)格式 Web服務(wù)需要一種方法定義Web服務(wù)消息中使用的數(shù)據(jù)類型。XML Schema 規(guī)范標準化了一個描述XML數(shù)據(jù)類型的符號集,還定義了一個內(nèi)置簡單數(shù)據(jù)類型的集合和在各XML文檔中建立元素類型的機制。XML Schema規(guī)定了XML文檔的邏輯結(jié)構(gòu),定義了元素、元素屬性以及元素和元素屬性之間的關(guān)系。 XML仍然處于不斷的發(fā)展中。需要說明的是,XML本身
11、只是一種標記語言,只是進行描述,并不提供商務(wù)邏輯,Web服務(wù)提供對這些邏輯的訪問。這也是為什么Web服務(wù)的更高層的、基于XML概念同樣非常重要的原因。 4.SOAP(Simple Object Access Protocol,簡單對象訪問協(xié)議) SOAP是目前被廣泛接受的消息傳輸協(xié)議。SOAP是一個為信息交換設(shè)計的輕量協(xié)議,用于在網(wǎng)絡(luò)應(yīng)用程序之間交換結(jié)構(gòu)化數(shù)據(jù),是一種基于XML的機制。SOAP主要是在分布的、分散的環(huán)境中提供了一個跨Internet調(diào)用服務(wù)的框架結(jié)構(gòu),并提供了獨立于編程語言和分布對象底層基礎(chǔ)結(jié)構(gòu)的跨平臺集成機制。SOAP代表了xml-rpc 的發(fā)展,已經(jīng)被W3C作為一種I
12、nternet標準采納。 SOAP是一個遠程過程調(diào)用(RPC)協(xié)議,使用標準的Internet協(xié)議進行傳輸:同步調(diào)用時的HTTP或異步調(diào)用時的SMTP。由于可以在HTTP上運行,這使得SOAP在穿防火墻進行操作的方面優(yōu)于DCOM、RMI和IIOP,而在嵌入設(shè)備上實現(xiàn)SOAP也比開發(fā)一個ORB更簡單。 SOAP的主要設(shè)計目標是簡單性和可擴充性。為了到達這兩個目標,SOAP中省略了在其它消息系統(tǒng)和分布式對象系統(tǒng)中常見的一些特性,如無用存儲單元收集、消息批處理等。 SOAP沒有定義一種編程模型或?qū)崿F(xiàn),而是定義了一個模塊化的包裝模型,并在模塊內(nèi)定義了編碼數(shù)據(jù)的編碼機制。這使得SOAP可以在從消息
13、傳遞系統(tǒng)到遠程過程調(diào)用的任何系統(tǒng)中應(yīng)用。 SOAP的組成 SOAP由四個部分組成: ? (1)一個SOAP封皮(Envelope),定義了描述消息所包含信息的框架結(jié)構(gòu),即消息中包含什么信息、由誰來處理以及是必需的或可選的。 ? (2)一組SOAP編碼規(guī)則(Encoding rules),定義了一個串行化機制,用于交換應(yīng)用定義的數(shù)據(jù)類型的實例。SOAP編碼的類型使用簡單的標量類型和復(fù)合類型,如結(jié)構(gòu)和數(shù)組。這些類型以XML文檔元素的形式表現(xiàn),XML Schema規(guī)范中定義的數(shù)據(jù)類型以及這些數(shù)據(jù)類型的派生類型都可以直接用作SOAP元素。 ? (3)SOAP RPC表示,定義如何表示遠程過程
14、調(diào)用和響應(yīng)。SOAP的設(shè)計目標之一是用XML的可擴展性和靈活性封裝RPC功能,在SOAP1.2中詳細定義了RPC和響應(yīng)的統(tǒng)一表示,將對一個方法的調(diào)用和響應(yīng)作為結(jié)構(gòu)來建模,結(jié)構(gòu)中包含了返回值,或者還可能包括傳入的參數(shù)。 ? (4)SOAP綁定(binding),定義如何使用底層傳輸協(xié)議進行SOAP消息的交換。雖然SOAP本身可以和多種協(xié)議結(jié)合使用,但SOAP1.2中只描述了在HTTP中的使用。SOAP和HTTP綁定可以同時使用SOAP的形式方法與分散的靈活性以及HTTP豐富的特性集。在HTTP中使用SOAP并不意味著SOAP覆蓋了HTTP現(xiàn)有的語義,而是SOAP繼承了HTTP的語義。 SOA
15、P消息 SOAP消息是用XML編碼的文檔,由三個部分組成: ? (1)SOAP封皮(SOAP Envelope),是描述SOAP消息的XML文檔的頂點元素。 ? (2)SOAP消息頭(SOAP Header),提供了一種靈活的機制對SOAP消息以分散的、模塊化的方式進行擴充,而通信的各方(SOAP發(fā)送者,SOAP接收者以及SOAP中介)不必預(yù)先知道。SOAP消息頭是可選的。 ? (3)SOAP消息體(SOAP Body),定義了一個簡單的機制來交換要發(fā)送給最終SOAP接收者的消息中的必要信息,是這些信息的容器。典型的使用是編組RPC調(diào)用和SOAP錯誤報告。 SOAP消息交換模型 S
16、OAP消息是單方向的,從一個SOAP發(fā)送者(sender)到一個SOAP接收者(receiver)。但單獨的消息通??梢员唤M合在一起形成其它消息機制。例如,SOAP通過在HTTP請求中提供一個SOAP請求消息和在HTTP響應(yīng)中提供一個SOAP響應(yīng)消息實現(xiàn)HTTP的請求/響應(yīng)消息模型。 SOAP消息交換模型要求接收到一個SOAP消息的應(yīng)用程序執(zhí)行下列操作: (1)識別SOAP消息中意圖供給本應(yīng)用的部分,本應(yīng)用可以作為SOAP中介將消息的其它部分傳遞給另外的應(yīng)用。 (2)檢驗SOAP消息中指定的所有必須處理的部分,并進行相應(yīng)的處理。 (3)如果SOAP應(yīng)用不是消息的最終目的地,它應(yīng)該在刪除
17、所有自己消耗的部分后將消息轉(zhuǎn)發(fā)給消息要供給的下一個應(yīng)用。 SOAP只是一種包裝和綁定調(diào)用一個Web服務(wù)所需信息的方式, Web服務(wù)也可以使用其它的編碼技術(shù)調(diào)用。另外,SOAP本身沒有嚴格地歸入Web服務(wù),SOAP 可以作為一種對任何類型的遠程對象或過程的訪問機制使用,也可以只是一個簡單的消息傳遞機制。 除了SOAP以外,W3C創(chuàng)建的XMLP工作組還建立了XML協(xié)議(Extensible Markup Language Protocol,XMLP)。XMLP是類似于SOAP的XML消息協(xié)議,包括封皮、對象串行化方式、HTTP傳輸綁定以及進行遠程過程調(diào)用的方式幾個部分。甚至有人認為XMLP將逐
18、步取代SOAP。 5.WSDL(Web Services Description Language,Web服務(wù)描述語言) 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ì)量、安全性、可靠性等。 到Web服務(wù)的接口由基于XML的WSDL定義,它提供了應(yīng)用訪問指定的Web服務(wù)所必需的全部信息,描述服務(wù)提供了什么功能、服務(wù)位于何處以及服務(wù)如何調(diào)用。 WSDL以XML格式描述網(wǎng)
19、絡(luò)服務(wù),將服務(wù)描述為在包含面向過程或面向文檔信息的消息上進行操作的一組端點。操作和消息是抽象描述的,然后綁定到具體的網(wǎng)絡(luò)協(xié)議和消息格式以定義一個端點。相關(guān)的具體端點被組合成為抽象端點(服務(wù))。WSDL 是可擴展的,允許描述任何端點和消息,而不考慮通信使用的消息格式或網(wǎng)絡(luò)協(xié)議。 WSDL使用下面的元素定義網(wǎng)絡(luò)服務(wù): ? 類型(Types),使用某種類型系統(tǒng)的數(shù)據(jù)類型定義的容器。WSDL并沒有引入新的類型定義語言,而將XSD作為自己的標準類型系統(tǒng),并允許通過可擴展性使用其它的類型定義語言。 ? 消息(Message),對要傳送的數(shù)據(jù)的一個抽象定義。 ? 操作(Operation),對服務(wù)支
20、持的動作的抽象描述。 ? 端口類型(Port Type),一個或多個端點支持的操作的一個抽象集合。 ? 綁定(Binding),對特定端口類型的一個具體協(xié)議和數(shù)據(jù)格式規(guī)格。 ? 端口(Port),一個單獨的端點,由一個綁定和一個網(wǎng)絡(luò)地址組合在一起定義。 ? 服務(wù)(Service),一組相關(guān)的端點的集合。 一個Web服務(wù)由一組端口定義,而端口由綁定到一個具體協(xié)議和數(shù)據(jù)格式規(guī)范的一組抽象操作和消息定義。操作和消息的抽象是為了使它們可以復(fù)用和綁定到不同的協(xié)議和數(shù)據(jù)格式,如SOAP、 HTTP GET/POST或MIME。 在WSDL中,端點和消息的抽象定義是和它們的具體網(wǎng)絡(luò)配置和數(shù)
21、據(jù)格式綁定相分離的;另外,WSDL定義了一個公共的綁定機制,用于將特定的協(xié)議或數(shù)據(jù)格式或結(jié)構(gòu)連接到抽象的消息、操作或端點,這些都允許對抽象定義的復(fù)用。 WSDL目前已經(jīng)被廣泛支持,但還不是W3C推薦的標準語言。 6.UDDI(Universal Description,Discovery,and Integration,統(tǒng)一描述、發(fā)現(xiàn)和集成) 面對極度豐富的服務(wù),最常出現(xiàn)的問題是“在哪里以及如何找到需要的信息?”。統(tǒng)一UDDI規(guī)范在底層協(xié)議的基礎(chǔ)上又定義了一層,在這一層,不同的企業(yè)能夠以相同的方式描述自己提供的服務(wù)和查詢對方提供的服務(wù)。 UDDI是一套基于Web的、分布式的、為Web服
22、務(wù)提供的信息注冊中心的實現(xiàn)標準規(guī)范,同時也包含一組使企業(yè)能將自身提供的Web服務(wù)注冊以使別的企業(yè)能夠發(fā)現(xiàn)的訪問協(xié)議的實現(xiàn)標準。 信息結(jié)構(gòu) UDDI為表示XML中商業(yè)服務(wù)描述定義了一個數(shù)據(jù)結(jié)構(gòu)標準,提供了更高層次的商業(yè)信息以補充WSDL中的說明。UDDI定義了四種基本的結(jié)構(gòu): ? 商業(yè)實體(Business entity),描述商業(yè)信息,如名稱、類型等。 ? 商業(yè)服務(wù)(Business service),已發(fā)布的Web服務(wù)的集合。 ? 綁定模板(Binding template),訪問信息,如URL。 ? 技術(shù)規(guī)范(tModel),對服務(wù)類型的技術(shù)規(guī)格說明,如接口定義、消息格式、消息
23、協(xié)議、安全協(xié)議等。 服務(wù)發(fā)布和發(fā)現(xiàn) 在進行一個Web服務(wù)調(diào)用之前,必須先找到具有所需服務(wù)的企業(yè),發(fā)現(xiàn)調(diào)用接口和語義,然后編寫或配置自己的軟件以便與服務(wù)合作。UDDI的核心部件是UDDI商業(yè)注冊,它用一個XML文檔來描述企業(yè)及其提供的Web服務(wù)。UDDI 商業(yè)注冊是一個基于SOAP的Web服務(wù),提供企業(yè)用于將它們的服務(wù)發(fā)布到注冊中心的接口。注冊中心是分布式的,彼此之間不斷進行復(fù)制操作。 Web服務(wù)基本上是機器到機器的通信,為了有效工作,這種體系結(jié)構(gòu)必須具有進行基于Web的應(yīng)用和業(yè)務(wù)過程集成的有效工具。UDDI商業(yè)注冊中心包含三類信息,企業(yè)可以通過這些信息發(fā)現(xiàn)一個Web服務(wù)。 ? 白頁,包
24、括企業(yè)的名稱、地址、聯(lián)系方式和企業(yè)標識,并允許其它公司按照名稱查找目錄。 ? 黃頁,包括基于標準分類法的行業(yè)類別。 ? 綠頁,包括了關(guān)于該企業(yè)所提供的Web服務(wù)的技術(shù)信息,其形式可能是一些指向文件或URL的指針,而這些文件或URL是為服務(wù)發(fā)現(xiàn)機制服務(wù)的。綠頁還允許注冊的公司之間使用XML進行連接,提供了業(yè)務(wù)過程自動化的關(guān)鍵機制。 編程接口 UDDI規(guī)范提供了編程接口,允許商業(yè)注冊一個Web服務(wù),以及查找指定Web服務(wù)的注冊。一旦想要的Web服務(wù)被確定,將提供一個指向WSDL文檔所在位置的指針。編程接口分為查詢API和發(fā)布API兩個邏輯部分。查詢API又分為兩個部分:一部分用來構(gòu)造搜索和
25、瀏覽UDDI注冊信息的程序,另一部分在Web服務(wù)出現(xiàn)錯誤時使用。發(fā)布API可以用來創(chuàng)建各種類型的工具,以直接與UDDI注冊中心進行交互,便于企業(yè)技術(shù)人員管理發(fā)布信息。 使用UDDI UDDI規(guī)范包含了對基于Web的UDDI商業(yè)注冊中心可以實施的整套共享操作。一般來說,程序或程序員通過UDDI商業(yè)注冊中心來獲得Web服務(wù)的位置及其技術(shù)信息。其中對于程序員來說,是對自己的系統(tǒng)實現(xiàn)準備,以使自己的系統(tǒng)能和那些Web服務(wù)實現(xiàn)訪問兼容,或是描述自己的Web服務(wù)從而能讓別人使用。從商業(yè)層次上來說,UDDI商業(yè)注冊中心可以被用于核查某個合作伙伴是否擁有特定的Web服務(wù)的調(diào)用接口,或是找出在某行業(yè)中能提供
26、某種類型服務(wù)的公司,并確定某合作伙伴的Web服務(wù)的技術(shù)描述及交互時所需的技術(shù)細節(jié)。 UDDI 是完全可選的,也就是說,具有Web服務(wù)的公司,如果只是想對有限的人員或設(shè)備提供特定功能,它們不需要對外發(fā)布它們的服務(wù)。 其它標準 除了UDDI以外,服務(wù)發(fā)現(xiàn)層還有其它一些標準。如由Microsoft開發(fā)的DISCO(Discovery of Web Services)規(guī)范。DISCO定義了一個基于XML的發(fā)現(xiàn)文檔格式和一個檢索該發(fā)現(xiàn)文檔的協(xié)議。DISCO允許開發(fā)人員通過一個HTTP GET操作發(fā)現(xiàn)服務(wù)。使用發(fā)現(xiàn)文檔格式,可以將一個發(fā)現(xiàn)文檔發(fā)送到一臺遠程服務(wù)器,如果存在支持SOAP的Web服務(wù),則
27、收回一個服務(wù)所提供的WSDL描述。 7.服務(wù)集成和工作流 工作流的概念在設(shè)計電子商務(wù)應(yīng)用時愈加重要。當一個企業(yè)需要集成來自多方的Web服務(wù)并為終端用戶組織這些服務(wù)時,必須掌握其系統(tǒng)的過程和順序。對于這些具有異步特征的應(yīng)用,適合使用工作流引擎。要使Web服務(wù)的實現(xiàn)不僅僅停留在簡單的請求/響應(yīng)模式上,商業(yè)過程協(xié)作和工作流是必不可少的,其中包括跨企業(yè)邊界的Web服務(wù)的合成與自動化。要成功進行企業(yè)間的自動化和協(xié)作的必需條件是要有一個標準化的商業(yè)協(xié)議來描述這些商業(yè)過程。服務(wù)工作流領(lǐng)域目前尚未形成固定的標準,有一定影響的是WSFL、Xlang以及BPMI。 WSFL Web服務(wù)流程語言(Web
28、Services Flow Language ,WSFL)是一個描述商業(yè)過程的規(guī)范。WSFL提出了兩種Web服務(wù)組合的類型:一是商業(yè)過程,一是合作伙伴交互。商業(yè)過程作為一組為達到一個特定的商業(yè)目標而順序執(zhí)行的Web服務(wù)建模。合作伙伴交互描述Web服務(wù)之間如何彼此交互。Web服務(wù)被連接在一起以表明一個Web服務(wù)與另一個Web服務(wù)接口的操作交互作用。 XLang Xlang是Microsoft的BizTalk服務(wù)器使用的XML商業(yè)過程語言。Xlang用于描述商業(yè)過程,這些過程在運行時由BizTalk 控制引擎(Orchestration engine)執(zhí)行。Xlang還允許將Web服務(wù)結(jié)合到
29、商業(yè)過程中以及Web服務(wù)的組合。另外,Xlang支持補償過程。Xlang不支持代價較高的兩階段提交協(xié)議,而是提供了一個可供選擇的開放式模型的表示方法,其中可以為活動明確指定抵消該活動影響的補償活動。 由于Microsoft先前與IBM在WSDL和UDDI上的合作,有人認為將來二者可能會向W3C提出將Xlang和WSFL結(jié)合起來的提議。 BPMI BPMI(Business Process Management Initiative)推進公共商業(yè)過程的標準化。這些過程可能跨多個應(yīng)用、部門或商業(yè)合作伙伴,可能在防火墻之后或者可以通過Internet訪問。BPMI.org制定了一些開放規(guī)范,如
30、BPML和BPQL,這使得可以對電子商務(wù)過程用即將出現(xiàn)的BPMS(Business Process Management System)進行基于標準的管理。 ? BPML(Business Process Modeling Language),是商業(yè)過程建模的元語言。BPML將商業(yè)過程定義為為了達到一個共同目標在參與者和根據(jù)定義的規(guī)則集合執(zhí)行的活動之間的交互作用。 ? BPQL(Business Process Query Language)是到一個過程服務(wù)器的管理接口,允許商業(yè)分析員查詢由過程服務(wù)器管理的過程實例的狀態(tài),并控制過程實例的執(zhí)行。該接口是基于SOAP的。為了過程的注冊、廣告和
31、發(fā)現(xiàn),由過程庫管理的過程模型通過BPQL接口可以作為UDDI服務(wù)對外提供。 BPML和BPQL都是開放規(guī)范。 8.其它相關(guān)標準和領(lǐng)域 其它許多組織在Web服務(wù)規(guī)范的制定方面也做了大量的工作。這里只簡單介紹幾種比較知名的規(guī)范。 ebXML EbXML的結(jié)構(gòu)類似Web服務(wù)棧,是在Internet上用標準技術(shù)引導(dǎo)電子商務(wù)的協(xié)議和規(guī)范的一個棧。EbXML曾被考慮作為Web服務(wù)的另一個選擇,其時間也早于Web服務(wù)模型。然而這兩個模型之間有一些重疊,而ebXML更注重EDI方式的信息交換。 一種可能的設(shè)想是Web服務(wù)模型和ebXML之間的逐步合并。UN/CEFACT和OASIS最近已經(jīng)采納SO
32、AP作為ebXML消息傳遞底層結(jié)構(gòu)的基礎(chǔ)。W3C也積極考慮ebXML規(guī)范,并將并入規(guī)范中那些滿足作為標準化Web服務(wù)體系結(jié)構(gòu)的需求的方面。 JAX Pack JAX Pack是Sun封裝了Java領(lǐng)域的各種標準的結(jié)果。JAX是一組XML的Java API,其設(shè)計支持Web服務(wù)標準API,包括SOAP、XMLP、WSDL和UDDI等。 JAX Pack中包括的API如下: ? JAXP(Java API for XML Parsing),包含SAX(Simple API for XML),DOM(Document Object Model)和XSLT。 ? JAXB(Java API
33、for XML Binding),一種將XML數(shù)據(jù)類型定義編譯到能夠?qū)ML讀入Java對象并將再其寫回的Java類中的機制。 ? JAXM(Java API for XML-based Messaging),一個發(fā)送消息的基于SOAP的協(xié)議。 ? JAXR (Java API for XML Registries),一個包羅眾多的規(guī)范,其中為UDDI和ebXML注冊及其它可能的注冊提供了統(tǒng)一接口。 ? JAX-RPC (Java API for XML-based Remote Process Communication),一個請求遠程服務(wù)器上操作的基于SOAP的協(xié)議。 除了上面描
34、述的各種規(guī)范以外,還需要提及一些其它的重要領(lǐng)域,這些領(lǐng)域涉及Web服務(wù)棧的所有層,其中包括安全性、管理、服務(wù)質(zhì)量和事務(wù)等。在Web服務(wù)具有轉(zhuǎn)換企業(yè)商業(yè)關(guān)系的能力之前,企業(yè)需要這些額外的特性以及隨之而來的附加機制、安全、身份確認、合同管理、質(zhì)量控制等。其中最重要的是安全性和事務(wù)。 安全性 XML密鑰管理系統(tǒng)(XML Key Management System,XKMS)是將PKI和數(shù)字化證書與XML應(yīng)用集成的結(jié)果,由W3C XML簽名工作組開發(fā)。該領(lǐng)域的其它規(guī)范包括安全服務(wù)標記語言(Security Services Markup Language,S2ML)和AuthXML,正由OASIS
35、 XML安全服務(wù)委員會支持其統(tǒng)一標準化。 BTP 事務(wù)在Web服務(wù)中有獨特的需求。在保證相關(guān)聯(lián)的工作流可靠協(xié)調(diào)的同時,事務(wù)協(xié)議必須能夠處理長時間運行的企業(yè)之間的商業(yè)事務(wù)。商務(wù)事務(wù)協(xié)議(Business Transaction Protocol,BTP)是一個基于XML的規(guī)范,用于描述和管理這些Internet上的復(fù)雜的、多步事務(wù)。 BTP為XML消息接口提供了一個開放規(guī)范,以支持來自不同Internet貿(mào)易伙伴的Web服務(wù)的協(xié)調(diào)。另外,BTP定義了一個模型來定義和管理這些交互以保證可靠消息傳輸和商業(yè)過程的完成而無論其執(zhí)行多長時間。 BTP最初由BEA開發(fā)并提交給OASIS商業(yè)事務(wù)技術(shù)委
36、員會。該委員會的任務(wù)是定義需求、技術(shù)評估,最后產(chǎn)生一個商業(yè)事務(wù)協(xié)議的推薦規(guī)范,以補充現(xiàn)存的Web服務(wù)標準。 9.小結(jié) 上面對Web服務(wù)相關(guān)標準、規(guī)范和組織的介紹可以通過圖2進行一個小結(jié)。 事 務(wù) 理 服務(wù)集成/工作流 服務(wù)發(fā)布 服務(wù)發(fā)現(xiàn) 服務(wù)描述 基于XML的消息傳遞 消息傳遞協(xié)議 數(shù)據(jù)格式規(guī)格說明 數(shù)據(jù)表示 網(wǎng)絡(luò) 管 理 安 全 服務(wù)質(zhì)量 理 HTTP W3C HTTPR IBM XML W3C SOAP W3C XMLP
37、W3C WSDL W3C UDDI UDDI.org DISCO Microsoft WSFL IBM Xlang Microsoft BPML BPMI.org ebXML ebXML.org UDDI UDDI.org ebXML ebXML.org 較穩(wěn)定,不易改變 較不穩(wěn)定,易改變 圖2 Web服務(wù)棧相關(guān)的各種標準和規(guī)范小結(jié) 至此,我們可以了解到Web服務(wù)領(lǐng)域的復(fù)雜性及其不斷變化的特性。上文描述的Web服務(wù)棧是一個開放規(guī)范集,其中有的是現(xiàn)有的Internet標準,有的還只是被廣為接受的規(guī)范,正在逐步成為真正的標準。需要注意的是由于這些標準是
38、不斷發(fā)展變化的,因而在開發(fā)中使用時要考慮到變更是不可避免的,應(yīng)該始終依據(jù)通用的設(shè)計原則和體系結(jié)構(gòu)。 Web服務(wù)棧定義了如何建造基于Web的解決方案,是實現(xiàn)互操作性的基礎(chǔ)。Web服務(wù)是否成功,首要因素在于能真正支持互操作性的開放標準。為此需要建立一致的標準和消除差異。各方面的參與者何時能夠?qū)@些標準達成一致意見對Web服務(wù)的成功程度起著決定性作用。 參考文獻 1. Greg Heidel,Web Services Standards,White Paper,Momentum Software Inc. 2. SOAP Specification V1.1, W3C Note
39、08,2000.5 3. SOAP Version 1.2,W3C Draft,2001.7 4. WSDL Specification V1.1, W3C Note 15,2001.3 5. UDDI Specification,uddi.org,2000.9 6. UDDI Technical White Paper,uddi.org,2000.9 7. Business Process Management Language Specification,BPMI.org Draft0.4,2001.3 8. XLANG Specification,Microsoft Corporation,2001
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題黨課講稿:以高質(zhì)量黨建保障國有企業(yè)高質(zhì)量發(fā)展
- 廉政黨課講稿材料:堅決打好反腐敗斗爭攻堅戰(zhàn)持久戰(zhàn)總體戰(zhàn)涵養(yǎng)風清氣正的政治生態(tài)
- 在新錄用選調(diào)生公務(wù)員座談會上和基層單位調(diào)研座談會上的發(fā)言材料
- 總工會關(guān)于2025年維護勞動領(lǐng)域政治安全的工作匯報材料
- 基層黨建工作交流研討會上的講話發(fā)言材料
- 糧食和物資儲備學(xué)習教育工作部署會上的講話發(fā)言材料
- 市工業(yè)園區(qū)、市直機關(guān)單位、市紀委監(jiān)委2025年工作計劃
- 檢察院政治部關(guān)于2025年工作計劃
- 辦公室主任2025年現(xiàn)實表現(xiàn)材料
- 2025年~村農(nóng)村保潔員規(guī)范管理工作方案
- 在深入貫徹中央8項規(guī)定精神學(xué)習教育工作部署會議上的講話發(fā)言材料4篇
- 開展深入貫徹規(guī)定精神學(xué)習教育動員部署會上的講話發(fā)言材料3篇
- 在司法黨組中心學(xué)習組學(xué)習會上的發(fā)言材料
- 國企黨委關(guān)于推動基層黨建與生產(chǎn)經(jīng)營深度融合工作情況的報告材料
- 副書記在2025年工作務(wù)虛會上的發(fā)言材料2篇