




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、畢業(yè)設計()性本人鄭重:所提交的畢業(yè)設計(),是本人在導師指導下,獨立進行研究工作所取得的成果。除文中已注明的內(nèi)容外,本畢業(yè)設計(論文)不包含任何其他個人或集體已經(jīng)或撰寫過的成果。對本研究做出過重要貢獻的個人和集體,均已在文中以明確方式標明并表示了謝意。作者簽名:日期:年月日摘要近年來 Web 服務的理論和技術(shù)取得了長足的發(fā)展,其保證互操作性的協(xié)議棧下層在學術(shù)界和工業(yè)界已基本達成一致。Web 服務的價值在于服務重用,新興的 Web 服務組合正是主要的重用。然而基于流程的 Web 服務組合建模是一個復雜且易出錯的過程。如果流程定義在投入運行之后被發(fā)現(xiàn)有錯,則修復錯誤的代價相當高。因此,在建模階段
2、進行有效的過程驗證時十分必要的。此外 Web 服務組合可能存在不必要的流程設計而影響執(zhí)行效率。本課題分析了基于 Petri 網(wǎng)建模的優(yōu)勢,給出基于 Petri 網(wǎng)的 Web 服務的形式化定義和描述,對 Web 服務組合進行建模及元素,給出 Petri 網(wǎng)模型生成算法并對組合服務模型的可達性、安全性、有界性與活性等特性進行驗證分析。從而達到對基于 Petri 網(wǎng)的 Web 服務組合的驗證。:Web 服務;Petri 網(wǎng);服務組合;服務組合驗證ABSTRACTWeb Services offer a new paradigm for distributed computing on the Wor
3、ld Wide Web. Web services composition allows us to combine a number of existing Web services into a new, value-added Web service. Mission critical Web services have little tolerance for run time errors, as repairing them at service operation time is usually costly. The development of such Web servic
4、es requires thorough verification at the design stage in order to detect and correct errors as early as possible. Moreover, lots of web services compositions may have redundant flow design which can lead to lowperformance. Then reduction is needed.The advantages were discussed for ming web services
5、composition usingPetri net in this thesis. Based on Petri net theory, the formal definition and graphic description were proposed for web services and their composition; the elementmapping process was also illustrated. Then an algorithm was proposed to constructthe Petri net mfor web services compos
6、ition. The reachability, safeness,boundness and liveness of the mwere also validated. To achieve the verificationof web service composition based on Petri net.Key words: Web services; Petri net; Services composition; Services compositionverification目錄第一章1.4緒論1研究背景研究目的研究現(xiàn)狀結(jié)構(gòu)安排. 1. 3. 4. 4第二章
7、 相關(guān)技術(shù)探究52.1 Web 服務概述52.1.1 Web 服務的定義52.1.2 Web 服務的特點52.1.3 Web 服務的結(jié)構(gòu)模型62.1.4 Web 服務標準和協(xié)議棧62.1.5 Web 服務的應用領(lǐng)域82.2 Web 服務組合82.2.1 Web 服務組合的定義82.2.2 基于 BPEL4WS 的 Web 服務組合92.3 Petri 網(wǎng)9第三章 基于Petri 網(wǎng)的 Web 服務組合113.1 基于 Petri 網(wǎng)的Web 服務定義113.2 Web 服務組合的代數(shù)描述123.3 Petri 網(wǎng)模型生成算法143.4 應用 Petri 網(wǎng)驗證Web 服務組合15第四章基于Pe
8、tri 網(wǎng)的 Web 服務組合的實例分析184.1 Cygwin184.1.1 Cygwin 概述184.1.2 Cygwin 組成和工作機制184.1.3 Cygwin 安裝與配置194.2 BPEL2oWFN214.2.1 BPEL2oWFN 的介紹214.2.2 BPEL2oWFN 在 Cygwin 平臺上的編譯234.2.3 BPEL2oWFN 在 Cygwin 平臺上的安裝244.3 LOLA254.3.1 LOLA 的介紹254.3.2 LOLA 在 Cygwin 平臺上的編譯254.3.3 LOLA 在 Cygwin 平臺上的安裝264.4 對實際的 Web 服務組合進行結(jié)構(gòu)驗證
9、27結(jié)束語33致謝34參考文獻35第一章緒論1.1 研究背景Web 服務作為一種新型的分布式構(gòu)件模型已經(jīng)在電子商務、企業(yè)應用集成等,特別是 Web 服務的組合技術(shù),因其能實現(xiàn)服務領(lǐng)域扮演著越來越重要的的重用和增值而成為學術(shù)界和工業(yè)界關(guān)注的焦點。服務組合是將服務看成構(gòu)件而進行重用的技術(shù),能在現(xiàn)有的服務中選取特定的服務,組新的服務來滿足用戶的需求。近年來 Web 服務的理論和技術(shù)取得了長足的發(fā)展,其保證互操作性的協(xié)議棧下層在學術(shù)界和工業(yè)界已基本達成一致。然而 Web 服務的價值在于服務重用,新興的 Web 服務組合正是主要的重用。Web 服務技術(shù)遵循面向服務架構(gòu)(SOA:Service-Orien
10、ted Architecture)將網(wǎng)絡上的成員劃分為 Web 服務的需求者、提供者和中介者三種于 XML 的標準協(xié)議達成異構(gòu)平臺間的整合:利用簡單對象。并且以各項基協(xié)議(SOAP)執(zhí)行、發(fā)布和服務,以 Web 服務描述語言(WSDL)描述服務的應用程序接口,并且通過統(tǒng)一描述發(fā)現(xiàn)與整合規(guī)范(UDDI)為服務需求者和提供者提供制。近年來,通過許多現(xiàn)存 Web 服務的協(xié)同組合產(chǎn)生一個新的 Web 服務以達成機特定目的的行為被稱之為 Web 服務組合,產(chǎn)生的組合服務也可以作為其它組合服務的一個基礎服務。通過 Web 服務組合可以實現(xiàn)出具備功能更有價值的企業(yè)流程,通過基礎 Web 服務的組合可以創(chuàng)造出
11、更有價值的企業(yè)應用服務。許多的企業(yè)組織也將它們的服務包裝成 Web 服務的形式放在網(wǎng)絡上供服務需求者使用,例的搜尋服務、Amazon 的書籍服務等。如此通企業(yè)組織將各過面向服務架構(gòu)中介機制的透明化特性,Web 服務組合便可以個不同企業(yè)所提供的 Web 服務加以組合創(chuàng)造出新的增值性 Web 服務。從 Web 服務組合使用者的觀點來看,Web 服務組合的需求規(guī)范可以劃分為面向過程的規(guī)范(POS;Process Oriented Specification)和面向接口的規(guī)范(IOS; Interface Oriented Specification)兩種。POS 規(guī)范包含許多抽象化的 Web 服務組
12、件(以服務的功能為基礎并不需要實際指定由那一個服務負責執(zhí)行)配合企業(yè)應用邏輯以工作流程的概念描述這些 Web 服務間的協(xié)同關(guān)系;IOS 規(guī)范只需要 Web服務組合使用者所需求的 Web 服務組合提供輸入和輸出的信息,至于 Web服務組合中要包含那些基于 Petri 網(wǎng)的 Web 服務組合的驗證與化簡 Web 服務組件,要以什么樣的結(jié)構(gòu)組合這些服務,使用者并不需要知道。這兩種 Web 服務組合需求規(guī)范必須以不同的方法來達成,采用 POS 規(guī)范的Web 服務組合最好是由企業(yè)邏輯模型配合工作流程的來實現(xiàn) Web 服務的組合協(xié)同;而采用 IOS 規(guī)范的 Web 服務組合則需通過自動化程序組合方法的使用
13、來達成 Web 服務的組合協(xié)同。就 Web 服務組合發(fā)展來看,采用 POS 規(guī)范也就是利用工作流程的概念來Web 服務的組合協(xié)同仍然是目前最通用的方法,許多的 Web 服務匯編語言例如 BPEL4WS、WSFL、WSCL、XLANG、BPML、BPSS、WSCI、Wf-XML、JDF、PIPs 等也都采用工作流程的概念作為協(xié)同 Web 服務組合的方法。然而目前的 Web 服務組合仍存在著許多問題有待解決,主要包括以下幾點:lWeb 服務組合的開發(fā)問題以工作流程為基礎的 Web 服務組合開發(fā)和管理需要具備特定的知識且耗費大量的程序撰寫時間。目前雖然有許多的 Web 服務匯編語言但是在開發(fā)上仍然需
14、要以編輯文件的方式來開發(fā) Web 服務組合,然而這是非常費時且沒有效率的。因此許多的研究都發(fā)展出 Web 服務組合的開發(fā)平臺來方便組合服務開發(fā)者的開發(fā)工作,例如:Self-Serv、eFlow、FUSION、SCET 等。lWeb 服務組合的挑選問題由于在 Web 服務的架構(gòu)下,通過 UDDI 中介機制每個服務提供者都可以將服務到中介者上,因此在進行 Web 服務組合時,對于同樣的工作任務可能有許多的 Web 服務都可以達成,也因此產(chǎn)生 Web 服務在挑選上的問題。而對Web 服務組合而言,就不單單只是單一 Web 服務的挑選問題,因為隨著參與組合的 Web 服務數(shù)量的增加,出現(xiàn)的排列組合可行
15、方案就會以倍數(shù)成長。這樣的問題,許多研究從 Web 服務的質(zhì)量上著手,所謂的 Web 服務質(zhì)量指的是Web 服務的執(zhí)行時間、可靠度、價格等非功能特性,通過這些非功能特性的評估, 讓開發(fā)者有選擇的依據(jù)。lWeb 服務的組合能力問題Web 服務要彼此組合必須輸出結(jié)果與輸入?yún)?shù)的數(shù)據(jù)類型能夠互相配合,并且數(shù)據(jù)的意義要相同,否則 Web 服務組合執(zhí)行的結(jié)果將是不正確的,而這樣的特性被稱之為 Web 服務的組合能力。目前有許多的研究采用 DAML-S 配合本體知識的方式定義 Web 服務輸入?yún)?shù)及輸出結(jié)果的語意描述,在組合時便通過語意描述的比對來Web 服務的組合能力。lWeb 服務組合的驗證問題無論
16、Web 服務組合的開發(fā)者是通過組合平臺的設計或是程序撰寫的方式來開發(fā) Web 服務組合,在設計 Web 服務組合的流程時都有可能發(fā)生流程設計上的問題例如:死鎖、不可達性等這些問題不容易在 Web 服務組合的設計階段看出,而要等到 Web 服務組合實際執(zhí)行時這些問題才會發(fā)生,但這時很可能已經(jīng)產(chǎn)生無法彌補的錯誤。因此在 Web 服務組合實際執(zhí)行前必須Web 服務組合的流程設計進行驗證的工作。然而目前尚未有研究提及 Web 服務組合的驗證應該包含那些步驟做哪些事。大部分的相關(guān)研究僅止于對 Web 服務組合進行建模而已,至于建模完成后要如何驗證,以及其驗證的標準要如何制定都尚未提及。因此本課題將上述
17、Web 服務組合驗證的相關(guān)問題進行探討并提出具體的方法。目前 Web 服務及其組合的形式化描述和驗證是語義 Web 服務中一個重要的研究方向,現(xiàn)有的許多 Web 服務及其組合描述語言都是半形式化的,容易出錯和不容易檢測,正確性難以保證。模型的正確性是指模型結(jié)構(gòu)上的正確性,即是安全、有界、無死鎖等。Petri 網(wǎng)作為一種基于狀態(tài)的形式化建模方法,具有直觀、形象且有嚴格語義和數(shù)學分析之優(yōu)點,是數(shù)據(jù)和流的抽象和形式化建模方法。Petri 網(wǎng)理論作為組合 Web 服務的一個主要機制,可以用來快速組合創(chuàng)建功能更強大的 Web 服務。1.2 研究目的本課題理解 Petri 網(wǎng)相關(guān)知識及其在 Web 服務組
18、合中應用,分析基于 Petri網(wǎng)的 Web 服務組合方法,并對其進行驗證。根據(jù)以上的出現(xiàn)的問題探討可以發(fā)現(xiàn),Web 服務組合在實際執(zhí)行前若過驗證將可能發(fā)生死鎖、不可達性、不能滿足安全性等問題,這些流程設計問題必須通過建模工具的模擬分析,否則將難以在 Web 服務組合的設計階段察覺。并且 Web 服務組合開發(fā)者的 Web 服務組合流程設計可能過于繁雜而不夠簡單明了,造成 Web 服務組合的執(zhí)行效率低落。為解決以上的問題,本課題提出一個基于 Petri-Net 的 Web 服務組合驗證及簡化方法,以達成以下兩項目的:l確保 Web 服務組合流程設計的正確性為避免 Web 服務組合實際執(zhí)行時才發(fā)生
19、Web 服務互相等待輸入消息產(chǎn)生死鎖等的問題造成 Web 服務組合使用客戶的不滿和降低 Web 服務組合提供者的聲譽,本課題提出一個 Web 服務組合的驗證方法,以 Petri-Net 模型化Web 基于Petri 網(wǎng)的 Web 服務組合的驗證與化簡服務組合開發(fā)者設計的 Web 服務組合流程,通過 Petri-Net 的流程狀態(tài)模擬分析能力,預先發(fā)現(xiàn)由于 Web 服務組合的錯誤設計所造成的死鎖、不可達性、非安全性等問題,以確保 Web 服務組合流程設計的正確性。lWeb 服務組合的執(zhí)行效率本課題將七個流程簡化規(guī)則應用在 Web 服務組合的簡化上,這些簡化規(guī)則可以在不影響 Web 服務組合原有功
20、能的前提下,轉(zhuǎn)換 Web 服務組合流程中過于繁雜且不必要的流程設計。通過 Web 服務組合流程的簡化將可以減少由于繁雜的流程設計所造成的時間浪費達到提升 Web 服務組合執(zhí)行效率的效果。此外,為實踐基于 Petri-Net 的 Web 服務組合驗證及簡化方法,本課題提出一個Web 服務組合驗證及簡化實現(xiàn)架構(gòu)。通過Web 服務匯編語言PNML(Petri-Net Markup Language)的轉(zhuǎn)換完成 Web 服務組合的 Petri-Net 建模,并利用覆蓋樹、關(guān)聯(lián)矩陣等常見的 Petri-Net 分析方法驗證死鎖、可達性和安全性等性質(zhì),最后以流程簡化規(guī)則配合 Web 服務組合代數(shù)方法的運用
21、完成 Web 服務組合流程簡化的工作,達到高效的驗證效果。1.3 研究現(xiàn)狀Web 服務是語義網(wǎng)的一個關(guān)鍵應用研究領(lǐng)域,Web 服務的激增和語義網(wǎng)技術(shù)的發(fā)展,為多樣的 Web 服務組合提供了便利。語義網(wǎng)技術(shù)提供了計算機可判斷的 Web 內(nèi)容和性能標記,推動了服務的自動發(fā)現(xiàn)和服務組合。目前 Web 服務及其組合的形式化描述和驗證是語義 Web 服務中一個重要的研究方向,現(xiàn)有的許多 Web 服務及其組合描述語言都是半形式化的,容易出錯和不容易檢測,正確性難以保證,需要有形式化的方法來驗證 Web 服務組合模型。模型的正確性是指模型結(jié)構(gòu)上的正確性,即是安全、有界、無死鎖等。Petri 網(wǎng)作為一種基于狀
22、態(tài)的形式化建模方法,具有直觀、形象且有嚴格語義和數(shù)學分析之優(yōu)點,是數(shù)據(jù)和流的抽象和形式化建模方法。本文采用 Petri 網(wǎng)對 Web 服務組合進行正確性驗證。1.4 結(jié)構(gòu)安排第一章、緒論 緒論部份描述本課題的研究背景、研究目的和本文的工作,并且說明本的結(jié)構(gòu)安排。第二章、相關(guān)技術(shù)探討本章為相關(guān)技術(shù)的概述 主要目的是課題所做工作提供相關(guān)的基礎知識。第一節(jié)概述 Web 服務,包括 Web 服務的定義、Web 服務的特點、Web 服務的結(jié)構(gòu)模式、Web 服務的標準和協(xié)議棧及 Web 服務的目前應用領(lǐng)域。第二節(jié) Web 服務組合,主要是對 Web 服務組合的定義進行說明, 特別介紹了基于 BPEL4WS
23、 的 Web 服務組合。第三節(jié)著重闡述了 Petri 的相關(guān)理論。第三章、基于 Petri-Net 的 Web 服務組合 本章描述本課題所提出的基于Petri-Net 的 Web 服務組合驗證。共分為四個小節(jié),第一節(jié)說明 Web 服務組合的定義。第二小節(jié)用代數(shù)描述了 Web 服務組合。第三小節(jié)闡述了 Petri 網(wǎng)模型生成算法。最后一節(jié)重要介紹應用 Petri 網(wǎng)驗證 Web 服務組合,如分析 Petri 網(wǎng)可采用可達樹法、不變量分析、約簡等方法。第四章、基于 Petri 網(wǎng)的 Web 服務組合的實例分析 本章闡述基于 Petri-Net 的 Web 服務組合驗證的實例分析,以實現(xiàn)第三章提出的
24、 Web 服務組合驗證概念。本章共分為四個小節(jié),首先闡述本次課題實現(xiàn)基于的平臺,即 Cygwin 平臺,包括它的一些概述,它的組成與工作機制以及最重要的安裝與環(huán)境的配置。第二、三部分描本課題實現(xiàn)的兩個很重要的工具,BPEL2WFN 和 LOLA,用兩小節(jié)分別對它們進行了介紹以及在 Cygwin 平臺上的編譯與安裝、調(diào)試。第四部分詳細描述對一個實際的 Web 服務組合進行結(jié)構(gòu)驗證。第二章相關(guān)技術(shù)探究2.1 Web 服務概述2.1.1 Web 服務的定義隨著技術(shù)的進步,Web 的從信息的容器逐漸發(fā)展成為提供 Web 服務的載體,Web 服務建立在面向服務的體系結(jié)構(gòu)(Service-Oriented
25、 Architecture,SOA) 基礎之上。SOA 為最新的分布式計算技術(shù),可以將軟件組件(包括來自不同系統(tǒng)的程序函數(shù)、對象和進程)發(fā)布為服務。根據(jù)萬維網(wǎng)(World Wide Web Consortium,W3C)的定義,一個 Web 服務是指通過統(tǒng)一標志符(Universal Resource Identifier,URI)標志的一個軟件系統(tǒng),其公共接口和綁定方式是通過可擴展標記語言(eXtensible Markup Language, XML)來定義和描述的。其他軟件系統(tǒng)可以發(fā)現(xiàn) Web 服務的定義,然后可以按照定義所規(guī)定的方式與這個Web 服務進行交互。這種交互使用基于XML 的
26、消息,通過網(wǎng)絡傳輸協(xié)議來進行。2.1.2 Web 服務的特點從外部的使用者的角度而言,Web 服務是一種部署在 Web 服務器上的對象或組件,它具備以下特征:封裝性:Web 服務是一種部署在 Web 上的對象,自然具備對象的良好封裝性,對于使用者而言,他能且僅能看到該對象提供的功能列表。互操作性:任何 Web Service服務通過 SOAP 實現(xiàn)相互間的都可以與其它 Web Service 進行交互,Web,這樣就避免了在 CORBA,DCOM 和其它協(xié)議等等不同協(xié)議之間轉(zhuǎn)換的麻煩。還因為可以使用任何語言來編寫 Web 服務, 開發(fā)者無需更改他們的開發(fā)環(huán)境就可生產(chǎn)和使用 Web 服務,同時還
27、可以在新的Web 服務中使用己有的 Web 服務而不必考慮 Web 服務的實現(xiàn)語言,運行環(huán)境等具體實現(xiàn)細節(jié)。普遍性:Web 服務使用 HTTP 和 XML 進行通信。因此,任何支持這些技術(shù)的設備都可以擁有和生活的各個領(lǐng)域。Web 服務。相信在未來,Web 服務將普遍應用于易實現(xiàn)性:Web Service 背后的概念易于理解,并且來自微軟和 SUN 等這樣工具箱能夠讓開發(fā)者快速創(chuàng)建和部署的 Web 服務。的供應商的松散耦合:這一特性源于對象/組件技術(shù),當一個 Web 服務的實現(xiàn)發(fā)生變更的時候,調(diào)用者將 受到任何影響。對于調(diào)用者來說,只要 Web 服務的調(diào)用界面不變,Web Service 實現(xiàn)的
28、任何變更對他們來說都是透明的,甚至是當 WebService 的實現(xiàn)平臺從 J2EE 遷移到了.NET 或者是相反的遷移流程,用戶都可以對此一無所知。標準性:使用開放的標準協(xié)議進行描述、傳輸和交換。這些標準協(xié)議具有完全的規(guī)范,以便由任意方進行實現(xiàn)。一般而言,絕大多數(shù)規(guī)范將最終由 W3C 或 OASIS(Organization for the Advancement of Structured Information Standards,結(jié)構(gòu)化標準信息推進組織)等權(quán)威組織作為最終版本的發(fā)布方和維護方。2.1.3 Web 服務的結(jié)構(gòu)模型Web 服務本身是跨平臺的、的、模塊化的應用,能夠通過網(wǎng)絡,
29、特別是WWW 來描述、發(fā)布、服務體系結(jié)構(gòu)基于三種以及調(diào)用。根據(jù) W3C 的標準提議,一個典型的 Web(服務提供者、服務發(fā)現(xiàn)和服務請求者)之間的交互。交互涉及發(fā)布、查找和綁定操作。這些件。和操作一起作用于 Web 服務構(gòu)服務提供者定義 Web 服務的服務描述并把它發(fā)布到服務請求者或服務中心。服務請求者使用查找操作來從本地或服務發(fā)現(xiàn)檢索服務描述,然后使用服務描述與服務提供者進行綁定并調(diào)用 Web 服務實現(xiàn)或同它交互。服務提供者和服務請求者是邏輯結(jié)構(gòu),因而服務可以表現(xiàn)兩種特性。圖 2.1 表示了這些操作、提供這些操作的組件及它們之間的交互。查找綁定圖 2.1 Web 服務體系構(gòu)架模型2.1.4 W
30、eb 服務標準和協(xié)議棧要以一種可互操作的方式執(zhí)行發(fā)布、發(fā)現(xiàn)和綁定這三個操作,必須有一個包含每一層標準的 Web 服務協(xié)議棧作為 Web 服務標準化組織,W3C Web 服務體系架構(gòu)工作組(W3C Web Services Architecture Working Group)在概念層面上提出了一組 Web 服務的協(xié)議棧,圖 2.2 展示了這個 Web 服務協(xié)議棧。對各層稍作粗略的解釋如下:Web 服務提供者Web 服務請求者Web 服務圖 2.2 Web 服務體系結(jié)構(gòu)協(xié)議棧服務發(fā)現(xiàn)和集成與 UDDI 服務發(fā)現(xiàn)與集成的目標是根據(jù)請求者的要求發(fā)現(xiàn)合適的 Web 服務,并將該 Web 服務的服務描述
31、返回給請求者,然后請求者可能將該服務動態(tài)集成到應用中。該層可使用的模式有多種。UDDI 作為廣泛使用的規(guī)范是其中的一種。UDDI(Universal Description, Discovery and Integration,通用描述、發(fā)現(xiàn)和集成)是基于 XML 的規(guī)范。它是為使軟件能夠在網(wǎng)絡自動發(fā)現(xiàn)服務并通過提供必要的轉(zhuǎn)換自動同服務集成在一起而設計的。UDDI 報文附加在SOAP 協(xié)議之上,SOAP 負責調(diào)用網(wǎng)上的服務。Web 服務描述層與 WSDL 服務描述層的目標是幫助 Web 服務描述其功能。在這層上 WSDL( Web Services Description Language,W
32、eb 服務描述語言)作為W3C 推薦的服務描述語言得到廣泛的應用,也使事實上的工業(yè)標準。WSDL 用來描述網(wǎng)絡服務或終端(endpoint)的一種 XML 語言,它用于定義 Web 服務:以及如何調(diào)用它們(描述 Web 服務的屬性,例如它做什么,它位于哪里和怎樣調(diào)用它)。消息層與 SOAP 消息層的作用是將 Web 服務消息于特定的傳輸協(xié)議。作為 W3C 唯一推薦的消息層協(xié)議,也是事實上的工業(yè)標注,SOAP(Simple ObjectAccess Protocol,簡單對象協(xié)議)是一個基于 XML 的報文協(xié)議,用于網(wǎng)上的服務。SOAP 可以運行在任何其它傳輸協(xié)議上。比如可以使用 HTTP,SM
33、TP, JMS 等協(xié)議來傳遞 SOAP 消息。各種傳輸層之間基于 Petri 網(wǎng)的 Web 服務組合的驗證與化簡的報頭是不同的,但 XML 有效負載保持相同。SOAP 用 XML 將消息編碼,因此在調(diào)用過程的任何一步都很容易地處理消息。另外,調(diào)試 SOAP消息的方便性使各種 SOAP 執(zhí)行能快速聚合在一起,達到大范圍的協(xié)同工作。最SOAP 的擴展使 Web 服務獲得后各種的特性,比如安全性等等。XML(eXtensible Markup Language,可擴展標記語言)是 Internet 上數(shù)據(jù)表示的一種標準。它是一種元語言,可以用來定義和描述結(jié)構(gòu)化數(shù)據(jù),它和是 Web 服務得以實現(xiàn)的語言
34、基礎。Web 服務的其它協(xié)議規(guī)范都是以 XMI 的形式來描述和表達的。在 Web 服務技術(shù)中,SOAP 消息作為各種傳輸協(xié)議的有效載荷,被用來發(fā)送與接受。迄今為止,在 Web 服務中使用的最廣泛的傳輸協(xié)議協(xié)議是 HTTP,當然也可以使用其它傳輸層協(xié)議,如 FTP、SMTP 等。2.1.5 Web 服務的應用領(lǐng)域Web 服務基本上覆蓋了傳統(tǒng)分布計算技術(shù)的應用領(lǐng)域。作為目前最典型的異構(gòu)分布技術(shù),Web 服務在應用程序跨平臺和跨網(wǎng)絡進行通信的時候是非常有用的。Web 服務適用于應用程序集成、B2B 集成、代碼和數(shù)據(jù)重用,以及通過 Web 進行客戶端和服務器的通信的場合。下面是幾個 Web 服務主要的
35、應用領(lǐng)域:(1)始就是的通信。與 COM,CORBA 等集成技術(shù)不同,Web 服務一開Internet 的集成。他們采用 XML 的一系列標準,并且能夠以 HTTP作為傳輸層協(xié)議,這讓它獲得了穿越的能力。(2)應用系統(tǒng)集成。通過 Web 服務,應用程序可以用標準的方法把功能和數(shù)出來,供其它的應用程序使用。用 Web 服務來實現(xiàn)集成的最大好處在于據(jù)可以輕易實現(xiàn)互操作性。只要的商務邏輯出來,成為 Web 服務,你就可以讓任何指定的合作伙伴輕松的調(diào)用你的商務邏輯,而不管他們的系統(tǒng)在什么平臺上運行,使用的是什么開發(fā)語言。這樣就大大減少了花在集成的上的時間和成本。(3)軟件重用。目前,軟件重用有一個嚴重
36、的限制,即重用僅限于代碼,而數(shù)據(jù)不能被重用。因為可以很輕易的發(fā)布組件甚至源代碼,但要發(fā)布數(shù)據(jù)就沒那么容易了,除非那些數(shù)據(jù)都是經(jīng)常變化的靜態(tài)數(shù)據(jù)。而 Web 服務則在重用代碼的同時,重用代碼后面的數(shù)據(jù)。2.2Web 服務組合2.2.1 Web 服務組合的定義隨著 Web 服務技術(shù)的日益成熟,越來越多的穩(wěn)定易用 Web 服務共享在網(wǎng)絡上。但單個的 Web 服務能夠提供的功能有限,為了更加充分地利用共享的 Web 服務,有必要將共享的 Web 服務組合起來,提供更為強大的服務功能,加快系統(tǒng)開發(fā)的速度,快速滿足用戶需求。Web 服務組合方法從組合方案生成方式來分有兩大類:靜態(tài)組合和動態(tài)組合。靜態(tài)組合意
37、味著請求者應在組合計劃實施前創(chuàng)建一個抽象的過程模型。抽象的過程模型包括任務的集合以及任務間的數(shù)據(jù)依賴關(guān)系,每個任務包含一個的子句,用來查找完成任務的真正的 Web 服務。因此這里的自動僅指 Web 服務的選擇和綁定是由程序自動完成的。靜態(tài)組合中最常用的是用圖來描述過程模型。而動態(tài)組合不僅自動地選擇、綁定 Web 服務,同時更重要的是自動地創(chuàng)建過程模型。這需要請求者指定一些約束關(guān)系,包括 Web 服務間的依賴關(guān)系、用戶的偏愛等。2.2.2 基于BPEL4WS 的 Web 服務組合BPEL4WS( Business Process Execution Language for Web Servic
38、es,Web 服務的商業(yè)流程執(zhí)行語言)是專為整合 Web 服務而制定的一項規(guī)范標準。BPEL4WS 的作用是將一組現(xiàn)有的服務整合起來,從而定義一個新的 Web 服務。它能夠?qū)eb 服務調(diào)用、操作數(shù)據(jù)、拋出故障或終止一個流程等不同的活動連接起來,從而創(chuàng)造出復雜的流程,這些活動可以嵌套到結(jié)構(gòu)化活動中,結(jié)構(gòu)化活動定義了活動的運行方式和流程。BPEL4WS 可將一組現(xiàn)有的服務整合起來,從而定義一個新的 Web 服務。BPEL4WS 流程是一個流程圖,用來表達特定業(yè)務的處理邏輯和算法,流程的每一步稱為一個活動。BPEL4WS 主要利用 WSDL 使得服務的動態(tài)綁定成為可能,但它沒有提供具體方式來選取動
39、態(tài)綁定時需要調(diào)用的服務,并且 BPEL4WS 不支持在應用運行時的流程模型的調(diào)整。與類似 BPEL4WS 這樣來表達業(yè)務流程的還有 BPEL 等。查找 Web 服務時需要搜索巨大的服務空間,比較、匹配滿足條件的服務,因此用來組建組合服務的方法復雜、動態(tài)以致難以手工處理。為了自動地開發(fā)組合服務,需要同軟件開發(fā)方法一樣的系統(tǒng)的方法來分析需求,將需求所涉及的活動模型化。改變服務開發(fā)方法使其適應服務組合開發(fā)的好處是我們能夠深入了解組建服務組合流程以致更好地管理其實現(xiàn)。2.3 Petri 網(wǎng)Petri 網(wǎng)是對離散并行系統(tǒng)的數(shù)學表示。Petri 網(wǎng)最早是由德國學者 Carl Adam Petri 博士在
40、1962 年提出來的,適合于描述異步的、并發(fā)的計算機系統(tǒng)模型。Petri 網(wǎng)既有嚴格的數(shù)學表述方式,也有直觀的圖形表達方式,既有豐富的系統(tǒng)描述手段和系統(tǒng)行為分析技術(shù),又為計算機科學提供堅實的概念基礎。一個 Petri 網(wǎng)是一個有向連通圖,其節(jié)點分別稱為庫所和變遷,每個庫所代,而庫所中的托肯數(shù)表示的數(shù)量,當變遷 t 的所有輸入庫所中都表一種至少含有一個托肯時(標識 M),t 就可以發(fā)生,記為M>t。變遷發(fā)生的結(jié)果是從每個輸入庫所中移除若干個托肯,而給每個輸出庫所移入若干個托肯。此時到達標識 M記為M>tM。一個經(jīng)典的 Petri 的數(shù)學表達如下:Net(S,T;F)STSTFS
41、15;T T×S dom(F)cod(F)ST 其中 S 是庫所(狀態(tài))的集合,T 為變遷()的集合。在形式化表達中,通常用圓圈或橢圓表示庫所,用方框或粗杠表示變遷,用箭頭表示流關(guān)系的圖形的示例,如圖 2.3:s1t1t2s6s2s3s4s5t4t3s->t兩種弧t->ss7圖 2.3Petri 網(wǎng)中的形式化表達Petri 網(wǎng)是一個良好的過程建模方法,在庫所中添加表示狀態(tài)信息的托肯分布,并按規(guī)則使得變遷驅(qū)動狀態(tài)演變,從而反映系統(tǒng)動態(tài)運行過程。采用 Petri 網(wǎng)來建立模型有許多優(yōu)點,主要有兩個:其一是其圖形化的描述比較容易讓用戶理解系統(tǒng)模型,其二是可以利用 Petri 網(wǎng)
42、對模型進行形式分析和驗證。第三章基于 Petri 網(wǎng)的 Web 服務組合3.1 基于 Petri 網(wǎng)的 Web 服務定義為了應用 Petri 網(wǎng)驗證 Web 服務,需將 Petri 網(wǎng)元素與 Web 服務的元素相對應,以達成用 Petri 網(wǎng)形式化地描述 Web 服務組合?;?Petri 網(wǎng)的 Web 服務定義如下。定義 3.1 Web 服務定義。一個 Web 服務 S 定義為六元組:S=(Id,SName,Desc,SOnto,URL,Oper), 其中:llllId:Web 服務的唯一的標識; SName:Web 服務的名稱; Desc:服務的描述;SOnto:服務的領(lǐng)域本體,包括對服務
43、所屬領(lǐng)域類型的語義描述及參數(shù)及操作的語義描述;分類領(lǐng)域本體用來過濾掉不相關(guān)的不同服務領(lǐng)域的服務,組織服務到服務的所屬分類。llURL:服務的調(diào)用;Oper:服務的操作集。定義 3.2 服務網(wǎng)的定義。一個服務網(wǎng) SN 定義為五元組,用來對服務的動態(tài)行為進行建模:SN=(P,T,W,i,o),其中:P:有限庫所集,代表 Web 服務的狀態(tài),P=p1,p2,.,pn;T:有限變遷集,代表服務中的操作(operation)及服務之間的操作,T=t1, t2,.,tn;W:(P×T) (T×P) ,是有向弧的集合,表示服務狀態(tài)和操作之間的關(guān)系; i:輸入庫所,i=xPT|(x,i)W
44、=; o:輸出庫所,o=xPT|(o,x)W=。庫所 i 被認為是服務 S 的初始標識,當有一個托肯在庫所 i 中時,執(zhí)行服務S,當有一個托肯在庫所 o 中時,被認為終止服務 S。用標識函數(shù)表示系統(tǒng)狀態(tài), 另外對系統(tǒng)狀態(tài)的演變過程進行描述,就可以對 Web 服務組合系統(tǒng)的靜態(tài)特性、動態(tài)特性進行全面的建模。系統(tǒng)動態(tài)演變過程的描述是和 Petri 網(wǎng)的運行規(guī)則對應的:(1) tT 在標識 M 可觸發(fā)當且僅當對于任何 pP,M(p)I(p,t);(2) 若 t T 在標識 M 下可觸發(fā), 按照激活規(guī)則產(chǎn)生新標識 M' , M(p)=M'(p)+W(p,t)-W(t,p)。M'
45、被稱為 M 的直接可達標識,M 稱為 M0 的可達標識當且僅當在以上運行規(guī)則下,存在一個變遷的觸發(fā)序列 t1,t2,.,tn,使得模型標識從 M0 轉(zhuǎn)換到 M,所有 M0 的可達標識稱為 Petri 網(wǎng) PN 的可達集。3.2 Web 服務組合的代數(shù)描述Web 服務組合組件由原子服務和結(jié)構(gòu)兩部分組成。結(jié)構(gòu)如:順序、并行、選擇、循環(huán)等,本文采用 Petri 網(wǎng)對流精確描述。在定義 3.1 的和定義 3.2 的基礎上,Web 服務組合可通過類 BNF 范式的符號進行定義。代數(shù)操作符的語法如下:S:=X|S1S2|S1S2|S1S2|S|S1cS2(1)X 表示一個原子服務或空服務(即一個服務沒有執(zhí)
46、行任何操作); (2)S1S2 表示一個組合服務是順序執(zhí)行 S1 和 S2 后形成的; (3)S1S2 表示一個組合服務是執(zhí)行 S1 或 S2 后形成的(不可兼或);(4) S1S2 表示一個組合服合是按 S1 和 S2 順序執(zhí)行或按 S2 和 S1 順序執(zhí)行后形成的,等價于 S1S2S2S1;(5) S 表示一個組合服務是由 S 循環(huán)執(zhí)行 次后形成的;(6) S1CS2 表示一個組合服務是由 S1 和 S2 并發(fā)執(zhí)行后形成的,在并發(fā)執(zhí)行中間兩個服務間可能會有通信。組合的 Web 服務可以通過上述的代數(shù)表達式獲得。定義 3.3 服務組合模型是合理的,必須滿足以下基本要求:(1) 每個模型都存在
47、一個輸入庫所 i 和一個輸出庫所 O;(2) 每個變遷庫所都在一條從輸入庫所 i 到輸出庫所 O 的路徑上;(3) 在任何情況下,服務組合總能最終終止,在終止的時候,只有輸出庫所中有托肯,而其它庫所是沒有托肯存在的;(4) 在組合模型中沒有死組合的存在,即任何一個組合都有執(zhí)行的可能。根據(jù)以上四個要求,我們給出組合模型的圖形化表示。采用 Petri 網(wǎng)建模時, 指定服務的操作為變遷,服務的狀態(tài)為庫所,基于 Petri 網(wǎng)的 Web 服務建模方法中最小的組合單元是原子服務。在服務組合中將子服務(原子服務或組合服務)的操作當作(變遷),子服務 S1 和 S2 的操作執(zhí)行使得服務的狀態(tài)(庫所)發(fā)生了改
48、變。任何時刻一個服務可以處于如下狀態(tài):非實例狀態(tài)(notinstantiated)、準備好狀態(tài)(ready)、運行狀態(tài)(running)、掛起狀態(tài)(suspended)和完成狀態(tài)(finished)。本文服務組合中處于ready狀態(tài)的服務被組合,當服務處于finished狀態(tài)時表示服務被組功。(1)組合服務 S1S2 的 Petri 網(wǎng)圖形化表示如圖 3.1 所示。圖 3.1 組合服務 S1S2(2)組合服務 S1S2 的 Petri 網(wǎng)圖形化表示如圖 3.2 所示。圖 3.2 組合服務 S1S2(3) 組合服務 S1S2 的 Petri 網(wǎng)圖形化表示如圖 3.3 所示。圖 3.3 組合服務
49、S1S2(4) 組合服務 S 的 Petri 網(wǎng)圖形化表示如圖 3.4 所示。圖 3.4 組合服務 S(5) 組合服務 S1CS2 的 Petri 網(wǎng)圖形化表示如圖 3.5 所示,兩個子服務間有可能有信息通信,庫所 m 用來存放通信信息。圖 3.5 組合服務 S1cS2對于一些更復雜的服務組合操作,可以由上述基本操作可復雜的服務組合操作。如(S1S2Sn)S,其 Petri 網(wǎng)圖形化表示如圖 3.6 所示。該組合服務表示先執(zhí)行原子服務集合中的某個 Si(i1,2n),再執(zhí)行 S 后形成的組合服務。其中從 n 個原子服務中選擇最優(yōu)的原子服務的過程將根據(jù)價格,遞交時間和可靠性能等因素通過選用一個等
50、級標準來。圖 3.6 組合服務(S1S2.Sn)S3.3 Petri 網(wǎng)模型生成算法在服務組合時需要通過Petri 網(wǎng)的分析技術(shù)來對組合服務進行驗證分析,Petri網(wǎng)模型生成算法的生成算法如下:Step1.確定待組合的 Web 服務數(shù)、各服務的操作以及流;Step2.產(chǎn)生一個的初始服務狀態(tài),并加上一個標記,作為初始子網(wǎng); Step3.forj=1toM/*待組合服務中有 j 個操作模塊*/a.按流選擇一個操作模塊;b.給每個操作分配一個隨機操作時間,操作時間滿足指數(shù)分布的概率分布; c.將操作連接到已存在的子網(wǎng)中去。Step4.end Step5.endStep6.為每種服務狀態(tài)創(chuàng)建相應的狀態(tài)
51、位置; Step7.使用如下方法將服務狀態(tài)加入到操作中去:a.選擇一個服務狀態(tài)位置;b.按流將此狀態(tài)分配給相應的服務操作,分配時用輸出弧將狀態(tài)位置和操作位置的輸入變遷相連,用輸入弧將狀態(tài)和操作位置的輸出變遷相連;c.重復 Step7,直到按流所有操作位置都分配了服務狀態(tài)。在程序?qū)崿F(xiàn)中,算法程序的輸出就是產(chǎn)生的服務組合的 Petri 網(wǎng)模型,它們是用伴隨矩陣和、初始標識、終止標識和操作時間向量 來描述的。3.4 應用 Petri 網(wǎng)驗證 Web 服務組合分析 Petri 網(wǎng)可采用可達樹法、不變量分析、約簡等方法,其中可達樹分析法直觀簡捷,可方便地分析系統(tǒng)的可達性、有界性、活性等各種動態(tài)特性,Pe
52、tri 網(wǎng)的大部分特性可以由可到達樹來進行驗證。我們通過結(jié)合可到達樹的構(gòu)造和正確性的檢查來實現(xiàn)流程模型的驗證過程。可到達樹的基本思想就是將可到達的標識作為節(jié)點,變遷的觸發(fā)作為連接弧,來構(gòu)造一棵樹。我們的算法就是在構(gòu)造樹的過程中,檢查服務組合的狀態(tài)和其中庫所的托肯數(shù)目以實現(xiàn)流程模型的驗證。當服務組合時只關(guān)心系統(tǒng)可能的狀態(tài)時,可達標識集可以滿足這類問題的要求。給定 Petri 網(wǎng)中的一個標識 M,該網(wǎng)絡的可達標識表示為M>。給定一個以M0 M0 為初始標識的 Petri 網(wǎng) N,我們可以從 M0 (根結(jié)點)開始計算得到與使能變遷一樣多的新標識。從這些新的標識,又可得到的標識,重復進行這個過程
53、的結(jié)果可得到一棵可達樹。節(jié)點就是從 M0 產(chǎn)生的后繼標識,弧代表從從初態(tài) M0 開始的所有可能一個標識到另一個標識的變遷激發(fā)??蛇_樹到達的狀態(tài),結(jié)點代表 M0 及其可達的后繼,其中樹根為 M0,樹葉對應著系統(tǒng)的終態(tài),弧代表相應的變遷。從樹根到某結(jié)點的路徑代表著從初態(tài)變遷到該狀態(tài)。利用可達樹算法生成可達樹后,任何發(fā)生序列都可通過在圖上執(zhí)行搜索獲得。Web 服務組合的正確終止對于組合服務非常重要,通過 Petri 網(wǎng)對活性和有界性的驗證來決定服務是否正常結(jié)束,通過是否具有完全可達性、完整性和前進性來驗證 Web 服務組合的正確性。定義 3.4 可達性:若從初始標識 M0 出發(fā)觸發(fā)一個變遷序列產(chǎn)生標
54、識 Mr,則稱 Mr 是從 M0 可達的。所有從 M0 可達的標識的集合稱為可達標識集或可達集,記為 R(M0)。定義 3.5有界性:給定 PN 以及其可達集 R(M0),對于位置 pP,若 0mR(M0):M(p)k,則稱 p 是 k 有界的,此處 k 為正整數(shù);若 Petri 網(wǎng)的所有位置都是 k 有界的,則 Petri 網(wǎng)是 k 有界。定義 3.6 活性:對于一個變遷 tT,在任一個標識 MR 下,若存在某一變遷序列 Ser,該變遷序列的觸發(fā)使得此變遷 t 可觸發(fā),則稱該變遷是活的。若一個 Petri 網(wǎng)的所有變遷都是活的,則稱該 Petri 網(wǎng)是活的。定義 3.7 完整性:Petri
55、網(wǎng)所有的狀態(tài)都是可達的。定義 3.8前進性:每次觸發(fā)都將逐步推向終態(tài),可達樹中循環(huán)。出現(xiàn)無論的同時具有上述 5 個性質(zhì)的 Petri 網(wǎng)出現(xiàn)停滯不前的狀態(tài),執(zhí)行中所處的狀態(tài)及等待的消息是有限的,的正確性的分析。出現(xiàn)死鎖。本文給出如下兩個 Web 服務組合(1)組合服務 S1S2 的正確性分析下面通過對圖 3.4 所示的組合服務 S1S2 的構(gòu)造可達樹,以分析該服務組合的正確性,可達樹如圖 3.7 所示。圖 3.7 組合服務 S1S2 的可達樹 該組合服務是完全可達的。從 M0 開始的狀態(tài)可達集 R(M0)= M0, M1 ,M2 ,M3 , M4 , M5 , M6。狀態(tài)集 MS= M0, M1 ,M2 , M3 , M4 , M5 , M6。因此,對任一個標記 MiMS,均有R(M0),即組合服務 S1S2 中任一個狀態(tài)都是從 M0 可達。該組合服務具有界性。在可達樹中,每一個位置上的托
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財務課題申報書范文
- 課題申報書高校
- 申報課題的項目書
- 人文社科研究課題申報書
- 畜牧養(yǎng)殖課題申報書
- 課題申報書項目內(nèi)容
- 課題申報書人員分工
- 婦科課題立項申報書
- 橫向科研課題申報書
- 單縣新房購房合同范例
- 上海初中英語考綱詞匯表整理
- 信息化教學設計教案大學語文
- 氧氣、二氧化碳、氬氣安全周知卡
- 第9章 循環(huán)系統(tǒng)疾病患兒的護理
- 基層醫(yī)療衛(wèi)生機構(gòu)崗位設置指導意見
- micro830和micro850可編程控制器手冊
- FSC-COC培訓學習
- 焊接線能量的計算公式
- 醫(yī)用氧儲罐檢查記錄表
- 植物的營養(yǎng)器官:根、莖、葉匯總
- 第三套廣播體操《七彩陽光》分解動作講解(共4頁)
評論
0/150
提交評論