多維度語(yǔ)義web 服務(wù)開發(fā)方法
【專利摘要】本發(fā)明涉及web服務(wù)【技術(shù)領(lǐng)域】。為為方便開發(fā)者基于多維度語(yǔ)義模型開發(fā)滿足多維度語(yǔ)義規(guī)范的語(yǔ)義web服務(wù),簡(jiǎn)化開發(fā)者的開發(fā)流程,在現(xiàn)有開發(fā)平臺(tái)eclipse上集成一種多維度語(yǔ)義開發(fā)工具,為達(dá)到上述目的,本發(fā)明采取的技術(shù)方案是,多維度語(yǔ)義web服務(wù)開發(fā)方法,包括如下步驟:1)搜索及結(jié)果瀏覽步驟,分為對(duì)服務(wù)搜索和本體搜索兩部分;按照用戶輸入的搜索條件,分別對(duì)服務(wù)網(wǎng)絡(luò)SN(Services Network)中的服務(wù)和本體進(jìn)行搜索;2)基于服務(wù)網(wǎng)絡(luò)創(chuàng)建多維度語(yǔ)義web服務(wù)模塊,在用戶本地運(yùn)行環(huán)境中創(chuàng)建新的項(xiàng)目工程,根據(jù)用戶的選擇重用相應(yīng)的操作或服務(wù)。本發(fā)明主要應(yīng)用于機(jī)械量加工測(cè)量。
【專利說(shuō)明】多維度語(yǔ)義web服務(wù)開發(fā)方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及web服務(wù)【技術(shù)領(lǐng)域】,具體來(lái)說(shuō),涉及滿足多維度語(yǔ)義模型規(guī)范的web服務(wù)開發(fā)工具的設(shè)計(jì)與實(shí)現(xiàn)。
【背景技術(shù)】
[0002]web服務(wù)由于自描述、自包含以及松耦合等特性一直得到了人們的青睞。近年來(lái),結(jié)合語(yǔ)義網(wǎng)等技術(shù)手段為web服務(wù)對(duì)添加語(yǔ)義信息使之成為計(jì)算機(jī)可理解實(shí)體,即語(yǔ)義web服務(wù)的研究愈發(fā)廣泛。帶有語(yǔ)義信息的web服務(wù)使得服務(wù)的自動(dòng)發(fā)現(xiàn)、選擇、組合和關(guān)系生成成為可能。
[0003]目前,對(duì)于語(yǔ)義web的研究,已經(jīng)提出了多種語(yǔ)義web服務(wù)描述規(guī)范。開發(fā)滿足規(guī)范定義的語(yǔ)義web服務(wù),從服務(wù)開發(fā)階段就為服務(wù)添加了語(yǔ)義信息。但目前互聯(lián)網(wǎng)中已發(fā)布的 web 服務(wù)都是基于 web 服務(wù)描述語(yǔ)言(Web Services Descript1n Language, WSDL)規(guī)范描述的,而現(xiàn)有的已提出的語(yǔ)義web模型中大部分都拋棄了傳統(tǒng)的WSDL架構(gòu)。而少數(shù)基于WSDL擴(kuò)充機(jī)制對(duì)web服務(wù)進(jìn)行語(yǔ)義標(biāo)注的模型又缺乏相應(yīng)的語(yǔ)義web服務(wù)構(gòu)建方法。
[0004]基于上述原因,提出了 Web服務(wù)的多維度語(yǔ)義模型,該模型旨在從實(shí)現(xiàn)方法方面能夠兼容現(xiàn)有的WSDL基于語(yǔ)法的語(yǔ)言,并且能夠提供一種構(gòu)建方法或者映射機(jī)制實(shí)現(xiàn)Web服務(wù)的語(yǔ)義化,以此來(lái)提高語(yǔ)義Web服務(wù)描述模型的可用性。在描述能力方面,不僅關(guān)注Web服務(wù)的功能語(yǔ)義,而且還關(guān)注Web服務(wù)的時(shí)空和上下文、性能等語(yǔ)義信息。
[0005]為了使開發(fā)人員在服務(wù)開發(fā)階段就直接構(gòu)建滿足多維度語(yǔ)義模型規(guī)范的語(yǔ)義web服務(wù),并生成語(yǔ)義web服務(wù)的多維度語(yǔ)義描述語(yǔ)言(Multidimens1nal SemanticDescript1n Language, MSDL)文檔,設(shè)計(jì)并實(shí)現(xiàn)多維度語(yǔ)義Web服務(wù)的開發(fā)方法很有必要。
【發(fā)明內(nèi)容】
[0006]本發(fā)明旨在解決克服現(xiàn)有技術(shù)的不足,為方便開發(fā)者基于多維度語(yǔ)義模型開發(fā)滿足多維度語(yǔ)義規(guī)范的語(yǔ)義web服務(wù),簡(jiǎn)化開發(fā)者的開發(fā)流程,在現(xiàn)有開發(fā)平臺(tái)eclipse上集成一種多維度語(yǔ)義開發(fā)工具,為達(dá)到上述目的,本發(fā)明采取的技術(shù)方案是,多維度語(yǔ)義web服務(wù)開發(fā)方法,包括如下步驟:
[0007]I)搜索及結(jié)果瀏覽步驟,分為對(duì)服務(wù)搜索和本體搜索兩部分;按照用戶輸入的搜索條件,分別對(duì)服務(wù)網(wǎng)絡(luò)SN(Services Network)中的服務(wù)和本體進(jìn)行搜索,對(duì)搜素到的服務(wù)或本體進(jìn)一步瀏覽其信息;
[0008]2)基于服務(wù)網(wǎng)絡(luò)創(chuàng)建多維度語(yǔ)義web服務(wù)模塊,在用戶本地運(yùn)行環(huán)境中創(chuàng)建新的項(xiàng)目工程,根據(jù)用戶的選擇重用相應(yīng)的操作或服務(wù),自動(dòng)生成新服務(wù)的WSDL和MSDL文檔,為用戶提供圖形化的文檔編輯器進(jìn)行WSDL和MSDL文檔編輯,自動(dòng)同步WSDL文檔和MSDL文檔以彌補(bǔ)用戶疏漏而造成的文檔不一致,由描述文檔在新建工程源文件目錄下逆向生成Java代碼等功能;在用戶完成接口的代碼實(shí)現(xiàn)后,運(yùn)行本發(fā)明自動(dòng)生成的服務(wù)端代碼將新服務(wù)進(jìn)行發(fā)布;解析WSDL文檔和MSDL文檔將新服務(wù)的語(yǔ)法信息及語(yǔ)義信息記錄在服務(wù)網(wǎng)絡(luò)中完成新服務(wù)在服務(wù)網(wǎng)絡(luò)中的注冊(cè)。
[0009]搜索及結(jié)果瀏覽步驟具體流程如下:在服務(wù)網(wǎng)絡(luò)中進(jìn)行搜索,查找有無(wú)符合要求的服務(wù)或本體,搜索功能具體包括:在搜索界面選擇進(jìn)行服務(wù)搜索或本體搜索:
[0010]A.服務(wù)搜索是對(duì)服務(wù)網(wǎng)絡(luò)中現(xiàn)有的服務(wù)進(jìn)行搜索,在服務(wù)搜索中可以根據(jù)服務(wù)的關(guān)鍵字,領(lǐng)域范圍,所在國(guó)家以及提供者等可選條件進(jìn)行聯(lián)合搜索;當(dāng)用戶確定搜索后,判斷四個(gè)搜索條件是否為空,若為空則忽略該搜索條件,默認(rèn)條件下幾個(gè)搜索條件均為空;若用戶沒有填寫任何搜索條件,默認(rèn)搜索SN中的所有服務(wù);搜索完成后,用戶可以對(duì)搜索結(jié)果進(jìn)行更進(jìn)一步的瀏覽和查看,包括某個(gè)服務(wù)的基本信息、所包含的操作的信息、服務(wù)質(zhì)量以及運(yùn)行信息;
[0011]B.本體搜索是對(duì)服務(wù)網(wǎng)絡(luò)中現(xiàn)有的本體概念進(jìn)行搜索,在本體搜索中以樹狀展示服務(wù)網(wǎng)絡(luò)中的本體結(jié)構(gòu);選擇相應(yīng)的本體概念查看其對(duì)象屬性和數(shù)據(jù)屬性。
[0012]基于服務(wù)網(wǎng)絡(luò)創(chuàng)建多維度語(yǔ)義web服務(wù)模塊,即創(chuàng)建滿足多維度語(yǔ)義規(guī)范的語(yǔ)義web服務(wù),具體包括:
[0013]A.用戶輸入服務(wù)名稱及該新建的項(xiàng)目在本機(jī)的保存地址;
[0014]B.根據(jù)A中的輸入結(jié)果,新建項(xiàng)目工程,并導(dǎo)入到eclipse的工作空間下,同時(shí)刷新eclipse當(dāng)前工作空間,在左側(cè)導(dǎo)航欄中顯示該工程;
[0015]C.在項(xiàng)目目錄下生成服務(wù)的WSDL文檔和MSDL文檔;
[0016]D.對(duì)搜索過(guò)程中希望重用的操作或服務(wù)進(jìn)行復(fù)用,相應(yīng)更新服務(wù)的WSDL文檔和MSDL文檔;
[0017]E.對(duì)WSDL文檔和MSDL文檔進(jìn)行修改、添加等編輯工作;
[0018]F.同步服務(wù)的WSDL文檔和MSDL文檔,避免二者不一致;
[0019]G.根據(jù)服務(wù)描述文檔逆向生成java文件存放在新建項(xiàng)目的“src”源文件目錄下,生成的文件包括數(shù)據(jù)類型定義、服務(wù)端代碼、客戶端調(diào)用代碼、接口定義及實(shí)現(xiàn)類;
[0020]H.用戶實(shí)現(xiàn)對(duì)相應(yīng)接口進(jìn)行實(shí)現(xiàn);
[0021]1.運(yùn)行服務(wù)端代碼進(jìn)行服務(wù)發(fā)布;
[0022]J.解析WSDL文檔和MSDL文檔將服務(wù)的語(yǔ)法信息和語(yǔ)義信息記錄到服務(wù)網(wǎng)絡(luò)中,完成服務(wù)注冊(cè)。
[0023]本發(fā)明的技術(shù)特點(diǎn)及效果:
[0024]本發(fā)明為開發(fā)者基于多維度語(yǔ)義模型開發(fā)語(yǔ)義web服務(wù)提供了便捷的開發(fā)工具,使得開發(fā)流程更加清晰;利用本發(fā)明開發(fā)web服務(wù)的的過(guò)程所采用的方式是先定義服務(wù)描述后進(jìn)行接口實(shí)現(xiàn),這種方式使得文檔的編輯更加規(guī)范化,通過(guò)代碼自動(dòng)生成也減少了開發(fā)人員在服務(wù)端和調(diào)用端的代碼量;使用本發(fā)明是基于服務(wù)網(wǎng)絡(luò)的,利用本發(fā)明開發(fā)出的語(yǔ)義web服務(wù)在一定程度上減少了服務(wù)標(biāo)注和關(guān)系挖掘的工作量,并且使服務(wù)網(wǎng)絡(luò)的規(guī)模得以壯大。
【專利附圖】
【附圖說(shuō)明】
[0025]圖1為本發(fā)明所述插件的功能概述圖。
[0026]圖2為本發(fā)明所述插件的搜索模塊流程圖。
[0027]圖3為本發(fā)明所述插件的創(chuàng)建多維度語(yǔ)義web服務(wù)的模塊流程圖。
[0028]圖4為本發(fā)明所述插件的重用算法流程圖。
[0029]圖5為本發(fā)明所述插件重用算法工程實(shí)現(xiàn)過(guò)程示意圖。
【具體實(shí)施方式】
[0030]該工具包括兩大模塊:、搜索及結(jié)果瀏覽模塊和基于服務(wù)網(wǎng)絡(luò)創(chuàng)建多維度語(yǔ)義web服務(wù)模塊,其中:
[0031]I)搜索及結(jié)果瀏覽模塊,分為對(duì)服務(wù)搜索和本體搜索兩部分。按照用戶輸入的搜索條件,分別對(duì)服務(wù)網(wǎng)絡(luò)中的服務(wù)和本體進(jìn)行搜索。對(duì)搜素到的服務(wù)或本體可以進(jìn)一步瀏覽其信息。
[0032]2)基于服務(wù)網(wǎng)絡(luò)創(chuàng)建多維度語(yǔ)義web服務(wù)模塊,在用戶本地運(yùn)行環(huán)境中創(chuàng)建新的項(xiàng)目工程,根據(jù)用戶的選擇重用相應(yīng)的操作或服務(wù),自動(dòng)生成新服務(wù)的WSDL和MSDL文檔,為用戶提供圖形化的文檔編輯器進(jìn)行WSDL和MSDL文檔編輯,自動(dòng)同步WSDL文檔和MSDL文檔以彌補(bǔ)用戶疏漏而造成的文檔不一致,由描述文檔在新建工程源文件目錄下逆向生成Java代碼等功能;在用戶完成接口的代碼實(shí)現(xiàn)后,運(yùn)行本發(fā)明自動(dòng)生成的服務(wù)端代碼將新服務(wù)進(jìn)行發(fā)布;解析WSDL文檔和MSDL文檔將新服務(wù)的語(yǔ)法信息及語(yǔ)義信息記錄在服務(wù)網(wǎng)絡(luò)中完成新服務(wù)在服務(wù)網(wǎng)絡(luò)中的注冊(cè)。
[0033]使用所述工具構(gòu)建基于服務(wù)網(wǎng)絡(luò)的多維度語(yǔ)義web服務(wù),構(gòu)建流程如下:
[0034]步驟一、在服務(wù)網(wǎng)絡(luò)中進(jìn)行搜索,查找有無(wú)符合要求的服務(wù)或本體,搜索功能具體包括:
[0035]在搜索界面選擇進(jìn)行服務(wù)搜索或本體搜索。
[0036]A.服務(wù)搜索是對(duì)服務(wù)網(wǎng)絡(luò)中現(xiàn)有的服務(wù)進(jìn)行搜索。在服務(wù)搜索中可以根據(jù)服務(wù)的關(guān)鍵字,領(lǐng)域范圍,所在國(guó)家以及提供者等可選條件進(jìn)行聯(lián)合搜索;當(dāng)用戶確定搜索后,判斷四個(gè)搜索條件是否為空,若為空則忽略該搜索條件,默認(rèn)條件下幾個(gè)搜索條件均為空;若用戶沒有填寫任何搜索條件,默認(rèn)搜索SN中的所有服務(wù);搜索完成后,用戶可以對(duì)搜索結(jié)果進(jìn)行更進(jìn)一步的瀏覽和查看,包括服務(wù)的基本信息、所包含的操作的信息、服務(wù)質(zhì)量以及運(yùn)行信息。
[0037]B.本體搜索是對(duì)服務(wù)網(wǎng)絡(luò)中現(xiàn)有的本體概念進(jìn)行搜索。在本體搜索中以樹狀展示服務(wù)網(wǎng)絡(luò)中的本體結(jié)構(gòu);選擇相應(yīng)的本體概念查看其對(duì)象屬性和數(shù)據(jù)屬性。
[0038]步驟二、新建多維度語(yǔ)義web服務(wù),在步驟一的結(jié)果的基礎(chǔ)上,創(chuàng)建滿足多維度語(yǔ)義規(guī)范的語(yǔ)義web服務(wù),具體包括:
[0039]A.用戶輸入服務(wù)名稱及該新建的項(xiàng)目在本機(jī)的保存地址
[0040]B.根據(jù)A中的輸入結(jié)果,新建項(xiàng)目工程,并導(dǎo)入到eclipse的工作空間下,同時(shí)刷新eclipse當(dāng)前工作空間,在左側(cè)導(dǎo)航欄中顯示該工程。
[0041 ] C.在項(xiàng)目目錄下生成服務(wù)的WSDL文檔和MSDL文檔
[0042]D.對(duì)搜索過(guò)程中希望重用的操作或服務(wù)進(jìn)行復(fù)用,相應(yīng)更新服務(wù)的WSDL文檔和MSDL文檔
[0043]E.對(duì)WSDL文檔和MSDL文檔進(jìn)行修改、添加等編輯工作
[0044]F.同步服務(wù)的WSDL文檔和MSDL文檔,避免二者不一致
[0045]G.根據(jù)服務(wù)描述文檔逆向生成java文件存放在新建項(xiàng)目的源文件目錄下,生成的文件包括數(shù)據(jù)類型定義、服務(wù)端代碼、客戶端調(diào)用代碼、接口定義及實(shí)現(xiàn)類等。
[0046]H.用戶實(shí)現(xiàn)對(duì)相應(yīng)接口進(jìn)行實(shí)現(xiàn)。
[0047]1.運(yùn)行服務(wù)端代碼進(jìn)行服務(wù)發(fā)布
[0048]J.解析WSDL文檔和MSDL文檔將服務(wù)的語(yǔ)法信息和語(yǔ)義信息記錄到服務(wù)網(wǎng)絡(luò)中,完成服務(wù)注冊(cè)。
[0049]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0050]本發(fā)明的功能概述圖如圖1所示
[0051]如圖1所示,本發(fā)明主要分為兩個(gè)模塊,分別是搜素及結(jié)果瀏覽模塊和構(gòu)建多維度語(yǔ)義web服務(wù)模塊。下面分別對(duì)各模塊的主要功能做簡(jiǎn)單介紹。
[0052]一.搜索及結(jié)果瀏覽模塊
[0053]該模塊的主要功能是提供給用戶對(duì)服務(wù)網(wǎng)絡(luò)中的服務(wù)和本體進(jìn)行搜索。涉及的操作分別為:
[0054]I)創(chuàng)建搜索編輯器
[0055]2)多條件聯(lián)合搜索的服務(wù)搜索功能
[0056]3)本體結(jié)構(gòu)展示
[0057]該對(duì)服務(wù)網(wǎng)絡(luò)中的服務(wù)進(jìn)行搜索主要有兩個(gè)目的:1.用戶可以查看相關(guān)的服務(wù)的描述文檔,從直接在此多維度語(yǔ)義Web服務(wù)描述的基礎(chǔ)上進(jìn)行修改;2.用戶可以重用SN中相關(guān)的服務(wù),查看該服務(wù)的輸入和輸出,從而更好地定義開發(fā)自己的服務(wù),使得新開發(fā)的服務(wù)能夠與已有服務(wù)較好組合。
[0058]搜索結(jié)果瀏覽功能顯示服務(wù)搜索功能返回的服務(wù)結(jié)果。用戶選擇一個(gè)服務(wù),可以點(diǎn)擊查看詳情,查看服務(wù)的多維度語(yǔ)義信息以及服務(wù)的描述文檔。
[0059]基于多維度語(yǔ)義模型的Web服務(wù)離不開本體的語(yǔ)義支持,因此,在具體編碼之前,服務(wù)開發(fā)者可以搜索SN的本體,根據(jù)自己的需求選擇需要的本體,用戶可以瀏覽SN中已有本體的具體信息,從而確定是否選擇該本體。
[0060]二.構(gòu)建多維度語(yǔ)義web服務(wù)模塊
[0061]該模塊的主要功能是幫助用戶簡(jiǎn)單便捷地創(chuàng)建一個(gè)多維度語(yǔ)義web服務(wù)。所包括的功能為:在用戶決定新建服務(wù)時(shí)會(huì)自動(dòng)在其指定位置新建項(xiàng)目工程,并導(dǎo)入到eclipse的當(dāng)前工作空間下,刷新eclipse的當(dāng)前工作區(qū)使用戶在左側(cè)項(xiàng)目列表處即可看到新建項(xiàng)目;在項(xiàng)目目錄下生成兩個(gè)文檔,分別為該新建服務(wù)的WSDL文檔和MSDL文檔;重用用戶所選擇的操作/服務(wù),并相應(yīng)地更新服務(wù)的WSDL文檔和MSDL文檔;為用戶提供WSDL和MSDL的編輯頁(yè)面,用戶可以手動(dòng)修改編輯文檔內(nèi)容。在每次執(zhí)行重用算法后,刷新文檔編輯器內(nèi)的內(nèi)容;同步WSDL和MSDL,為避免由于用戶手動(dòng)操作而使得服務(wù)的WSDL文檔和MSDL文檔不一致;根據(jù)服務(wù)描述文檔,在項(xiàng)目的源文件目錄下,逆向生成java文件,生成的java文件包括使用到的數(shù)據(jù)結(jié)構(gòu)定義、接口的定義及實(shí)現(xiàn)類、服務(wù)的服務(wù)端代碼以及客戶端調(diào)用代碼;服務(wù)發(fā)布與注冊(cè)。在用戶實(shí)現(xiàn)接口后,運(yùn)行服務(wù)端代碼將服務(wù)進(jìn)行發(fā)布。解析WSDL文檔和MSDL文檔,將其中的語(yǔ)法信息以及語(yǔ)義信息記錄到服務(wù)網(wǎng)絡(luò)中,完成服務(wù)注冊(cè)。
[0062]所涉及的操作為:
[0063]I)插件中創(chuàng)建新的項(xiàng)目工程
[0064]2)重用服務(wù)網(wǎng)絡(luò)中的服務(wù)或服務(wù)的操作,并更新WSDL和MSDL文檔
[0065]3)同步 WSDL 和 MSDL 文檔
[0066]4)由服務(wù)描述文檔生成java文件
[0067]5)服務(wù)的發(fā)布與注冊(cè)
[0068]該模塊為開發(fā)者開發(fā)一個(gè)滿足多維度語(yǔ)義模型規(guī)范的web服務(wù)提供幫助以及清晰的開發(fā)流程。
[0069]如圖2所示,搜索模塊流程具體包括以下步驟:
[0070]步驟201、選擇此次搜索是進(jìn)行服務(wù)搜索或本體搜索。選擇服務(wù)搜索進(jìn)入步驟202,選擇本體搜索進(jìn)入步驟207。
[0071]步驟202、選擇服務(wù)搜索的搜索條件;
[0072]步驟203、點(diǎn)擊確定進(jìn)行服務(wù)搜索;
[0073]步驟204、判斷四個(gè)搜索條件選項(xiàng)是否為空。四個(gè)搜索條件分別為提供者,所在國(guó),標(biāo)簽及領(lǐng)域,四個(gè)條件均可以缺省。默認(rèn)情況下四個(gè)搜索條件均為空將搜索服務(wù)網(wǎng)絡(luò)中的搜索服務(wù);
[0074]步驟205、顯示搜索結(jié)果。
[0075]步驟206、結(jié)果瀏覽。對(duì)于搜索到的服務(wù)可以進(jìn)一步查看其詳細(xì)信息。擴(kuò)展editor擴(kuò)展點(diǎn)實(shí)現(xiàn)服務(wù)詳細(xì)信息編輯器界面。包括該服務(wù)的基本信息、操作及參數(shù)信息、質(zhì)量信息和運(yùn)行信息。
[0076]步驟207、進(jìn)行本體搜索,展示服務(wù)網(wǎng)絡(luò)中的本體結(jié)構(gòu)。
[0077]步驟208和步驟209、對(duì)于用戶選中的本體概念,顯示其對(duì)象屬性和數(shù)據(jù)屬性。
[0078]如圖3所示,創(chuàng)建多維度語(yǔ)義web服務(wù)的流程包括:
[0079]步驟301、用戶輸入服務(wù)名稱和工程保存位置;
[0080]步驟302、根據(jù)上一步驟中用戶輸入,在其當(dāng)前工作空間中新建項(xiàng)目。
[0081]步驟303、獲取默認(rèn)JRE系統(tǒng)庫(kù)添加到上一步新建項(xiàng)目之中,并在項(xiàng)目中創(chuàng)建“bin”文件夾以及“src”文件夾,其中將bin文件夾設(shè)置為輸出路徑,“src”為源代碼文件夾,隨后生成的java文件就存在于“src”目錄下。
[0082]步驟304、在該工程目錄下生成WSDL和MSDL文件。
[0083]步驟305、根據(jù)搜索結(jié)果進(jìn)行操作/服務(wù)重用。
[0084]步驟306、用戶對(duì)WSDL或MSDL文檔進(jìn)行編輯。
[0085]步驟307、同步WSDL和MSDL文檔。由于WSDL文檔與MSDL文檔分別從語(yǔ)法和語(yǔ)義的角度對(duì)服務(wù)進(jìn)行描述,但二者均基于同一個(gè)服務(wù)抽象模型。插件對(duì)兩個(gè)文檔均提供了用戶可編輯的功能。為避免使用者在編輯中的疏忽導(dǎo)致文檔內(nèi)容不一致,本插件實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的文檔同步功能。即以服務(wù)抽象模型為依據(jù)審核MSDL文檔是否缺失相應(yīng)功能語(yǔ)義。
[0086]步驟308、由描述文檔逆向生成java代碼。根據(jù)服務(wù)描述文檔逆向生成Java代碼于新建項(xiàng)目工程的源文件目錄下,使得用戶能夠?qū)崿F(xiàn)代碼完成服務(wù)操作功能。
[0087]步驟309、運(yùn)行自動(dòng)生成的服務(wù)端java文件進(jìn)行服務(wù)發(fā)布;在用戶完成服務(wù)操作接口的具體實(shí)現(xiàn)后,可以通過(guò)運(yùn)行服務(wù)端文件進(jìn)行服務(wù)的發(fā)布。經(jīng)發(fā)布的服務(wù)就可被客戶端調(diào)用執(zhí)行。
[0088]步驟310、新服務(wù)在服務(wù)網(wǎng)絡(luò)中注冊(cè)。在服務(wù)注冊(cè)過(guò)程中通過(guò)對(duì)WSDL文檔進(jìn)行解析,抽象出多維度語(yǔ)義web服務(wù)模型。
[0089]提取服務(wù)抽象模型中的信息,將其作為一條新紀(jì)錄插入到服務(wù)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)中,SP完成新服務(wù)在服務(wù)網(wǎng)絡(luò)中的注冊(cè)。此外,對(duì)于開發(fā)者重用的服務(wù)網(wǎng)絡(luò)中的操作,在服務(wù)網(wǎng)路中維持其與其他操作關(guān)系。
[0090]如圖4所示,為本發(fā)明重用算法流程圖,改流程具體包括如下步驟:
[0091]步驟401、用戶選定重用某個(gè)操作/服務(wù);
[0092]步驟402、判斷所選節(jié)點(diǎn)是服務(wù)的操作還是服務(wù)本身,若為服務(wù)本身執(zhí)行步驟403,若為操作執(zhí)行步驟404.
[0093]步驟403、404中判斷所選服務(wù)或操作在新建語(yǔ)義web服務(wù)中是否已經(jīng)存在,即該服務(wù)/操作節(jié)點(diǎn)是否已經(jīng)被重用
[0094]步驟405、406中執(zhí)行重用所選擇的操作/服務(wù)
[0095]步驟407、更新新建語(yǔ)義web服務(wù)的WSDL文檔和MSDL文檔,添加步驟405或步驟406中重用的操作/服務(wù)的語(yǔ)法信息和語(yǔ)義信息。
[0096]如圖5所示,為本發(fā)明描述文檔重用的工程實(shí)現(xiàn)過(guò)程圖。接下來(lái)詳細(xì)介紹算法的每部分的實(shí)現(xiàn):
[0097]1.根據(jù)所選擇的操作的操作名稱、訪問(wèn)協(xié)議以及方式確定所要重用的操作。在原服務(wù)的描述文檔中找到該操作的〈wsdl: operat1n〉部分。在新建服務(wù)的〈wsdl:portType>節(jié)點(diǎn)下新建〈wsdl:operat1n〉節(jié)點(diǎn)并復(fù)制所有的屬性及相應(yīng)的屬性值。
[0098]2.添加該操作的輸入輸出參數(shù)定義。根據(jù)〈wsdl:1nput〉以及〈wsdl: output〉的“message”屬性,在源文檔中選取〈wsdl:message>中“name”屬性的屬性值與之相符的“message”部分添加到新文檔中。
[0099]3.添加參數(shù)的數(shù)據(jù)結(jié)構(gòu)。根據(jù)參數(shù)定義中的“element”屬性的屬性值,在〈wsdl:types〉節(jié)點(diǎn)下添加所用到的類型定義。其中,采用遞歸方式對(duì)所有使用到的類型為complexType類型的數(shù)據(jù)結(jié)構(gòu),在新文檔中添加相應(yīng)的數(shù)據(jù)結(jié)構(gòu)定義。
[0100]4.添加操作的傳輸協(xié)議和風(fēng)格。在相應(yīng)的<wsdl:binding>節(jié)點(diǎn)下添加復(fù)制源文檔中的相關(guān)信息。
[0101]對(duì)MSDL文檔的復(fù)用主要是對(duì)功能語(yǔ)進(jìn)行義進(jìn)行復(fù)用。算法如下:
[0102]1.根據(jù)所選擇的操作的操作名稱、訪問(wèn)協(xié)議以及方式確定所要重用的操作。在新建服務(wù)的MSDL文檔的功能語(yǔ)義定義中(<funct1nality:Funct1nality>)添加該操作信肩、O
[0103]2.在原服務(wù)的MSDL文檔中復(fù)制與該操作相關(guān)的部分到新建服務(wù)的MSDL文檔中。其中包括操作的目標(biāo)、輸入、輸出、限制條件和訪問(wèn)協(xié)議。
[0104]3.分別復(fù)制上述幾個(gè)資源(目標(biāo)、輸入、輸出、限制條件和訪問(wèn)協(xié)議)在MSDL文檔中的所有屬性及對(duì)應(yīng)的屬性值。
【權(quán)利要求】
1.一種多維度語(yǔ)義web服務(wù)開發(fā)方法,其特征是,包括如下步驟: .1)搜索及結(jié)果瀏覽步驟,分為對(duì)服務(wù)搜索和本體搜索兩部分;按照用戶輸入的搜索條件,分別對(duì)服務(wù)網(wǎng)絡(luò)SN (Services Network)中的服務(wù)和本體進(jìn)行搜索,對(duì)搜素到的服務(wù)或本體進(jìn)一步瀏覽其信息; .2)基于服務(wù)網(wǎng)絡(luò)創(chuàng)建多維度語(yǔ)義web服務(wù)模塊,在用戶本地運(yùn)行環(huán)境中創(chuàng)建新的項(xiàng)目工程,根據(jù)用戶的選擇重用相應(yīng)的操作或服務(wù),自動(dòng)生成新服務(wù)的WSDL和MSDL文檔,為用戶提供圖形化的文檔編輯器進(jìn)行WSDL和MSDL文檔編輯,自動(dòng)同步WSDL文檔和MSDL文檔以彌補(bǔ)用戶疏漏而造成的文檔不一致,由描述文檔在新建工程源文件目錄下逆向生成Java代碼等功能;在用戶完成接口的代碼實(shí)現(xiàn)后,運(yùn)行本發(fā)明自動(dòng)生成的服務(wù)端代碼將新服務(wù)進(jìn)行發(fā)布;解析WSDL文檔和MSDL文檔將新服務(wù)的語(yǔ)法信息及語(yǔ)義信息記錄在服務(wù)網(wǎng)絡(luò)中完成新服務(wù)在服務(wù)網(wǎng)絡(luò)中的注冊(cè)。
2.如權(quán)利要求1所述的多維度語(yǔ)義web服務(wù)開發(fā)方法,其特征是,搜索及結(jié)果瀏覽步驟具體流程如下:在服務(wù)網(wǎng)絡(luò)中進(jìn)行搜索,查找有無(wú)符合要求的服務(wù)或本體,搜索功能具體包括:在搜索界面選擇進(jìn)行服務(wù)搜索或本體搜索: A.服務(wù)搜索是對(duì)服務(wù)網(wǎng)絡(luò)中現(xiàn)有的服務(wù)進(jìn)行搜索,在服務(wù)搜索中可以根據(jù)服務(wù)的關(guān)鍵字,領(lǐng)域范圍,所在國(guó)家以及提供者等可選條件進(jìn)行聯(lián)合搜索;當(dāng)用戶確定搜索后,判斷四個(gè)搜索條件是否為空,若為空則忽略該搜索條件,默認(rèn)條件下幾個(gè)搜索條件均為空;若用戶沒有填寫任何搜索條件,默認(rèn)搜索SN中的所有服務(wù);搜索完成后,用戶可以對(duì)搜索結(jié)果進(jìn)行更進(jìn)一步的瀏覽和查看,包括某個(gè)服務(wù)的基本信息、所包含的操作的信息、服務(wù)質(zhì)量以及運(yùn)行信息; B.本體搜索是對(duì)服務(wù)網(wǎng)絡(luò)中現(xiàn)有的本體概念進(jìn)行搜索,在本體搜索中以樹狀展示服務(wù)網(wǎng)絡(luò)中的本體結(jié)構(gòu);選擇相應(yīng)的本體概念查看其對(duì)象屬性和數(shù)據(jù)屬性。
3.如權(quán)利要求1所述的多維度語(yǔ)義web服務(wù)開發(fā)方法,其特征是,基于服務(wù)網(wǎng)絡(luò)創(chuàng)建多維度語(yǔ)義web服務(wù)模塊,即創(chuàng)建滿足多維度語(yǔ)義規(guī)范的語(yǔ)義web服務(wù),具體包括: A.用戶輸入服務(wù)名稱及該新建的項(xiàng)目在本機(jī)的保存地址; B.根據(jù)A中的輸入結(jié)果,新建項(xiàng)目工程,并導(dǎo)入到eclipse的工作空間下,同時(shí)刷新eclipse當(dāng)前工作空間,在左側(cè)導(dǎo)航欄中顯示該工程; C.在項(xiàng)目目錄下生成服務(wù)的WSDL文檔和MSDL文檔; D.對(duì)搜索過(guò)程中希望重用的操作或服務(wù)進(jìn)行復(fù)用,相應(yīng)更新服務(wù)的WSDL文檔和MSDL文檔; E.對(duì)WSDL文檔和MSDL文檔進(jìn)行修改、添加等編輯工作; F.同步服務(wù)的WSDL文檔和MSDL文檔,避免二者不一致; G.根據(jù)服務(wù)描述文檔逆向生成java文件存放在新建項(xiàng)目的“src”源文件目錄下,生成的文件包括數(shù)據(jù)類型定義、服務(wù)端代碼、客戶端調(diào)用代碼、接口定義及實(shí)現(xiàn)類; H.用戶實(shí)現(xiàn)對(duì)相應(yīng)接口進(jìn)行實(shí)現(xiàn); i.運(yùn)行服務(wù)端代碼進(jìn)行服務(wù)發(fā)布; J.解析WSDL文檔和MSDL文檔將服務(wù)的語(yǔ)法信息和語(yǔ)義信息記錄到服務(wù)網(wǎng)絡(luò)中,完成服務(wù)注冊(cè)。
【文檔編號(hào)】G06F9/44GK104239068SQ201410524370
【公開日】2014年12月24日 申請(qǐng)日期:2014年9月30日 優(yōu)先權(quán)日:2014年9月30日
【發(fā)明者】馮志勇, 林美辰, 陳世展, 張禎 申請(qǐng)人:天津大學(xué)