曹步清 文一憑 王少偉
1(湖南科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,知識處理與網(wǎng)絡(luò)化制造湖南省重點(diǎn)實(shí)驗(yàn)室 湖南 湘潭 411201)
2(武漢大學(xué)軟件工程國家重點(diǎn)實(shí)驗(yàn)室 湖北 武漢 430072)
?
基于Restful的Mashup應(yīng)用服務(wù)系統(tǒng)
曹步清1,2文一憑1王少偉1
1(湖南科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,知識處理與網(wǎng)絡(luò)化制造湖南省重點(diǎn)實(shí)驗(yàn)室湖南 湘潭 411201)
2(武漢大學(xué)軟件工程國家重點(diǎn)實(shí)驗(yàn)室湖北 武漢 430072)
摘要輕量級Restful架構(gòu)、采用開放Web API組合得到的Mashup應(yīng)用,發(fā)展迅速、數(shù)量眾多。開發(fā)者用戶如何準(zhǔn)確、快速地找到所需的高質(zhì)量Mashup應(yīng)用,以構(gòu)建面向Mashup應(yīng)用的服務(wù)系統(tǒng),成為一個具有挑戰(zhàn)性的問題。針對該問題,開發(fā)了一個基于Restful的Mashup應(yīng)用服務(wù)系統(tǒng),采用TF/IDF、Jacard相似度系數(shù)等關(guān)鍵技術(shù),實(shí)現(xiàn)了Mashup應(yīng)用的注冊與管理、匹配與搜索、Mashup網(wǎng)絡(luò)構(gòu)建,以及Mashup應(yīng)用推薦等功能。測試結(jié)果表明該系統(tǒng)界面友好,功能完備,能夠幫助開發(fā)者用戶快速、準(zhǔn)確地找到所需的高質(zhì)量Mashup應(yīng)用。
關(guān)鍵詞RestfulMashup應(yīng)用Mashup應(yīng)用匹配Mashup應(yīng)用推薦
MASHUP APPLICATION SERVICE SYSTEM BASED ON RESTFUL TECHNOLOGY
Cao Buqing1,2Wen Yiping1Wang Shaowei1
1(Key Laboratory of Knowledge Management and Network-based Manufacturing,School of Computer Science and Engineering,Hunan University of Science and Technology,Xiangtan 411201,Hunan,China)2(State Key Laboratory of Software Engineering,Wuhan University,Wuhan 430072,Hubei,China)
AbstractLightweight Restful-based Mashup applications composed by open Web API has become very popular nowadays. It becomes a challenging problem for the users of developer to accurately and rapidly find a desired Mashup application with high-quality to construct the Mashup applications-oriented service system. To solve this problem, the paper develops a Restful technology-based Mashup application service system, it uses TF/IDF, Jaccard similarity coefficient and other technologies, and implements the functions of Mashup applications’ registration and management, matching and searching, network construction and recommendation. Test results indicate that the developed system is friendly in interface, perfect in function, and can help users of developer to find the desired and high-quality Mashup application accurately and rapidly.
KeywordsRestfulMashup applicationMashup application matchingMashup application recommendation
0引言
傳統(tǒng)的基于SOAP協(xié)議,用WSDL文檔描述的Web服務(wù)廣泛應(yīng)用于互聯(lián)網(wǎng)各個領(lǐng)域,但也暴露出了很多問題,比如技術(shù)體系復(fù)雜、不易組合等。而輕量級的、基于Restful架構(gòu)的Mashup應(yīng)用,是當(dāng)今互聯(lián)網(wǎng)上新出現(xiàn)的一種服務(wù)組合現(xiàn)象。它是將兩種或兩種以上的Web應(yīng)用(Web API)混搭在一起,創(chuàng)建一個全新的Web應(yīng)用,其具有易開發(fā)與組合等優(yōu)點(diǎn),成為服務(wù)計(jì)算領(lǐng)域的研究熱點(diǎn)[1-3],誕生了諸如Microsoft Popfly, Google Mashup Editor, IBM Mashup Center 等業(yè)界優(yōu)秀的企業(yè)Mashup 平臺,支持開發(fā)者用戶組裝簡單、靈活和動態(tài)的Web 應(yīng)用[4-6]。截至2014 年6 月10 日,著名網(wǎng)站ProgrammableWeb 上Mashup 應(yīng)用高達(dá)7064個。
隨著構(gòu)建企業(yè)Mashup平臺及應(yīng)用服務(wù)系統(tǒng)愈來愈受到重視,國內(nèi)外的一些研究者針對Mashup應(yīng)用的搜索以及推薦等方面,開展了一些相關(guān)的研究工作。其中, Bianchini D[7]提出一種Mashup應(yīng)用推薦系統(tǒng),通過Mashup組件間的語義相似度計(jì)算所獲得的值,進(jìn)行Mashup應(yīng)用推薦。Maaradji A[8]提出一種基于社會網(wǎng)絡(luò)的服務(wù)組合方法,利用用戶的社會網(wǎng)絡(luò)所集聚的信息,動態(tài)地給用戶推薦Web API服務(wù)。Muhammad R[9]、Cinzia C[10]以及Picozzi M等[11],建立了基于Mashup的服務(wù)質(zhì)量QoS模型,并根據(jù)QoS排序進(jìn)行Mashup服務(wù)的推薦。
以上這些工作,利用了語義、社會網(wǎng)絡(luò)以及QoS等技術(shù),提高了Mashup應(yīng)用的搜索精度及推薦質(zhì)量,為面向Mashup應(yīng)用的服務(wù)系統(tǒng)構(gòu)建提供了重要的技術(shù)支撐。然而,它們暫未考慮開發(fā)者用戶的歷史搜索記錄,以較為準(zhǔn)確地推薦用戶所感興趣的Mashup應(yīng)用。特別是,Mashup應(yīng)用、Web API及其Tag描述之間存在著一定關(guān)系,利用這種關(guān)系構(gòu)建網(wǎng)絡(luò)并實(shí)現(xiàn)Mashup應(yīng)用的搜索與推薦,將大大提高其搜索精度與推薦質(zhì)量[2,3]。
因此,在面向Mashup應(yīng)用的平臺及服務(wù)系統(tǒng)構(gòu)建中,開發(fā)者用戶如何準(zhǔn)確、快速地找到所需的高質(zhì)量Mashup應(yīng)用,仍然是一個挑戰(zhàn)性問題。在我們前期工作中,提出了一種基于用戶使用歷史及服務(wù)網(wǎng)絡(luò)的Mashup應(yīng)用推薦方法[12]。該方法,利用了用戶的Mashup應(yīng)用使用歷史,實(shí)現(xiàn)了面向Mashup應(yīng)用網(wǎng)絡(luò)的相似服務(wù)推薦。以此為基礎(chǔ),本文將深入研究基于TF/IDF的Mashup應(yīng)用搜索與匹配技術(shù)、基于Jacard相似度系數(shù)的Mashup應(yīng)用推薦技術(shù),并開發(fā)Mashup應(yīng)用服務(wù)系統(tǒng)。系統(tǒng)將幫助開發(fā)者用戶快速、準(zhǔn)確地找到所需的高質(zhì)量Mashup應(yīng)用,以提高M(jìn)ashup應(yīng)用及其服務(wù)系統(tǒng)的開發(fā)效率,促進(jìn)大眾服務(wù)市場的成熟。
1系統(tǒng)框架與主要功能
基于Restful的Mashup應(yīng)用服務(wù)系統(tǒng),其框架如圖1所示。
圖1 基于Restful的Mashup應(yīng)用服務(wù)系統(tǒng)框架
圖1所示框架,包括“功能—模型—平臺”三個層次,層層遞進(jìn)。其中,“功能”是指設(shè)定系統(tǒng)的功能需求,主要包括Mashup應(yīng)用注冊、搜索與推薦?!澳P汀笔侵冈O(shè)計(jì)系統(tǒng)所需的模型及關(guān)鍵技術(shù);“平臺”是指編碼開發(fā)Mashup應(yīng)用服務(wù)系統(tǒng)。系統(tǒng)的模型及關(guān)鍵技術(shù)描述如下:
(1) Mashup應(yīng)用注冊模型該模型包括Mashup應(yīng)用抓取、領(lǐng)域設(shè)定、HTML解析與元數(shù)據(jù)存儲等部分。Mashup應(yīng)用注冊的具體流程為:首先,提供Mashup應(yīng)用的網(wǎng)絡(luò)地址,并選定Mashup應(yīng)用所屬領(lǐng)域(比如物流、地圖等);然后,解析服務(wù)的HTML文件成功能、消息格式、程序語言、協(xié)議等信息;最后,將Mashup應(yīng)用數(shù)據(jù)存儲進(jìn)數(shù)據(jù)庫,從而完成Mashup應(yīng)用注冊。
(2) Mashup應(yīng)用搜索模型該模型提供基于關(guān)鍵字的Mashup應(yīng)用模糊搜索,以及基于關(guān)鍵詞的Mashup應(yīng)用匹配與精確搜索功能。其中,在基于關(guān)鍵詞的Mashup應(yīng)用匹配與精確搜索中,系統(tǒng)將對所注冊的Mashup應(yīng)用文檔,進(jìn)行分詞處理,獲取內(nèi)容關(guān)鍵詞,構(gòu)建Mashup倒排索引。利用TF/IDF技術(shù)進(jìn)行文本相似度計(jì)算,實(shí)現(xiàn)用戶搜索關(guān)鍵詞與Mashup倒排索引文件之間的匹配,按相似度大小進(jìn)行排序返回搜索結(jié)果。
(3) Mashup應(yīng)用推薦模型該模型將根據(jù)Mashup與Web API的調(diào)用關(guān)系,Mashup與Tag之間以及Web API與Tag之間的功能標(biāo)注關(guān)系,利用Jaccard相似度系數(shù),構(gòu)建出大規(guī)模的Mashup(相似關(guān)系)網(wǎng)絡(luò),以向用戶推薦相似的Mashup應(yīng)用或Mashup組合應(yīng)用。
2系統(tǒng)關(guān)鍵模塊實(shí)現(xiàn)技術(shù)
2.1Mashup應(yīng)用數(shù)據(jù)爬取
以ProgrammableWeb網(wǎng)站的Mashup應(yīng)用數(shù)據(jù)為來源,采用JSOUP解析器,實(shí)現(xiàn)Mashup應(yīng)用數(shù)據(jù)的爬取,完成Mashup應(yīng)用注冊。
2.1.1數(shù)據(jù)來源
著名網(wǎng)站ProgrammableWeb是數(shù)據(jù)開放的Mashup應(yīng)用和Web API服務(wù)系統(tǒng)。目前,該網(wǎng)站提供了可供開發(fā)者用戶調(diào)用的Mashup應(yīng)用7064個,Web API服務(wù)11 483個。開發(fā)者用戶可從該網(wǎng)站獲得Mashup應(yīng)用、Web API服務(wù)的功能信息,包括名稱、URL、提供者、標(biāo)簽等。
本文以ProgrammableWeb上的這些Mashup應(yīng)用、Web API以及Tag描述為數(shù)據(jù)爬取來源,并以Mashup
2.1.2數(shù)據(jù)爬取
2.2Mashup應(yīng)用搜索
通過開源項(xiàng)目Lucene為Mashup創(chuàng)建索引文件,并利用TF/IDF向量分析法,實(shí)現(xiàn)基于關(guān)鍵詞的Mashup應(yīng)用的匹配,以快速、準(zhǔn)確地返回滿足用戶需求的Mashup應(yīng)用。
2.2.1Mashup索引構(gòu)建方法
采用Lucene構(gòu)建Mashup索引的流程為:(1) Lucene是基于關(guān)鍵詞索引和查詢的,首先進(jìn)行全文分析,以獲得要建立Mashup索引的內(nèi)容關(guān)鍵詞。對Mashup文檔進(jìn)行分詞處理,去除the、me、in、once、too”等沒有什么實(shí)際意義的詞,提取詞干。具體是由lucene中的Analyzer類實(shí)現(xiàn)分詞,該類封裝了很多種分詞方法。(2) 根據(jù)內(nèi)容關(guān)鍵詞,建立Mashup倒排索引,提高M(jìn)ashup應(yīng)用的檢索效率。“倒排索引”是實(shí)現(xiàn)單詞到文檔映射關(guān)系的最佳實(shí)現(xiàn)方式和最有效的索引結(jié)構(gòu)。把“Mashup文檔號—Mashup文檔中所有關(guān)鍵詞”,轉(zhuǎn)變成“關(guān)鍵詞—擁有該關(guān)鍵詞的所有Mashup文檔號”,建立Mashup倒排索引表。Mashup應(yīng)用倒排索引構(gòu)建算法如下所示:
Algorithm1: BuildMashupIndexs
Input: IndexPath
//存儲索引的路徑//
Output: MashupIndexs
1.Resultset=Mashup
我國的大部分國有電力企業(yè)均具有較為龐大的機(jī)制,從而導(dǎo)致在開展組織管理的過程中,會出現(xiàn)由于組織龐大而導(dǎo)致組織的管理精細(xì)化缺失問題,且許多企業(yè)均未能建立有效的高效管理體系。不同于其他工程類型,電力工程的質(zhì)量問題將嚴(yán)重影響工程的安全性,甚至將存在一定的安全隱患,為國家和人民均帶來了巨大的經(jīng)濟(jì)損失[3]。在實(shí)際施工的過程中,許多施工企業(yè)由于缺乏高效的管理體系,導(dǎo)致部分施工人員的施工行為未能得到有效的規(guī)范,導(dǎo)致工程內(nèi)存在許多安全風(fēng)險(xiǎn),影響了施工管理質(zhì)量。
//從數(shù)據(jù)庫中獲取Mashup的名稱、概述、Tags、URL等信息,查詢結(jié)果存放在結(jié)果集ResultSet 中//
2.while Resultset.next()
//遍歷結(jié)果集//
3.Document doc = new Document();
//doc表示索引中的一行,該數(shù)據(jù)結(jié)構(gòu)中包含Step4中生成的域信息//
4.Field title = new Field ("summary", summary, Field.Store.YES, Field. Index.TOKENIZED ); //分別為Mashup的名稱、概述、Tags、URL等創(chuàng)建相應(yīng)的域,F(xiàn)ield.Store.YES表示該域的存儲狀態(tài),F(xiàn)ield. Store.YES,Field.Index.TOKENIZED表示把每個域都建成可搜索索引//
5.doc.add(Field);
//將該域放入到該索引行中//
6.writer.addDocument(doc);
//將Document添加到IndexWriter中//
7.End while
8.writer.optimize();
//基于原來索引進(jìn)行索引重建//
9.writer.close();
//關(guān)閉資源//
2.2.2基于關(guān)鍵詞Mashup應(yīng)用匹配與搜索
利用TF/IDF向量空間模型,在Mashup倒排索引文件與用戶搜索關(guān)鍵詞之間進(jìn)行匹配,獲得的Mashup應(yīng)用結(jié)果會根據(jù)匹配后的相似度分?jǐn)?shù)進(jìn)行排序。
在TF/IDF向量空間模型構(gòu)建中,首先,把每一個Mashup倒排索引文件看作由一系列關(guān)鍵詞組成的字符串,每一個詞都有一個權(quán)重,詞會根據(jù)在文檔中的權(quán)重來影響對文檔相關(guān)性的打分。把所有此文檔中詞的權(quán)重看成一個空間向量模型,向量中的值就是該文檔中詞的權(quán)重,格式為Document={Term1,Term2,…,TermN},對應(yīng)向量為DocumentVector={Weight1,Weight2,…,WeightN}。然后,把用戶搜索關(guān)鍵詞看作一個簡單的文檔,也用向量模型來表示,格式為Query={Term1,Term2,…,TermN},對應(yīng)向量為QueryVector={Weight1,Weight2,…,WeightN}。最后,把Mashup倒排索引文件向量與用戶搜索關(guān)鍵詞向量放到一個N維空間中,由N個一維的詞(Term),構(gòu)成一個N維的空間坐標(biāo)系,如圖2所示。
圖2 N維TF/IDF向量空間模型
根據(jù)以上模型,相似度分?jǐn)?shù)計(jì)算如式(1)所示:
(1)
其中,q表示用戶搜索關(guān)鍵詞向量;d表示所構(gòu)建的Mashup倒排索引文件向量。
2.3Mashup應(yīng)用推薦
根據(jù)用戶需求,除了提供基于關(guān)鍵詞的Mashup應(yīng)用搜索之外,系統(tǒng)將根據(jù)Mashup、Web API以及Tag之間的關(guān)系構(gòu)建出大規(guī)模的Mashup(相似關(guān)系)網(wǎng)絡(luò),可以向用戶推薦相似的Mashup應(yīng)用或Mashup組合應(yīng)用,豐富推薦結(jié)果,增強(qiáng)推薦的多樣性與新穎性。
Web API是指可調(diào)用的網(wǎng)絡(luò)應(yīng)用程序接口。Tag是指標(biāo)簽,通常用來描述事物的功能。Mashup、Web API以及Tag三者之間的關(guān)系可以表述為:一個Mashup應(yīng)用由一個或多個Web API組合而成(調(diào)用關(guān)系);一個 Mashup應(yīng)用或一個Web API服務(wù),由多個Tag所標(biāo)注,用于描述它們的功能(標(biāo)注關(guān)系)。我們引入Jaccard相似度系數(shù)來度量任意兩個Mashup應(yīng)用的相似度。以任意兩個Mashup節(jié)點(diǎn)為例,根據(jù)它們所共同調(diào)用的 Web API或被共同的Tag標(biāo)簽所標(biāo)注而產(chǎn)生的相似度計(jì)算方法,如式(2)所示:
(2)
式中,API(Vi),API(Vj)分別為Mashup應(yīng)用 Vi,Vj所調(diào)用的相應(yīng)WebAPI集合。TAG(Vi),TAG(Vj)分別為用于標(biāo)注Mashup應(yīng)用Vi,Vj的相應(yīng)Tag標(biāo)簽集合?;谟脩舻钠脕碓O(shè)置α,β的值,α+β=1。針對任意兩個Mashup節(jié)點(diǎn)Vi,Vj,如其W(Vi,Vj)在一定的閾值以上,則構(gòu)建邊,由此,Mashup網(wǎng)絡(luò)將逐步形成。當(dāng)用戶搜索Mashup應(yīng)用時,系統(tǒng)將在Mashup網(wǎng)絡(luò)中執(zhí)行Mashup應(yīng)用的推薦,這里不詳述。Mashup應(yīng)用網(wǎng)絡(luò)構(gòu)建算法如下所示:
Algorithm2: Mashup Application Network Construction
Input:Mashup, Web API, Tag
output:MMN (Mashup-Mashup Network by Web API and Tag)
1.DataSet={{Mashup1,…,MashupN1}, { API1,…, APIN2}, {Tag1,…, TagN3}}
// 初始數(shù)據(jù)集,包括Mashup, API 以及Tag數(shù)據(jù)存儲信息 //
2.FOR i=1 TO N1
//構(gòu)建Mashup應(yīng)用網(wǎng)絡(luò)//
3.FOR j=i TO N1
//以下變量Num1, Num2為相同API與Tag計(jì)數(shù)//
4. { IF(Mashupi.Api=Mashupj.Api) Num1++;
5. IF(Mashupi.Tag=Mashupj.Tag) Num2++;
6. Construct Viby Mashupi, Vjby Mashupj;
//構(gòu)建頂點(diǎn)集//
8. IF(W(Vi,Vj)>0)
9. Construct E (Mashupi, Mashupj); }
//構(gòu)建邊集//
10.END FOR
11.OUTPUT MMN
//輸出MMN網(wǎng)絡(luò)
3原型系統(tǒng)實(shí)現(xiàn)及效果
3.1系統(tǒng)配置
本系統(tǒng)應(yīng)用MVC設(shè)計(jì)模式思想,使用Java語言進(jìn)行開發(fā),主要用到的軟件有:(1) JDK(J2SE Development Kit)1.6:Java程序開發(fā)包;(2) MyEclipse集成開發(fā)平臺;(3) MySQL數(shù)據(jù)庫;(4) Lucene2.2.0:實(shí)現(xiàn)索引和搜索的Java類庫;(5) Tomcat 6.0(Servlet/JSP容器);(6) JUNG2.0.1:一個用Java來建模、分析和做可視化圖表的框架;(7) Cytoscape Web 1.0.1:生物信息網(wǎng)絡(luò)關(guān)系軟件,實(shí)現(xiàn)網(wǎng)絡(luò)可視化顯示及網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)分析。
在以上這些程序包配置和安裝之后,可實(shí)現(xiàn)對本系統(tǒng)的訪問和操作, URL為http://125.221.225.2:8080/Mashup/。
3.2系統(tǒng)實(shí)現(xiàn)與效果
原型系統(tǒng)的主界面,如圖3所示,主要由Mashup應(yīng)用搜索框、Mashup應(yīng)用注冊消息窗口、用戶注冊與登錄窗口和所構(gòu)建的Mashup網(wǎng)絡(luò)瀏覽窗口所組成。
圖3 原型系統(tǒng)主界面
3.2.1Mashup瀏覽與搜索
系統(tǒng)實(shí)現(xiàn)了基于關(guān)鍵字的Mashup應(yīng)用模糊搜索功能,提供普通搜索與高級搜索兩種功能。其中,圖4為普通搜索界面,顯示了搜索關(guān)鍵字為“google”的Mashup應(yīng)用搜索結(jié)果列表,包括Mashup應(yīng)用的Name、Description、APIs、Tags等詳細(xì)信息。圖5為高級搜索界面,提供包括Name、Description、Tags、APIs、Date等在內(nèi)的Mashup應(yīng)用組合搜索選項(xiàng)。
圖4 基于關(guān)鍵字的普通模糊搜索界面
圖5 基于關(guān)鍵字的高級模糊搜索界面
此外,系統(tǒng)利用TF/IDF模型,實(shí)現(xiàn)了基于關(guān)鍵詞的Mashup應(yīng)用匹配與精確搜索功能。圖6為搜索Mashup應(yīng)用“book”的結(jié)果。系統(tǒng)采用了Lucene構(gòu)建Mashup倒排索引,并利用TF/IDF技術(shù),實(shí)現(xiàn)了用戶搜索關(guān)鍵詞與Mashup倒排索引文件之間的匹配,搜索結(jié)果則根據(jù)相似度分?jǐn)?shù)進(jìn)行排序。該功能比上述模糊搜索更加精準(zhǔn)。
圖6 基于關(guān)鍵詞的Mashup應(yīng)用匹配與搜索
3.2.2Mashup網(wǎng)絡(luò)構(gòu)建及推薦
系統(tǒng)根據(jù)Mashup、Web API以及Tag之間的關(guān)系,利用Jaccard系數(shù),構(gòu)建了大規(guī)模Mashup網(wǎng)絡(luò),可向用戶推薦相似的Mashup(組合)應(yīng)用。在該系統(tǒng)中使用了Cytoscape Web技術(shù)(Cytoscape Web,是在瀏覽器上顯示網(wǎng)絡(luò)圖的一個Flash插件,可實(shí)現(xiàn)服務(wù)網(wǎng)絡(luò)可視化,顯示效果好、界面美觀簡潔,適合顯示以節(jié)點(diǎn)為中心的、直徑在一定范圍內(nèi)的網(wǎng)絡(luò),網(wǎng)絡(luò)規(guī)模可通過節(jié)點(diǎn)間相似度大小與具體推薦算法控制)。如圖7所示,圖上部分是用戶所搜索的Mashup應(yīng)用“album-art-search”的詳細(xì)信息;圖中間部分顯示的是以album-art-search為中心的Mashup組合應(yīng)用推薦網(wǎng)絡(luò),該推薦網(wǎng)絡(luò)以紅色節(jié)點(diǎn)為源點(diǎn),直徑為5,Mashup應(yīng)用節(jié)點(diǎn)相似度在0.6以上;圖下部分是該網(wǎng)絡(luò)的一些具體信息(包括節(jié)點(diǎn)數(shù)、邊數(shù)等),以及網(wǎng)絡(luò)中某個Mashup應(yīng)用的詳細(xì)信息。
圖7 Mashup應(yīng)用網(wǎng)絡(luò)構(gòu)建及推薦
針對以上的Mashup應(yīng)用網(wǎng)絡(luò),可實(shí)現(xiàn)多種操作(如圖8所示):(1) 單擊Mashup節(jié)點(diǎn)或者每條邊,則會顯示該節(jié)點(diǎn)或邊的詳細(xì)信息。雙擊某個Mashup節(jié)點(diǎn)則進(jìn)入其詳細(xì)信息頁面;(2) 提供了Force、Directed、Circle、Radial、TreePreset等六種Mashup應(yīng)用網(wǎng)絡(luò)布局形式;(3) 可放大、縮小、拖拽、移動Mashup應(yīng)用網(wǎng)絡(luò);(4) 可將該網(wǎng)絡(luò)導(dǎo)出為png、svg等圖片格式;(5) 提供以Mashup節(jié)點(diǎn)相似度為閾值的邊過濾,有選擇性地推薦相似Mashup應(yīng)用。
圖8 Mashup應(yīng)用網(wǎng)絡(luò)操作界面
4結(jié)語
本文針對Mashup應(yīng)用的搜索與推薦問題,重點(diǎn)研究了基于TF/IDF技術(shù)的Mashup應(yīng)用匹配與搜索方法、利用Jaccard相似度系數(shù)的Mashup應(yīng)用網(wǎng)絡(luò)構(gòu)建及推薦技術(shù),并開發(fā)一個基于Restful的Mashup應(yīng)用服務(wù)系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了Mashup應(yīng)用的注冊與管理、匹配與搜索、網(wǎng)絡(luò)構(gòu)建與推薦等功能。在將來的工作中,我們將引入Mashup應(yīng)用的提供者與使用者信息,從社會網(wǎng)絡(luò)角度深入研究Mashup應(yīng)用的推薦。
參考文獻(xiàn)
[1] Keman Huang,Yushun Fan,Wei Tan,et al.BSNet:a network-based framework for service-oriented business ecosystem management[J].Concurrency and Computation:Practice and Experience,2013,25(13):1861-1878.
[2] Keman Huang,Yushun Fan,Wei Tan.An Empirical Study of Programmable Web:A Network Analysis on a Service-Mashup System[C]//ICWS 2012,Honolulu,Hawaii,USA,2012:552-559.
[3] Jian Cao,Wenxing Xu,Liang Hu,et al.A Social-Aware Service Recommendation Approach for Mashup Creation[J].International Journal of Web Services Research,2013,10(3):53-72.
[4] 潘偉豐,李兵,邵波,等.基于軟件網(wǎng)絡(luò)的服務(wù)自動分類和推薦方法研究[J].計(jì)算機(jī)學(xué)報(bào),2011,34(12):2355-2369.
[5] Ding W,Wang G A.Pattern-Oriented Impact Analysis Approach for Mashups[C]//SOSE,2010:55-58.
[6] Elmeleegy H.Mashup advisor:A recommendation tool for mashup development[C]//ICWS,2008:337-344.
[7] Bianchini D.A Recommendation System for SemanticMashup Design[C]//2010 Workshops on Database and Expert Systems Applications,2010:159-163.
[8] Maaradji A.Towards a Social Network Based Approach for Services Composition[C]//2010 IEEE International Conference on Communications (ICC),2010:1-5.
[9] Muhammad Raza.A Methodology for quality-based Mashup of Data Sources[C]//IIWAS2008,2008.
[10] Cinzia Cappiello.A quality model for Mashup Components[C]//Web Engineering:2009.Web Engineering,Lecture Notes in Computer Science,2009:236-250.
[11] Picozzi M.Quality-based recommendations for Mashup composition[C]//ICWE,2010:360-371.
[12] Buqing Cao,Jianxun Liu,Mingdong Tang,et al.Mashup Service Recommendation based on Usage History and Service Network[J].International Journal of Web Service Research,2013,10(4):81-100.
[13] 馬于濤,何克清,李兵,等.網(wǎng)絡(luò)化軟件的復(fù)雜網(wǎng)絡(luò)特性實(shí)證[J].軟件學(xué)報(bào),2011,22(3):381-407.
中圖分類號TP301
文獻(xiàn)標(biāo)識碼A
DOI:10.3969/j.issn.1000-386x.2016.02.004
收稿日期:2014-06-12。國家自然科學(xué)基金項(xiàng)目(61272063,6140 2168);軟件工程國家重點(diǎn)實(shí)驗(yàn)室開放基金(武漢大學(xué))(SKLSE2014-10-10)。曹步清,講師,主研領(lǐng)域:軟件工程,服務(wù)計(jì)算與云計(jì)算。文一憑,講師。王少偉,碩士生。