亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于sawsdl的語義信息提取的方法

文檔序號:7928100閱讀:301來源:國知局
專利名稱:一種基于sawsdl的語義信息提取的方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種基于SAWSDL的語義信息提取的方法,主要應(yīng)用于Web服務(wù)中。
背景技術(shù)
Web服務(wù)為在分布的軟件系統(tǒng)之間交換信息提供了基于標(biāo)準(zhǔn)的基礎(chǔ)?;赬ML規(guī)范 的WSDL指定了一個在語法級上的標(biāo)準(zhǔn)方法來描述一個Web服務(wù)的接口和怎樣調(diào)用它們。 而語法描述僅提供了關(guān)于一個接口的輸入和輸出消息的結(jié)構(gòu)和怎樣調(diào)用它們的信息,還 需要語義來描述一個Web服務(wù)實(shí)際做什么。當(dāng)用形式語言表達(dá)的時候,這些語義消除了 Web服務(wù)接口的描述的歧義,為軟件構(gòu)件的自動發(fā)現(xiàn)、組合和集成鋪平了道路。WSDL沒 有明確的提供機(jī)制來指定一個Web服務(wù)的語義。所以,兩個完全不同的服務(wù)可能有類似 的描述。在Web服務(wù)描述中,解決這種歧義是自動化Web服務(wù)的發(fā)現(xiàn)和組合的重要步驟。 SAWSDL規(guī)范定義了一種機(jī)制,能夠?qū)⒄Z義注釋加到WSDL部件中,其是W3C的推薦標(biāo)準(zhǔn)。 SAWSDL沒有指定一種表示語義模型的語言,如本體。它提供的機(jī)制能在WSDL部件內(nèi)將 在WSDL文檔內(nèi)或外定義的語義模型中的概念作為注釋索引。用形式語言表達(dá)的這些語 義有助于消除在Web服務(wù)自動發(fā)現(xiàn)和組合期間Web服務(wù)描述的歧義。
為了使用戶能夠找到需要的Web服務(wù),服務(wù)開發(fā)者需要將Web服務(wù)的描述信息存儲 到注冊中心,同時使用戶能夠根據(jù)語義信息高效地査找到Web服務(wù),也需要將SAWSDL 文檔中的語義信息提取出來并存儲到注冊中心。WSDL存在兩個版本1.1和2.0,因此 SAWSDL也存在相應(yīng)的兩個版本。目前存在的對SAWSDL文檔的分析工具是由喬治亞州大 學(xué)和賴特州立大學(xué)開發(fā)的Woden4SAWSDL和SAWSDL4J。 Woden4SAWSDL是一個WSDL 2.0 分析器,其API類可以產(chǎn)生和分析SAWSDL。但它不能處理基于WSDL 1. 1的SAWSDL文檔。 SAWSDL4J是實(shí)現(xiàn)SAWSDL規(guī)范的一個API接口,允許開發(fā)者產(chǎn)生基于SAWSDL的應(yīng)用。它 的目標(biāo)雖然是既能處理WSDL 1. 1文檔也能處理WSDL2.0文檔,但只實(shí)現(xiàn)了處理WSDL 1. 1
文檔。另外其功能并沒有完全實(shí)現(xiàn)。
這兩種工具都提供了 SAWSDL文檔的一個對象模型。當(dāng)用戶需要提取SAWSDL文檔中 的語義注釋信息時,需要利用其提供的API進(jìn)行復(fù)雜的編程,然而這兩種工具都沒有提 供比較詳細(xì)的使用說明。由于SAWSDL文檔規(guī)范中沒有對前置條件precondition和后置 條件effect聲明,所以都沒有對這些條件的處理。 發(fā)明目的本發(fā)明的技術(shù)解決問題克服現(xiàn)有技術(shù)的不足,提供一種基于SAWSDL的語義信息 提取的方法,該方法利用了一個XML描述文件,它能夠自動判斷WSDL的版本,并提供 了提取語義信息的規(guī)則和方法,不需要用戶進(jìn)行復(fù)雜的編程。
本發(fā)明的技術(shù)解決方案 一種基于SAWSDL的語義信息提取的方法,其特征在于
包括以下步驟
第一步,判斷SAWSDL文檔是基于WSDL 1. 1還是基于WSDL 2.0,即通過對WSDL的 開始標(biāo)簽的來判斷,如果是〈definitions〉則是WSDL l丄如果是〈description〉則是 WSDL 2.0,如果是基于WSDL 2.0,則轉(zhuǎn)第三歩,如果是基于WSDL 1.1,則轉(zhuǎn)第二步。
第二步,將基于WSDL 1. 1的SAWSDL文檔轉(zhuǎn)換為基于WSDL 2. 0的SAWSDL文檔。
第三步,從基于WSDL 2.0的SAWSDL文檔中提取語義注釋的信息。
第四步,將提取出的語義信息輸出到模板文件中。
本發(fā)明與現(xiàn)有技術(shù)相比的有益效果在于本發(fā)明既能處理基于WSDL1. 1的SAWSDL 文檔,也能處理基于WSDL 2.0的SAWSDL文檔。不需要用戶進(jìn)行復(fù)雜的編程,用戶只需 要從基于WSDL 2. 0的SAWSDL文檔中提取語義注釋的信息即可得到Web服務(wù)的語義描述 信息,不需要了解任何分析器的API,而其他方法需要用戶通過調(diào)用分析器API進(jìn)行復(fù) 雜的編程才能完成。使用本發(fā)明的方法,用戶可以得到Web服務(wù)的關(guān)于接口、操作、輸 入和輸出的語義描述信息,方便對這些信息的存儲和查詢。另外本發(fā)明也能提取前置條 件precondition和后置條件effect的語義信息。


圖l為本發(fā)明的基于SAWSDL語義信息的提取方法的流程圖; 圖2為本發(fā)明中的SAWSDL從基于WSDL 1. 1到基于WSDL 2.0的轉(zhuǎn)換流程圖; 圖3為本發(fā)明的提取SAWSDL中的語義信息流程圖流程圖; 圖4為本發(fā)明從SAWSDL中提取i叩uts的語義注釋信息的流程圖。
具體實(shí)施例方式
首先應(yīng)當(dāng)對本發(fā)明以下用到的一些相關(guān)背景知識進(jìn)行一下簡要的介紹。 SAWSDL (Semantic Annotations for WSDL and XML Schema)是利用WSDL的擴(kuò)展 機(jī)制在WSDL中增加Web服務(wù)的語義描述的規(guī)范。由于目前使用的WSDL有1. 1和2. 0兩 種版本,因此SAWSDL也存在基于WSDL 1. 1和基于WSDL 2. 0兩種。 在WSDL 1. 1中使用下列部件定義Web服務(wù)
* types -數(shù)據(jù)類型定義的容器,它使用某種類型系統(tǒng)(如XSD)。在types中 使用element引用一個XSD元素,simpleType和co即lexType分別表示XSD中的簡單類型和復(fù)雜類型。
* message -通信數(shù)據(jù)的抽象類型化定義。 一條message (消息)由邏輯上的消 息構(gòu)件(part)組成,每一個構(gòu)件(part)使用某種類型系統(tǒng)來定義。
* operation -對服務(wù)所支持的操作的抽象描述。
參portType -操作的抽象集合,這些操作由一個或多個端點(diǎn)支持。
* binding -特定端口類型的具體協(xié)議和數(shù)據(jù)格式規(guī)范。 參port -定義為綁定和網(wǎng)絡(luò)地址組合的單個端點(diǎn)。
* service -相關(guān)端點(diǎn)的集合。
其中允許添加語義注釋的部件包括portType、 simpleType、 complexType、 eleraent、 part,在operation部件中需要添加擴(kuò)展部件attrExtensions,還可以在operation部 件中添加擴(kuò)展部件precondition禾n effect。
在WSDL 2. 0中用interface替代了 WSDL 1. 1中的PortType并去掉了 Message部 件。允許添力口語義注釋的部件包括interface、 operation、 simpleType、 complexType、 ele腦t、 input和output,也可以在operation部件中添力口擴(kuò)展部件precondition禾口 effect。
在SAWSDL文檔中,語義注釋使用sawsdl:modeReference屬性,其屬性值即為語義 注釋信息。
本發(fā)明利用SODL語言描述SAWSDL到描述模板協(xié)議狀態(tài)模型之間的遷移規(guī)則,然后 利用SODL語言的運(yùn)行環(huán)境,以SODL描述文件作為輸入,按照描述文件中指明的操作過 程,從SAWSDL中提取語義注釋部分的語義信息并將其轉(zhuǎn)換成一個描述模板文件。
S0DL語言介紹面向服務(wù)架構(gòu)中對協(xié)議的無二義性理解以及協(xié)議實(shí)現(xiàn)的正確性證明 是異構(gòu)環(huán)境下服務(wù)的各個參與方之間實(shí)現(xiàn)互聯(lián)和互操作的重要保證。SODL (Service—Oriented Description Language)面向月艮務(wù)描述i吾言,是北航i十算機(jī)新技術(shù) 研究所根據(jù)面向服務(wù)架構(gòu)(SOA)的協(xié)議特點(diǎn),為了滿足上述需要,提出的一種Web服務(wù) 協(xié)議語義的形式化表示模型。S0DL基于XML語言規(guī)范,借鑒了 XML語言統(tǒng)一的信息表示 形式和自我描述的特點(diǎn)。該語言采用狀態(tài)機(jī)模型為Web服務(wù)協(xié)議棧中的各層協(xié)議建立起 統(tǒng)一的表示結(jié)構(gòu);并以類程序設(shè)計(jì)語言方式提出一種基于狀態(tài)遷移的協(xié)議變換過程,描 述協(xié)議的語義內(nèi)涵;同時,SODL給出協(xié)議層之間的對應(yīng)關(guān)系描述,進(jìn)而完整地刻畫面向 服務(wù)的企業(yè)級應(yīng)用環(huán)境及服務(wù)基礎(chǔ)設(shè)施所應(yīng)提供的邏輯功能與業(yè)務(wù)特性,能夠?qū)?fù)雜協(xié) 議的體系結(jié)構(gòu)以及協(xié)議實(shí)現(xiàn)給出嚴(yán)格地描述,為面向服務(wù)架構(gòu)下協(xié)議的形式化證明及實(shí) 現(xiàn)提供一種新的解決方案。S0DL主要用,于描述協(xié)議狀態(tài)模型之間的遷移規(guī)則'。在S0DL源'文件中,元素名稱提 供了過程調(diào)用等執(zhí)行流程信息;屬性給出了具體的狀態(tài)轉(zhuǎn)移規(guī)則。SODL語言規(guī)范包括數(shù) 據(jù)描述和操作描述兩部分,數(shù)據(jù)描述以XML形式定義協(xié)議狀態(tài)變量和協(xié)議操作變量的內(nèi) 容;操作描述則是定義在元數(shù)據(jù)描述上的一組集合操作,包括語句(Handler)操作和表 達(dá)式(Expression)操作兩種,分別以SODL文檔元素和屬性的形式表示。
語句是語義上用于描述協(xié)議語義操作過程和轉(zhuǎn)換規(guī)則的XML元素。例如,以下為SODL 語言中判斷語句的結(jié)構(gòu)定義
< sodl:if sodl:condition="表達(dá)式,,〉 <sodl:then>
{語句} </so.dl: then〉 [<sodl:else〉
{語句} </sodl:else〉] 〈/ sodl:if>
在上例中,〈sodl: then〉和〈sodl :else〉分別規(guī)定了當(dāng)其父元素〈sodl: if〉中的條件 表達(dá)式計(jì)算結(jié)果為"真"和為"假"時的邏輯跳轉(zhuǎn)入口。與高級程序設(shè)計(jì)語言中的結(jié)構(gòu) 化控制語句類似,S0DL語句是在XML文法規(guī)范的基礎(chǔ)上進(jìn)一步規(guī)定了元素之間的執(zhí)行關(guān) 系。通過此類控制語句即可將一系列狀態(tài)遷移操作聯(lián)結(jié)為一個完整的協(xié)議描述過程。
表達(dá)式是描述狀態(tài)變量之間遷移規(guī)則和求值過程的實(shí)體。例如給出以下表達(dá)式 入("WSDL—Docl", "definitions\portType〃, 〃國e〃, 〃 add")。該表達(dá)式的語義為從 輸入的XML變量〃WSDL—Docl〃中,按照路徑〃definitionsXportType"選出包含屬性名為 〃name〃,且其對應(yīng)屬性值為〃 add〃的元素集合。在S0DL語言中,表達(dá)式通常位于元素 值或?qū)傩灾滴恢?,給出了對應(yīng)元素和狀態(tài)變量的計(jì)算過程。另一方面,由于表達(dá)式參數(shù) 中通常包含其他變量,因此,求值的過程同時也給出了狀態(tài)變量之間的轉(zhuǎn)換關(guān)系。
在此基礎(chǔ)上,提供了 SODL語言的運(yùn)行環(huán)境,該運(yùn)行環(huán)境以SODL描述文件作為輸入; 按照描述文件中指明的操作過程,完成相應(yīng)的操作并得到變換結(jié)果,從而完成基于SODL 的協(xié)議形式化描述的自動實(shí)現(xiàn)過程。
下面結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)闡述。
如圖1所示,本發(fā)明的步驟如下
第一步,判斷SAWSDL文檔是基于WSDL 1. 1還是基于WSDL 2. 0,如果基于WSDL 2. 0,則轉(zhuǎn)第三步,如果基于WSDL 1.1,則轉(zhuǎn)第二步,根據(jù)文檔的開始標(biāo)簽判浙WS'DL的版本,
如果是〈definitions〉則是1. 1,如果是〈description〉則是2. 0。
第二步,將基于WSDL 1. 1的SAWSDL文檔轉(zhuǎn)換為基于WSDL 2. 0的SAWSDL文檔。 在基于WSDL 1. 1到基于WSDL 2. 0的SAWSDL轉(zhuǎn)換時,需要遵循如下規(guī)則
* simpleType、 complexType、 element部件沒有變化。
* portType部件轉(zhuǎn)換為interface部件。
* operation中的擴(kuò)展部件attrExtensions轉(zhuǎn)換為WSDL 2. 0中的operation部件 的語義屬性。
參part部件轉(zhuǎn)換為WSDL 2. 0中對應(yīng)的input或output。
* 在WSDL 2. 0中沒有message和part部件。
* operation部件中的precondition和effect部件仍轉(zhuǎn)換為operation部件中的 precondition禾口 effect。
將基于WSDL 1. 1的SAWSDL文檔轉(zhuǎn)換為基于WSDL 2. 0的SAWSDL文檔,即將WSDL 1. 1 文檔轉(zhuǎn)換為WSDL 2. 0文檔,同時將語義注釋元素和屬性也遷移到WSDL 2. 0文檔中,包 括以下步驟
(1) 判斷是否存在portType部件,如果存在則轉(zhuǎn)到步驟(2),否則轉(zhuǎn)到步驟(12);
(2) 判斷是否存在operation部件,如果存在則轉(zhuǎn)到步驟(3),否則轉(zhuǎn)到步驟(1);
(3) 處理operation的語義注釋,將擴(kuò)展部件attrExtensions中的語義注釋轉(zhuǎn)換 為WSDL 2. 0中operation的語義屬性,即將operation的擴(kuò)展部件attrExtensions中 的語義注釋屬性作為WSDL 2. 0中叩eration的語義屬性;
(4) 判斷是否存在input部件,如果存在則轉(zhuǎn)到歩驟(5),否則轉(zhuǎn)到步驟(6);
(5) 將WSDL 1.1中的i叩ut部件轉(zhuǎn)換為WSDL 2.0中的i叩ut部件,即將WSDL 1. 1 中的input部件作為WSDL 2.0中的i叩ut部件,轉(zhuǎn)到步驟(4);
(6) 判斷是否存在output部件,如果存在則轉(zhuǎn)到步驟(7),否則轉(zhuǎn)到步驟(8);
(7) 將WSDL 1. 1中的output部件轉(zhuǎn)換為WSDL 2. 0中的output部件,即將WSDL 1. 1 中的output部件作為WSDL 2. 0中的output部件,轉(zhuǎn)到步驟(6);
(8) 判斷是否存在precondition部件,如果存在則轉(zhuǎn)到步驟(9),否則到步驟 (10);
(9) 將precondition部件轉(zhuǎn)換到WSDL 2. 0中的operation中,即將precondition 部件作為WSDL 2.0中的operation的部件,轉(zhuǎn)到步驟(8);
(10)判斷是否存在effect部件,如果存在則轉(zhuǎn)到步驟(11),否則轉(zhuǎn)到步驟(2);(11) 將effect部件轉(zhuǎn)換到WSDL 2. 0中的鄰era'Uon中,.即將effect部件作為 WSDL 2.0中的operation中的部件,轉(zhuǎn)到步驟(10);
(12) 刪除WSDL 1. 1中的message部件;
U3)判斷是否存在binding部件,如果存在則轉(zhuǎn)到步驟U4),否則轉(zhuǎn)到步驟(16);
(14) 判斷binding中是否存在operation部件,如果存在則轉(zhuǎn)到步驟(15)步, 否則轉(zhuǎn)到步驟(13);
(15) 轉(zhuǎn)換binding中的operation部件- 添力口 ref禾口 wsoap:soapAction屬性, 轉(zhuǎn)到步驟(14);
(16) 判斷是否存在service部件,如果存在則轉(zhuǎn)到步驟(17),否則結(jié)束;
(17) 轉(zhuǎn)換service中的port部件建立endpoint部件,并添加name、 binding 和address屬性,轉(zhuǎn)到步驟(16)。
第三步,從基于WSDL 2.0的SAWSDL文檔中提取語義注釋的信息從基于WSDL 2.0 的SAWSDL中提取Web服務(wù)的語義注釋信息包括以下步驟
(1) 通過判斷是否存在〈interface〉標(biāo)簽來判斷是否存在interface部件,如果存 在則轉(zhuǎn)到步驟(2),否則結(jié)束;
(2) 判斷interface部件中是否存在語義注釋屬性sawsdl:modeReference,如果 存在則轉(zhuǎn)到步驟(3),否則轉(zhuǎn)到步驟(4);
(3) 提取interface的屬性sawsdl:modeReference的值;
(4) 判斷是否存在operation部件,如果存在則轉(zhuǎn)到步驟(5),否則轉(zhuǎn)到步驟(l);
(5) 判斷operation部件中是否存在語義注釋屬性,如果存在則轉(zhuǎn)到步驟(6), 否則轉(zhuǎn)到步驟(7);
(6) 提取operation的屬性sawsdl:modeReference的值;
(7) 提取inputs中的語義注釋信息;
從SAWSDL中提取inputs的語義注釋信息包括如下步驟
(a) 判斷是否存在i叩ut部件,如果存在則轉(zhuǎn)到步驟(b),否則結(jié)束;
(b) 判斷是否i叩ut存在注釋屬性,如果存在則轉(zhuǎn)到步驟(c),否則轉(zhuǎn)到步驟(d);
(c) 提取input的語義注釋信息,即提取input的屬性sawsdl :modeReference的 值,轉(zhuǎn)到步驟(a);
(d) 判斷i叩ut是否存在element部件注釋,如果存在則轉(zhuǎn)到步驟(e),否則轉(zhuǎn) 到步驟(f);
(e) 提取element的語義注釋信息作為i叩ut語義信息,轉(zhuǎn)到步驟(a);(f) 判斷element是否存在type屬性,如果存在則轉(zhuǎn)到步驟(g> ,否則轉(zhuǎn)到步 驟(n);
(g) 判斷type是否為si即leType類型,如果是則轉(zhuǎn)到步驟(h),否則轉(zhuǎn)到步驟 (i);
(h) 提取si即leType的語義注釋信息作為input的語義信息,轉(zhuǎn)到步驟(a);
(i) 判斷type是否為complexType類型,如果是則轉(zhuǎn)到步驟(j),否則轉(zhuǎn)到步 驟(n);
(j)判斷co卿lexType類型是否存在語義注釋,如果存在則轉(zhuǎn)到步驟(k),否則 轉(zhuǎn)到步驟(1);
(k)提取complexType類型的語義注釋信息作為i叩ut的語義信息,轉(zhuǎn)到步驟(1);
(I) 判斷complexType是否存在子元素,如果存在則轉(zhuǎn)到步驟(m),否則轉(zhuǎn)到步 驟(a);
(m)提取complexType類型的子元素的語義注釋信息作為i叩ut的語義信息,轉(zhuǎn) 到步驟(i);
(n)判斷element中是否存在嵌套的co即lexType類型,如果存在則轉(zhuǎn)到步驟(k), 否則轉(zhuǎn)到步驟(a)。-
(8) 提取outputs中的語義注釋信息;
(9) 判斷是否存在procondition部件,如果存在則轉(zhuǎn)到步驟(10),否則轉(zhuǎn)到步 驟(11);
(10) 提取procondition中的語義注釋信息,轉(zhuǎn)到步驟(9);
(II) 判斷是否存在effect部件,如果存在則轉(zhuǎn)到步驟U2),否則轉(zhuǎn)到步驟(4); (12)提取effect中的語義注釋信息,轉(zhuǎn)到歩驟Ul)。
在提取inputs和outputs的語義注釋信息時遵循如下規(guī)則
*如果i叩ut/output部件存在注釋屬性,則忽略element和type部件中的注釋。 *如果element部件中存在注釋屬性,則忽略type部件中的注釋。 * 如果comlpeType中存在注釋屬性,則忽略comlpeType部件中的element的注釋。 第四步,將提取出的語義信息輸出到模板文件中。
(1) 在模板中寫入XML文檔的頭信息。
(2) 輸出categorization標(biāo)簽,其屬性name的值為interface的name屬性的值, 屬性modelReference的值為第三步提取的interface的sawsdl :modelReferenc屬性值。
(3) 輸出categorization的所有子元素operation,其屬性name的值為operation的name屬性值.,,.屬性modelReference的值為'鄰eration的saws'dl'"':moder股ferenc屬 性值。
(4) 輸出每個operation的所有子元素i叩ut,其屬性隠e的值為i叩ut的element 屬性值;輸出input的子元素modelReference,其值為第三步提取的i叩ut的語義注釋 {曰息。
(5) 輸出每個operation的所有子元素output,其屬性腿e的值為output的 element屬性值;輸出output的子元素modelReference,其值為第三步提取的output 的語義注釋信息。
(6) 輸出每個operation的所有子元素precondition,其值為第三步提取的 precondition的語義注釋信息。
(7) 輸出每個operation的所有子元素effect,其值為第三步提取的effect的語 義注釋信息。
本發(fā)明說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。 以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員
來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也
應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種基于SAWSDL的語義信息提取的方法,其特征在于步驟如下第一步,判斷SAWSDL文檔是基于WSDL 1.1或是基于WSDL 2.0,如果基于WSDL 2.0,則轉(zhuǎn)第三步,如果基于WSDL 1.1,則轉(zhuǎn)第二步;第二步,將基于WSDL 1.1的SAWSDL文檔轉(zhuǎn)換為基于WSDL 2.0的SAWSDL文檔;第三步,從基于WSDL 2.0的SAWSDL文檔中提取語義注釋的信息;第四步,將提取出的語義信息輸出到模板文件中。
2、根據(jù)要求1所述的基于SAWSDL的語義信息提取的方法,其特征在于所述第二步,將基于WSDL 1. 1的SAWSDL文檔轉(zhuǎn)換為基于WSDL 2. 0的SAWSDL文檔,包括以下步驟(1) 判斷是否存在portType部件,如果存在則轉(zhuǎn)到步驟(2),否則轉(zhuǎn)到步驟(12);(2) 判斷是否存在叩eration部件,如果存在則轉(zhuǎn)到步驟(3),否則轉(zhuǎn)到步驟(l);(3) 處理operation的語義注釋,將擴(kuò)展部件attrExtensions中的語義注釋轉(zhuǎn)換 為WSDL 2. 0中operation的語義屬性;(4) 判斷是否存在input部件,如果存在則轉(zhuǎn)到步驟(5),否則轉(zhuǎn)到步驟(6);(5) 將WSDL 1. 1中的i叩ut部件轉(zhuǎn)換為WSDL 2. 0中的input部件,轉(zhuǎn)到步驟(4);(6) 判斷是否存在output部件,如果存在則轉(zhuǎn)到步驟(7),否則轉(zhuǎn)到步驟(8);(7) 將WSDL 1. 1中的output部件轉(zhuǎn)換為WSDL 2.0中的output部件,轉(zhuǎn)到步驟(6);(8) 判斷是否存在precondition部件,如果存在則轉(zhuǎn)到步驟(9),否則到步驟(10);(9) 將precondition部件轉(zhuǎn)換到WSDL 2. 0中的operation中,轉(zhuǎn)到步驟(8);(10) 判斷是否存在effect部件,如果存在則轉(zhuǎn)到步驟(11),否則轉(zhuǎn)到步驟(2);(11) 將effect部件轉(zhuǎn)換到WSDL 2. 0中的operation中,轉(zhuǎn)到步驟(10);(12) 刪除WSDL 1.1中的message部件;(13) 判斷是否存在binding部件,如果存在則轉(zhuǎn)到步驟(14),否則轉(zhuǎn)到步驟(16);(14) 判斷binding中是否存在operation部件,如果存在則轉(zhuǎn)到步驟(15)步, 否則轉(zhuǎn)到步驟(13);(15) 轉(zhuǎn)換binding中的operation部件,轉(zhuǎn)到步驟(14);(16) 判斷是否存在service部件,如果存在則轉(zhuǎn)到步驟(17),否則結(jié)束;(17) 轉(zhuǎn)換service中的port部件,轉(zhuǎn)到步驟(16)。
3、根據(jù)要求l所述的基于SAWSDL的語義信息提取的方法,其特征在于所述第三步,從基于WSDL 2. 0的SAWSDL中提取Web服務(wù)的語義注釋信息包括以下步驟(1) 判斷是否存在interface部件,如果存在則轉(zhuǎn)到步驟(2),否則結(jié)束;(2) 判斷interface部件中是否存在語義注釋屬性,如果存在則轉(zhuǎn)到步驟(3), 否則轉(zhuǎn)到步驟(4);(3) 提取interface中的語義注釋信息;(4) 判斷是否存在operation部件,如果存在則轉(zhuǎn)到步驟(5),否則轉(zhuǎn)到步驟(l);(5) 判斷operation部件中是否存在語義注釋屬性,如果存在則轉(zhuǎn)到步驟(6), 否則轉(zhuǎn)到步驟(7);(6) 提取operation中的語義注釋信息;(7) 提取inputs中的語義注釋信息;(8) 提取outputs中的語義注釋信息;(9) 判斷是否存在procondition部件,如果存在則轉(zhuǎn)到步驟(10),否則轉(zhuǎn)到步 驟(11);(10) 提取procondition中的語義注釋信息,轉(zhuǎn)到步驟(9);(11) 判斷是否存在effect部件,如果存在則轉(zhuǎn)到步驟(12),否則轉(zhuǎn)到步驟(4);(12) 提取effect中的語義注釋信息,轉(zhuǎn)到步驟(11)。
4、根據(jù)要求3所述的基于S,SDL的語義信息提取的方法,其特征在于所述步驟 (7)從SAWSDL中提取inputs的語義注釋信息包括如下步驟(a) 判斷是否存在i叩ut部件,如果存在則轉(zhuǎn)到步驟(b),否則結(jié)束;(b) 判斷i叩ut是否存在注釋屬性,如果存在則轉(zhuǎn)到步驟(c),否則轉(zhuǎn)到步驟(d);(c) 提取input的語義注釋信息,轉(zhuǎn)到步驟(a);(d) 判斷input是否存在element部件注釋,如果存在則轉(zhuǎn)到步驟(e),否則轉(zhuǎn) 到步驟(f);(e) 提取element的語義注釋信息作為i叩ut語義信息,轉(zhuǎn)到步驟(a);(f) 判斷element是否存在type屬性,如果存在則轉(zhuǎn)到步驟(g),否則轉(zhuǎn)到步驟 (n);(g) 判斷type是否為si即leType類型,如果是則轉(zhuǎn)到步驟(h),否則轉(zhuǎn)到步驟 (i);(h) 提取simpleType的語義注釋信息作為input的語義信息,轉(zhuǎn)到步驟(a);(i) 判斷type是否為complexType類型,如果是則轉(zhuǎn)到步驟(j),否則轉(zhuǎn)到步驟 (n);U)判斷co即lexType類型是否存在語義注釋,如果存在則轉(zhuǎn)到步驟'(k),否則 轉(zhuǎn)到步驟(1);(k)提取complexType類型的語義注釋信息作為i叩ut的語義信息,轉(zhuǎn)到步驟(l); (1)判斷co即lexType是否存在子元素,如果存在則轉(zhuǎn)到步驟(ni),否則轉(zhuǎn)到步 驟(a);(m)提取complexType類型的子元素的語義注釋信息作為i叩ut的語義信息,轉(zhuǎn)到 步驟(i);(n)判斷element中是否存在嵌套的complexType類型,如果存在則轉(zhuǎn)到步驟(k), 否則轉(zhuǎn)到步驟(a)。
全文摘要
一種基于SAWSDL的語義信息提取的方法,主要應(yīng)用Web服務(wù)中,其步驟如下(1)判斷SAWSDL文檔是基于WSDL 1.1還是基于WSDL 2.0,如果基于WSDL 2.0,則轉(zhuǎn)步驟(3),如果基于WSDL 1.1,則轉(zhuǎn)步驟(2),(2)將基于WSDL 1.1的SAWSDL文檔轉(zhuǎn)換為基于WSDL 2.0的SAWSDL文檔;(3)從基于WSDL 2.0的SAWSDL文檔中提取語義注釋的信息;(4)將提取出的語義信息輸出到模板文件中。本發(fā)明既可以從基于WSDL 1.1的SAWSDL文檔中提取語義信息,也可以從基于WSDL 2.0的SAWSDL文檔中提取語義信息;不需要用戶進(jìn)行復(fù)雜的編程,只需要利用一個提供的XML描述文件并調(diào)用一個API方法即可。
文檔編號H04L29/06GK101426028SQ20081022744
公開日2009年5月6日 申請日期2008年11月25日 優(yōu)先權(quán)日2008年11月25日
發(fā)明者建 劉, 紅 朱, 寧 李, 靜 李, 馬殿富 申請人:北京航空航天大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1