999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Web服務(wù)組合可適配性自動(dòng)判定研究

2021-02-28 08:59:10
關(guān)鍵詞:語(yǔ)義動(dòng)作服務(wù)

張 馳

(江西財(cái)經(jīng)大學(xué) 軟件與物聯(lián)網(wǎng)工程學(xué)院,南昌 330013)

1 引 言

面向服務(wù)的計(jì)算以可復(fù)用的Web服務(wù)為基本構(gòu)造單元,為解決分布式應(yīng)用系統(tǒng)集成提供了新的計(jì)算范型[1].由于單個(gè)服務(wù)功能有限,一般不能提供完整的解決方案,為實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)邏輯,必須對(duì)服務(wù)進(jìn)行組合[2].組合的Web服務(wù)之間相互兼容才能保證服務(wù)正確交互,然后,在開(kāi)放環(huán)境下組合的Web服務(wù)往往由眾多不同的開(kāi)發(fā)者提供,這導(dǎo)致Web服務(wù)在接口描述、功能實(shí)現(xiàn)、運(yùn)行行為上存在廣泛的異構(gòu)性,這種異構(gòu)性導(dǎo)致提供的服務(wù)無(wú)法直接集成,造成雖有大量的Web服務(wù)存在但實(shí)際可復(fù)用性較差,嚴(yán)重阻礙了面向服務(wù)計(jì)算技術(shù)的推廣和應(yīng)用.

Web服務(wù)適配為解決這一問(wèn)題提供了可行的方法,成為推動(dòng)和實(shí)施面向服務(wù)軟件應(yīng)用的關(guān)鍵技術(shù)[3].通過(guò)非介入方式構(gòu)造一個(gè)被稱(chēng)為適配器的第三方服務(wù),對(duì)不兼容的服務(wù)進(jìn)行消息的緩存、攔截、轉(zhuǎn)換、提取、合并等處理手段來(lái)消除服務(wù)間的不兼容從而保證服務(wù)間的正確交互.

Web服務(wù)適配并不能保證解決所有失配問(wèn)題,因而,在沒(méi)有預(yù)先的可適配性分析前提下Web服務(wù)適配總會(huì)面臨失敗的風(fēng)險(xiǎn),可適配性分析則是用于在適配之前判斷適配的可行性,防止進(jìn)行無(wú)謂適配的一種技術(shù).

本文首先構(gòu)建包含語(yǔ)法、語(yǔ)義和行為信息的SxSTS(Semantic extended Symbolic Transition System)模型全面準(zhǔn)確刻畫(huà)Web服務(wù),然后基于本體概念兼容建立參數(shù)之間的映射關(guān)系,在此基礎(chǔ)上自動(dòng)生成動(dòng)作映射關(guān)系,通過(guò)檢查所有發(fā)送動(dòng)作是否都有對(duì)應(yīng)接收動(dòng)作以及所有接收動(dòng)作中不存在缺失參數(shù)來(lái)判定組合服務(wù)的可適配性.該方法對(duì)大規(guī)模Web服務(wù)組合的可適配性判定具有重要的意義.

2 相關(guān)工作

Web服務(wù)組合可適配性分析的任務(wù)是檢測(cè)導(dǎo)致服務(wù)失配的問(wèn)題能否通過(guò)適配器解決.到目前為止,Web服務(wù)組合可適配性分析并未取得系統(tǒng)化成果,一些研究成果將Web服務(wù)組合可適配性分析隱含于適配器生成或正確性驗(yàn)證中[4-14],文獻(xiàn)[4,5]提出基于LTS模型的適配器生成與正確性驗(yàn)證方法;文獻(xiàn)[6,7]采用自動(dòng)機(jī)模型研究了行為層適配器的生成;文獻(xiàn)[8]采用CSP模型描述Web服務(wù)行為,將協(xié)作流程轉(zhuǎn)換為協(xié)作子流程,檢查服務(wù)是否可以通過(guò)適配機(jī)制滿足兼容性要求,同時(shí)給出了適配器自動(dòng)生成算法;文獻(xiàn)[9,10]采用PI演算對(duì)服務(wù)的行為描述,采用1-1、1-n、n-1、1-0、0-1、m-n 這5種動(dòng)作映射,基于PI 演算生成符合動(dòng)作映射要求的適配器規(guī)約;文獻(xiàn)[11]引入了失配模式,每種失配對(duì)應(yīng)相應(yīng)適配邏輯,利用面向方面的編程技術(shù)把適配邏輯作為適配方面織入到需適配的Web服務(wù)實(shí)例中,而不是生成一個(gè)獨(dú)立的適配器.文獻(xiàn)[12]將動(dòng)作映射表示為同步向量,并人工設(shè)計(jì)同步向量的時(shí)序關(guān)系作為適配契約,提出了基于LTS的動(dòng)態(tài)服務(wù)適配方法.文獻(xiàn)[13]在組合和適配中將環(huán)境變化因素顯式建模.上述方法在適配時(shí)只考慮了Web服務(wù)行為的控制流信息,沒(méi)有考慮服務(wù)接口動(dòng)作中的數(shù)據(jù)流信息,而且動(dòng)作映射都是通過(guò)人工生成,自動(dòng)化程度較低,上述文獻(xiàn)中主要討論了行為層適配器的構(gòu)造方法,對(duì)于可適配性并未深入討論.

可適配性判定是對(duì)Web服務(wù)能否通過(guò)適配實(shí)現(xiàn)正常交互可行性的確認(rèn),而適配器正確性驗(yàn)證是對(duì)生成的適配器是否滿足期望的能力的驗(yàn)證.即前者是對(duì)未知結(jié)果的預(yù)測(cè),后者是對(duì)結(jié)果能力的驗(yàn)證,所以嚴(yán)格來(lái)講,后者不等同于服務(wù)組合可適配性.Tan首次明確提出了行為可適配分析的概念[14],通過(guò)構(gòu)建交互服務(wù)的通信可達(dá)圖來(lái)進(jìn)行行為可適配性分析.該方法依賴(lài)于交互服務(wù)的通信可達(dá)圖,在服務(wù)規(guī)模較大時(shí),仍可能導(dǎo)致?tīng)顟B(tài)空間爆炸問(wèn)題.文獻(xiàn)[3]提出基于組件服務(wù)流網(wǎng)可達(dá)圖的行為可適配分析方法,可有效避免狀態(tài)空間爆炸問(wèn)題,但沒(méi)有考慮數(shù)據(jù)流信息,動(dòng)作映射需要人工生成,未能解決可適配性自動(dòng)判定問(wèn)題.

3 Web服務(wù)模型SxSTS

在Web服務(wù)中,消息作為通信數(shù)據(jù)的抽象類(lèi)型化定義,一般有一個(gè)或者多個(gè)消息參數(shù).

定義1.(消息)消息是一個(gè)參數(shù)序列m=,1≤i≤n,pi表示W(wǎng)eb服務(wù)中的接口參數(shù).對(duì)于發(fā)送消息來(lái)說(shuō)是實(shí)參,對(duì)于接收消息來(lái)說(shuō)為形參.

可用PL表示參數(shù)的集合,對(duì)于消息m,使用var(m)表示消息m的參數(shù)集合,若m=,則var(m)={p1,…,pn}?PL.對(duì)每個(gè)參數(shù)來(lái)說(shuō),既具有數(shù)據(jù)類(lèi)型,也具有語(yǔ)義本體的概念.定義2給出了既包含語(yǔ)法層又包含語(yǔ)義層信息的Web服務(wù)語(yǔ)義接口的概念.

定義2.(語(yǔ)義接口)Web服務(wù)的語(yǔ)義接口是一個(gè)五元組WSS=(PL,M,ACT,type,conpt),滿足如下條件:

1)PL是服務(wù)的參數(shù)集合;

2)M是服務(wù)的消息集合,滿足PL=var(M),var(M)=∪m∈Mvar(m);

3)ACT是服務(wù)上的動(dòng)作集合,一個(gè)動(dòng)作act∈ACT,動(dòng)作act可以是內(nèi)部動(dòng)作τ,也可以是外部可見(jiàn)動(dòng)作(d,n,m)滿足:d∈{!,?}表明動(dòng)作的方向,“!”表示發(fā)送,“?”表示接收,n表示動(dòng)作名,m∈M表示消息;

4)映射type:PL→DT是一個(gè)函數(shù),表示每個(gè)參數(shù)的數(shù)據(jù)類(lèi)型,其中PL是參數(shù)集合,DT是一個(gè) XML數(shù)據(jù)類(lèi)型集合;

5)conpt:PL→IC表示每個(gè)參數(shù)的概念,IC是共享本體的概念集;

消息的類(lèi)型和消息的概念可用參數(shù)數(shù)據(jù)類(lèi)型和概念的聯(lián)合來(lái)表示,對(duì)?m=∈M,消息的類(lèi)型用type(m)表示,即:type(m)=(type(p1),…,type(pn)),消息m的概念用conpt(m)表示,即:conpt(m)=(conpt(p1),…,conpt(pn))=(C1,…,Cn),其中conpt(pi)=Ci,pi∈PL,Ci∈IC,i∈(1,…,n).

Web服務(wù)中的動(dòng)作之間的時(shí)序關(guān)系稱(chēng)為其行為協(xié)議,通過(guò)STS模型來(lái)描述Web服務(wù)的接口語(yǔ)法及接口動(dòng)作之間的時(shí)序關(guān)系,STS模型的操作語(yǔ)義見(jiàn)文獻(xiàn)[15],在STS模型的基礎(chǔ)上添加了參數(shù)的語(yǔ)義本體概念信息,形成SxSTS模型涵蓋了Web服務(wù)的語(yǔ)法、語(yǔ)義和行為協(xié)議層的信息,形成了對(duì)Web服務(wù)精準(zhǔn)的刻畫(huà).SxSTS是圖形化的工具,簡(jiǎn)單直觀、易于理解,且有成熟的語(yǔ)義基礎(chǔ)和工具支持.

定義3.(SxSTS模型)一個(gè)Web服務(wù)的SxSTS模型可以表示為六元組SxSTS=(S,I,F(xiàn),ACT,T,fC),其中:

1)S表示狀態(tài)的集合;

2)I∈S表示初態(tài);

3)F?S表示終態(tài)的集合;

4)ACT表示動(dòng)作的集合,ACT=τ∪ACT!∪ ACT?,其中ACT!表示發(fā)送動(dòng)作集合,ACT?表示接收動(dòng)作集合;

5)T?S×ACT×S表示變遷的集合;

6)fC:M→C是消息集合M到本體概念集合C的映射函數(shù).

4 失配分析

Web服務(wù)組合的系統(tǒng)每次交互總是由發(fā)送方發(fā)出請(qǐng)求動(dòng)作,發(fā)送動(dòng)作的執(zhí)行最終會(huì)導(dǎo)致對(duì)偶的接收動(dòng)作的執(zhí)行,若沒(méi)有發(fā)送動(dòng)作的執(zhí)行對(duì)偶的接收動(dòng)作永遠(yuǎn)也不會(huì)執(zhí)行.所謂對(duì)偶的動(dòng)作是指發(fā)送動(dòng)作和接收動(dòng)作名稱(chēng)相同,方向相反,并且動(dòng)作中的參數(shù)順序、個(gè)數(shù)、類(lèi)型以及語(yǔ)義兼容.

組合服務(wù)執(zhí)行時(shí)每個(gè)SxSTS模型從初態(tài)開(kāi)始,在每個(gè)全局狀態(tài)下,所有的發(fā)送動(dòng)作都有對(duì)應(yīng)的接收動(dòng)作,直到所有的SxSTS都到達(dá)了自己的終態(tài)表明系統(tǒng)兼容.然后,在開(kāi)放環(huán)境下組合的Web服務(wù)往往由眾多不同的開(kāi)發(fā)者提供,這導(dǎo)致Web服務(wù)在參數(shù)聲明、動(dòng)作命名、動(dòng)作粒度、動(dòng)作時(shí)序等方面存在不同的差異,從而導(dǎo)致系統(tǒng)不兼容而不能正確交互.

語(yǔ)法層的失配包含參數(shù)的失配和動(dòng)作失配兩個(gè)方面,其中在參數(shù)層可能會(huì)出現(xiàn)如下失配情形:

·參數(shù)冗余:發(fā)送動(dòng)作中的實(shí)參在接收動(dòng)作中無(wú)對(duì)應(yīng)的形參;

·參數(shù)缺失:接收動(dòng)作中的形參在發(fā)送動(dòng)作中無(wú)對(duì)應(yīng)的實(shí)參;

·參數(shù)順序不同:發(fā)送動(dòng)作中實(shí)參順序和接收動(dòng)作中形參順序不同

·參數(shù)類(lèi)型不同:發(fā)送動(dòng)作中實(shí)參和對(duì)應(yīng)的接收動(dòng)作中的形參類(lèi)型不同;

·參數(shù)語(yǔ)義不同:發(fā)送動(dòng)作中的實(shí)參和接收動(dòng)作中的形參概念不同.

在動(dòng)作層可能出現(xiàn)如下失配情形:

·動(dòng)作命名不同:發(fā)送動(dòng)作和接收動(dòng)作命名不同;

·接收動(dòng)作缺失1-0:發(fā)送動(dòng)作無(wú)對(duì)應(yīng)接收動(dòng)作;

·接收動(dòng)作冗余0-1:接收動(dòng)作無(wú)對(duì)應(yīng)發(fā)送動(dòng)作;

·動(dòng)作拆分1-n:一個(gè)發(fā)送動(dòng)作對(duì)應(yīng)多個(gè)接收動(dòng)作;

·動(dòng)作合并m-1:一個(gè)接收動(dòng)作對(duì)應(yīng)多個(gè)發(fā)送動(dòng)作;

在行為層可能出現(xiàn)每個(gè)發(fā)送動(dòng)作都有相應(yīng)接收動(dòng)作,但發(fā)送動(dòng)作和接收動(dòng)作的時(shí)序不同.

上述各種差異中有的差異可以通過(guò)適配器的緩存、攔截、轉(zhuǎn)換、提取、合并等處理手段進(jìn)行協(xié)調(diào),但適配器不能“無(wú)中生有”,有的差異適配器是無(wú)法解決的.比如接收參數(shù)缺失和接收動(dòng)作缺失,眾所周知,Web服務(wù)組合中動(dòng)作是交互的原子單位,在某個(gè)狀態(tài)下一個(gè)發(fā)送動(dòng)作需要發(fā)送但沒(méi)有對(duì)應(yīng)的接收動(dòng)作則該發(fā)送動(dòng)作無(wú)法執(zhí)行而導(dǎo)致死鎖.對(duì)于一個(gè)要執(zhí)行的接收動(dòng)作而言,如果其中的形參沒(méi)有對(duì)應(yīng)的實(shí)參對(duì)其賦值該接收動(dòng)作也無(wú)法執(zhí)行.

盡管可適配性分析并不能保證適配一定能夠成功,比如對(duì)于動(dòng)作的失序失配只能在適配過(guò)程中判定適配是否成功,但能夠盡早發(fā)現(xiàn)明顯不可適配的情形,避免進(jìn)行無(wú)謂的適配計(jì)算.

5 動(dòng)作自動(dòng)映射

動(dòng)作映射是可適配性分析的基礎(chǔ),針對(duì)當(dāng)前動(dòng)作映射主要通過(guò)人工生成,工作量大且容易出錯(cuò),基于類(lèi)型的動(dòng)作映射生成方法準(zhǔn)確性低,會(huì)產(chǎn)生大量的錯(cuò)誤映射,要解決Web服務(wù)組合自動(dòng)可適配性判定必須解決動(dòng)作映射的自動(dòng)生成并且保證動(dòng)作映射的準(zhǔn)確性.本文利用參數(shù)概念兼容性首先建立參數(shù)之間的映射關(guān)系,然后合并參數(shù)形成動(dòng)作,根據(jù)參數(shù)映射關(guān)系建立動(dòng)作之間的映射關(guān)系,最后剔除因委托調(diào)用而產(chǎn)生的冗余動(dòng)作,動(dòng)作自動(dòng)映射通過(guò)如下步驟實(shí)現(xiàn):

2)將臨時(shí)動(dòng)作集合中具有相同服務(wù)名和相同動(dòng)作名的發(fā)送動(dòng)作合并為一個(gè)發(fā)送動(dòng)作,將臨時(shí)動(dòng)作集合中具有相同服務(wù)名和相同動(dòng)作名的接收動(dòng)作合并為一個(gè)接收動(dòng)作;

3)檢查動(dòng)作的對(duì)應(yīng)關(guān)系,將一個(gè)輸出動(dòng)作只有一個(gè)輸入動(dòng)作的映射歸入1-1動(dòng)作映射集合AM1-1中,將一個(gè)輸出動(dòng)作有多個(gè)輸出動(dòng)作的映射歸入1-n動(dòng)作映射集合AM1-n中,將一個(gè)輸入動(dòng)作有多個(gè)輸入動(dòng)作的映射歸入n-1動(dòng)作映射集合AMn-1中,剩余的動(dòng)作歸入m-n動(dòng)作映射集合AMm-n中.然后對(duì)于AMm-n中的動(dòng)作映射,以接收動(dòng)作為基準(zhǔn),形成n個(gè)k-1的動(dòng)作映射,其中1

4)剔除冗余的動(dòng)作映射.對(duì)于委托調(diào)用的情況,會(huì)在AM1-1中出現(xiàn)一個(gè)服務(wù)的接收動(dòng)作對(duì)應(yīng)另外兩個(gè)服務(wù)相同的發(fā)送動(dòng)作,如(WSSi.act!,WSSj.act?),(WSSj.act!,WSSk.act?),(WSSi.act!,WSSk.act?),其中第3個(gè)動(dòng)作映射是冗余的,可將其剔除.

依據(jù)上述步驟,可以設(shè)計(jì)算法建立Web服務(wù)輸出動(dòng)作和輸入動(dòng)作的自動(dòng)映射.算法框架如算法1所示.

算法1.動(dòng)作映射算法

1.輸入:Web服務(wù)語(yǔ)義接口WSS1,WSS2,…,WSSn

2.輸出:參數(shù)映射集Plist;接口動(dòng)作映射集合AM

3.For each WSSisuch that i=1 to n do

5.End For

8. 初始化臨時(shí)參數(shù)集PT={ };

13. End If

14. End For

15. End For

17. End For

18. End For

23.End For

25.按相同服務(wù)名的相同輸入動(dòng)作名合并動(dòng)作映射;

26.相同服務(wù)名的相同輸出動(dòng)作名合并動(dòng)作映射;

27.End For

28.For each 合并后的動(dòng)作映射

29. If 一個(gè)輸出動(dòng)作對(duì)應(yīng)一個(gè)輸入動(dòng)作

Then 將動(dòng)作映射并入AM1-1;

30. Else If 一個(gè)輸出動(dòng)作對(duì)應(yīng)多個(gè)輸入動(dòng)作

Then將動(dòng)作映射并入AM1-n;

31. Else If一個(gè)輸入動(dòng)作對(duì)應(yīng)多個(gè)輸出動(dòng)作

Then將動(dòng)作映射并入AMn-1;

32. Else 剩余動(dòng)作并入AMm-n;

33.End If

34.End For

35.If ?(WSSi.act!,WSSj.act?),(WSSj.act!,WSSk.act?),(WSSi.act!,WSSk.act?)∈AM1-1

36. Then delete(WSSi.act!,WSSk.act?);

37.End If

38.Return AM=AM1-1∪AM1-n∪AMn-1∪AMm-n;

算法語(yǔ)句3-18根據(jù)概念兼容找出所有與輸出參數(shù)概念兼容的輸入?yún)?shù)形成參數(shù)映射集合.語(yǔ)句19-23根據(jù)參數(shù)映射集合將所有輸出參數(shù)所在的動(dòng)作與輸入?yún)?shù)所在動(dòng)作建立映射集合R.語(yǔ)句24-30將動(dòng)作映射集合R中相同服務(wù)相同動(dòng)作進(jìn)行合并,并按照動(dòng)作對(duì)應(yīng)關(guān)系放入1-1動(dòng)作映射子集AM1-1中,將1-n動(dòng)作映射關(guān)系放入AM1-n中,將n-1動(dòng)作映射關(guān)系放入AMn-1中,其余m-n動(dòng)作映射放入AMm-n中.語(yǔ)句31-33將AM1-1集合中因委托調(diào)用而產(chǎn)生的一個(gè)發(fā)送對(duì)應(yīng)多個(gè)接收的冗余動(dòng)作剔除.

6 可適配性判定

在自動(dòng)動(dòng)作映射的基礎(chǔ)上,檢查是否所有發(fā)送動(dòng)作都有對(duì)應(yīng)的接收動(dòng)作并且每個(gè)接收動(dòng)作中的所有接收參數(shù)是否都有對(duì)應(yīng)的發(fā)送參數(shù)來(lái)判斷Web服務(wù)組合的可適配性.但是在有冗余接收動(dòng)作的情況下,該冗余接收動(dòng)作后可能還會(huì)有發(fā)送動(dòng)作,因?yàn)樵撊哂嘟邮談?dòng)作不可能執(zhí)行因而其后的所有動(dòng)作都不會(huì)執(zhí)行.

如圖1所示例子中?c是冗余接收,其后的下個(gè)發(fā)送動(dòng)作!d是不會(huì)執(zhí)行的,所以!d是不需要有對(duì)應(yīng)的接收動(dòng)作映射的,同時(shí)?c也是沒(méi)有發(fā)送動(dòng)作與其映射,所以在判定可適配性前,我們要剔除冗余接收動(dòng)作以及以該冗余接收為唯一前驅(qū)的后續(xù)動(dòng)作.

圖1 接收冗余示例

假定我們將剔除了冗余接收動(dòng)作以及以該冗余接收動(dòng)作為前驅(qū)的所有后繼動(dòng)作的SxSTS模型稱(chēng)為SxSTS′,則可定義Web服務(wù)組合的可適配性.

定義5.(可適配性)在所有SxSTSi′中,i=(1,…,n),任意一個(gè)發(fā)送動(dòng)作都有對(duì)應(yīng)的接收動(dòng)作并且所有接收動(dòng)作中的接收參數(shù)都有對(duì)應(yīng)的發(fā)送動(dòng)作,即:(?act!∈SxSTSi′.ACT!,act!∈AM.ACT!)∧(?p?∈SxSTSi′.ACT?,p?∈AM.ACT?).

據(jù)此,可以設(shè)計(jì)算法2進(jìn)行Web服務(wù)組合可適配性的判定.

算法2.可適配性判定算法

1.輸入:Web服務(wù)模型SxSTSi,i∈(1,…,n),接口動(dòng)作映射集合AM

2.輸出:Adaptability

3.Adaptability=True;

4.For each SxSTSisuch that i=1 to n do

5. For each act?∈SxSTSido

6. If(act??AM)Then delete act?and its succeeding actions;

7. SxSTSi′=SxSTSi;//剔除冗余接收及后繼動(dòng)作

8. End If

9. End For

10.End For

11.For each SxSTSi′ such that i=1 to n do

12. For each act!∈SxSTSi′.ACT!do

13. If act!? AM.ACT!Then

14. Adaptability=False;Break;//存在缺失接收動(dòng)作

15. End If

16. End For

17.For each act?∈SxSTSi′.ACT?Such that i=1 to n do

18.For each p?∈act?do

19. If p??AM.ACT?Then

20.Adaptability=False;Break;//存在缺失的發(fā)送參數(shù)

21.End If

22.End For

23.End For

24.End For

25.Return Adaptability;

算法語(yǔ)句3先假定Adaptability為真,算法語(yǔ)句4-10首先檢查每個(gè)服務(wù)中是否有冗余接收動(dòng)作并將所有冗余接收動(dòng)作及其后繼動(dòng)作刪除.語(yǔ)句11-16判斷是否存在缺失的接收動(dòng)作.語(yǔ)句17-24判斷是否存在缺失的發(fā)送參數(shù).

如前文所述,行為層動(dòng)作亂序的失配情形只能在適配過(guò)程中判定是否能夠成功適配,算法2只能確定語(yǔ)法層中是否存在明顯不可適配的情況,如果不存在明顯不可適配情形則該算法返回True表明可以實(shí)施適配,否則無(wú)需進(jìn)行適配.

7 實(shí) 例

本文以網(wǎng)絡(luò)文件服務(wù)系統(tǒng)為例說(shuō)明方法的可行性,該系統(tǒng)包含3個(gè)Web服務(wù):FClient、FServer和FCharge,其中客戶(hù)FClient可以上傳或下載文件,下載分為兩種類(lèi)型,一種是免費(fèi)下載,一種是付費(fèi)下載.FServer可以接收用戶(hù)登錄、文件查詢(xún)、文件上傳和下載服務(wù).在付費(fèi)下載情況下FCharge完成付費(fèi)功能.

FClient行為如圖2所示,F(xiàn)Client先輸入用戶(hù)名!user()然后輸入密碼!password(),此后決定進(jìn)行上傳文件!upload()或者查找文件!search(),在獲得上傳成功后?ACK()可以退出也可以進(jìn)行查找文件!search()并獲得查找結(jié)果?list(),用戶(hù)在結(jié)果中選擇要下載的文件!request(),如果文件無(wú)需付費(fèi)則直接下載?download(),若需付費(fèi)則收到付費(fèi)要求?reqpay()后發(fā)送自己的銀行卡號(hào)!sendcard()付費(fèi)成功后收到付費(fèi)確認(rèn)?payack()最后退出系統(tǒng).

圖2 FClient行為模型

FServer行為模型如圖3所示,文件服務(wù)器首先期望收到用戶(hù)登錄請(qǐng)求?Login(),然后可以接收用戶(hù)上傳文件?upload()請(qǐng)求并返回成功通知!ACK(),如果收到查找文件請(qǐng)求?search(),則返回查找結(jié)果!list(),收到用戶(hù)請(qǐng)求下載文件?request()后如果該文件不需收費(fèi)則可直接下載?download()否則通知用戶(hù)付費(fèi)!pay()后接收用戶(hù)銀行卡號(hào)?getcard(),然后請(qǐng)求支付服務(wù)進(jìn)行轉(zhuǎn)賬!transfer()成功后收到轉(zhuǎn)賬成功通知?notice(),此后用戶(hù)可下載文件!download(),收到用戶(hù)登出?logout()后通知用戶(hù)支付成功!payack().

圖3 FServer行為模型

FCharge行為模型如圖4所示,可以接收用戶(hù)查詢(xún)余額申請(qǐng)?query()并返回查詢(xún)結(jié)果!resule()結(jié)束,如果收到用戶(hù)轉(zhuǎn)賬申請(qǐng)?charge()執(zhí)行后通知文件服務(wù)器!notice()和用戶(hù)轉(zhuǎn)賬成功!payack().

圖4 FCharge行為模型

通過(guò)表1中動(dòng)作對(duì)應(yīng)關(guān)系可以看出,盡管系統(tǒng)中存在動(dòng)作合并,如FClient.!user()和FClient.!Password()合并為FServer.?Login(),命名不同,如FClient.!searh()和FServer.?find(),F(xiàn)Client.?reqpay()和FServer.!pay(),F(xiàn)Client.!sendcard()和FServer.?getcard(),F(xiàn)Server.!transfer()和FCharge.?charge()等,對(duì)于這些失配都可以通過(guò)適配器的緩存和轉(zhuǎn)換得到解決.對(duì)于FClient.?payack(),F(xiàn)Client.?download(),F(xiàn)Client.!logout()動(dòng)作序列和FServer.!download(),F(xiàn)Server.?logout(),F(xiàn)Server.!payack()動(dòng)作序列不同,但是這些失配也是可以通過(guò)適配器緩存可以進(jìn)行適配的.對(duì)于因委托調(diào)用而產(chǎn)生的FClient.?payack()同時(shí)對(duì)應(yīng)FCharge.!payack()和FServer.!payack(),在動(dòng)作映射集合中刪除冗余動(dòng)作映射(FCharge.!payack(),F(xiàn)Client.?payack())即可.FCharge.!result()沒(méi)有對(duì)應(yīng)的接收動(dòng)作是因?yàn)槠淝膀?qū)動(dòng)作FCharge.?query()是冗余的接收動(dòng)作,不會(huì)影響適配.通過(guò)檢查可知該系統(tǒng)滿足定義5的條件,所以是可適配的.

表1 動(dòng)作對(duì)應(yīng)關(guān)系

如果將圖2FClient改為圖5FClient1,圖5中增加了發(fā)送動(dòng)作!modify()以請(qǐng)求對(duì)文件的修改,但是FServer并不運(yùn)行對(duì)文件進(jìn)行修改,因而無(wú)對(duì)應(yīng)接收動(dòng)作,所以!modify()為接收動(dòng)作缺失類(lèi)型的失配而無(wú)法適配.在接收動(dòng)作?list()中增加了接收參數(shù)filetype,由于FServer中!list()中并無(wú)對(duì)應(yīng)的發(fā)送參數(shù),屬于發(fā)送參數(shù)缺失類(lèi)型的失配,盡管有對(duì)應(yīng)的發(fā)送動(dòng)作但?list()依然無(wú)法執(zhí)行.可見(jiàn)FClient1與FServer以及FCharge的服務(wù)組合是不可適配的.

圖5 FClient1行為模型

8 總 結(jié)

本文基于Web服務(wù)接口動(dòng)作自動(dòng)映射,通過(guò)檢查所有發(fā)送動(dòng)作是否有對(duì)應(yīng)的接收動(dòng)作以及接收動(dòng)作中是否所有的接收參數(shù)都有對(duì)應(yīng)的發(fā)送動(dòng)作來(lái)實(shí)現(xiàn)Web服務(wù)組合可適配性的自動(dòng)判定.盡管可適配性未必一定能夠生產(chǎn)適配器,但是當(dāng)Web服務(wù)組合規(guī)模較大時(shí),適配并生成 Web服務(wù)組合適配器需要很大的計(jì)算開(kāi)銷(xiāo).為減少Web服務(wù)適配失敗的風(fēng)險(xiǎn),在Web服務(wù)組合適配之前,進(jìn)行服務(wù)組合的可適配性分析是值得的.正確的動(dòng)作映射是適配的前提,在本文動(dòng)作映射和可適配性判定之后,研究Web服務(wù)組合的自動(dòng)適配問(wèn)題將是進(jìn)一步的工作.

猜你喜歡
語(yǔ)義動(dòng)作服務(wù)
語(yǔ)言與語(yǔ)義
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
動(dòng)作描寫(xiě)要具體
招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
畫(huà)動(dòng)作
動(dòng)作描寫(xiě)不可少
“上”與“下”語(yǔ)義的不對(duì)稱(chēng)性及其認(rèn)知闡釋
非同一般的吃飯動(dòng)作
主站蜘蛛池模板: 国产免费高清无需播放器| 91精品国产自产在线观看| 国产真实乱人视频| 毛片网站在线播放| 大学生久久香蕉国产线观看| 2020亚洲精品无码| 亚洲无码不卡网| 久久婷婷国产综合尤物精品| 亚洲 成人国产| 欧美a级完整在线观看| 六月婷婷综合| 亚洲欧美成aⅴ人在线观看| 亚洲最大福利视频网| 国产毛片不卡| 国产一在线观看| 亚洲一区精品视频在线| 久久综合亚洲鲁鲁九月天| 国产视频欧美| a毛片在线| 久久人人97超碰人人澡爱香蕉| 美女免费黄网站| 国产chinese男男gay视频网| 国产精品毛片在线直播完整版| 亚洲欧洲日韩综合色天使| 99精品伊人久久久大香线蕉| 午夜福利网址| 国产永久免费视频m3u8| 日本不卡免费高清视频| 99热这里只有精品在线观看| 日韩欧美中文在线| 亚洲成网777777国产精品| 亚洲水蜜桃久久综合网站| 欧美在线三级| 国产69精品久久久久孕妇大杂乱 | 中文字幕天无码久久精品视频免费 | 免费可以看的无遮挡av无码| 国产成人福利在线| 青草视频网站在线观看| 久草视频精品| 香蕉久久国产超碰青草| 亚洲熟妇AV日韩熟妇在线| 99热线精品大全在线观看| 亚洲精品第一页不卡| 亚洲一级毛片| 免费观看精品视频999| 大香网伊人久久综合网2020| 国产成人精品免费av| 日本人又色又爽的视频| 91蝌蚪视频在线观看| 国产区免费| 国产玖玖视频| 2020国产免费久久精品99| 久久黄色一级视频| AV色爱天堂网| 欧美中文字幕一区| 99热这里只有精品在线观看| 久久不卡国产精品无码| 91精品情国产情侣高潮对白蜜| 亚洲国产成人精品一二区| 日韩毛片免费| 国产精品任我爽爆在线播放6080 | 99热国产这里只有精品无卡顿"| 国产激情影院| 亚洲女同一区二区| 亚洲综合在线网| 日韩成人在线网站| 国产JIZzJIzz视频全部免费| 国产偷国产偷在线高清| 五月天久久综合国产一区二区| 青草视频久久| 国产成人精品一区二区不卡| 中文字幕在线看| 国产精品性| 日韩色图在线观看| 超级碰免费视频91| 福利小视频在线播放| 欧美在线视频不卡| 怡春院欧美一区二区三区免费| 91日本在线观看亚洲精品| 国产精品原创不卡在线| 欧美黑人欧美精品刺激| 久久黄色视频影|