李敏敬 高春貞 王盼盼 湯網祥
摘要:隨著網絡信息技術的不斷發(fā)展,業(yè)務需求變更頻率的增加,如何重復利用現有服務和數據資源并快速搭建滿足用戶需求的web應用變得尤為重要,為此本文提出了一種基于信息聚合技術的解決方案——web混搭平臺,對web混搭技術(mashup)進行了研究,并對該web混搭平臺的體系結構、功能框架及結構詳解、具體技術實現方案都進行了詳盡的說明和介紹。
關鍵詞:信息聚合 web混搭 mashup
中圖分類號: TP315 文獻標識碼:A 文章編號:1007-9416(2016)07-0152-03
面對當今信息技術的高速發(fā)展,數據快速增長,人們需要對海量數據進行分析,提取出有價值的參考信息。業(yè)務人員需要及時地獲取數據來做研究和業(yè)務分析,這種需求經常隨著業(yè)務的變化而變化,很難固定。技術上,目前還沒有完善的信息發(fā)現手段;信息檢索不能解決信息發(fā)現的全部問題;而非技術人員往往不能根據自己的業(yè)務需求快速的構建出滿意的應用。基于以上關于有價值信息獲取在業(yè)務和技術上存在的問題,本文提出了一種信息聚合解決方案,并設計了一個Web混搭平臺。
1 解決方案
1.1 體系結構
本體系結構遵循面向服務的體系架構設計原則,web混搭平臺解決方案能夠完整的實現服務生命周期的各個環(huán)節(jié):服務建模及開發(fā)、服務發(fā)現、服務部署、服務調用、服務管理與監(jiān)控等。web混搭平臺解決方案的體系結構分為四個層次如圖1所示。
其中硬件層是指web混搭平臺的硬件環(huán)境,其中涉及到服務器、基礎網絡和存儲設備等;基礎層是web混搭平臺的支撐層以及內容提供層,對硬件層進行管理,并為上層應用提供服務的軟件系統(tǒng),主要包括操作系統(tǒng)、數據源、協議/API、Mashup支撐框架等;中間層是從應用中抽取出共同的特性封裝成通用組件,為應用層提供服務的軟件系統(tǒng),包括生命周期管理、運行管理等;應用層是系統(tǒng)架構的最頂層,主要是面向用戶的應用,用戶可以對應用查詢、重新編排及使用,主要功能包括Mashup應用展現、Web應用搭建、應用訂閱、信息檢索等。
1.2 功能結構
web混搭平臺能夠挖掘網絡環(huán)境中物理上下不相關的信息服務的各類信息間的邏輯關系,按用戶的需求進行靈活的組織、關聯與綜合,提供面向應用的聚合信息視圖的綜合信息訪問入口,支持信息支持人員對綜合信息的訪問和增值處理。
web混搭平臺實質是一種信息聚合服務,功能結構圖包括兩大功能模塊,四大平臺,即信息接入功能模塊、聚合信息展現模塊;管理平臺、開發(fā)平臺、運行平臺和安全策略平臺。功能結構詳解如圖2所示。
1.2.1 應用及數據源管理
(1)應用管理。應用推薦管理根據最終用戶的應用數據,以及預先定義的推薦規(guī)則給使用用戶推薦信息聚合應用,實現用戶專屬的個性化體驗。這里應用推薦管理負責用戶相關數據的維護,如用戶的基本信息、用戶的歷史使用習慣、用戶的偏好設定等數據,同時還配置和管理聚合服務的推薦規(guī)則,這些規(guī)則用來設定推薦Mashup應用的策略;應用生命周期管理主要是管理聚合應用的整個生命周期過程,包括應用的部署、激活、停止、刪除以及對聚合應用的可用性和可見性的控制;QOS保障管理是接收由運行單元觸發(fā)的QOS保障請求,保障聚合應用中數據源的QOS,從總體上來保障聚合服務;應用訂閱通知管理是為最終用戶設定的,希望將來被通知的聚合應用的規(guī)則,當有新的滿足用戶需求的已發(fā)布的聚合應用可用時,Mashup會及時通知到用戶,可以訂閱的范圍包括聚合應用發(fā)布者、聚合應用的類型、關鍵詞等;權限管理是對用戶進行權限設置,在用戶調用Mashup應用的時候,負責根據應用的執(zhí)行環(huán)境的請求,進行運行權限的檢查,還可以判斷用戶是否有權限進行Mashup應用訂閱及相應的訂閱規(guī)則設置,反饋給訂閱處理。
(2)數據源管理。數據源發(fā)現是在數據源注冊列表中,根據數據源的注冊信息,發(fā)現合適的數據源;數據源注冊是接收數據源所在服務器發(fā)送的注冊信息(公共服務標識、接口參數、物理地址、API規(guī)范、訪問協議、提供者等),并驗證注冊信息是否符合要求;數據源監(jiān)控是用來監(jiān)控數據源的情況,是否有接口變動、是否正常等,由于數據源的變動會影響已搭建好的mashup應用,所以需要更新Mashup應用,替換成其它具有同樣功能的數據源或直接將Mashup應用的狀態(tài)設置為不可用。
1.2.2 混搭應用生成環(huán)境
應用推薦是在用戶編輯應用的時候,可以根據用戶的編輯目的、編輯過程推薦相類似的Mashup應用,加快Mashup應用提供者的開發(fā)速度;數據源推薦同樣在用戶編輯應用或數據服務的時候,根據用戶的需求,推薦用戶可能會用到的數據源,提高開發(fā)應用的效率;服務搜索是提供基于語義的服務檢索功能;服務展現是在信息聚合應用生成模塊,展現Mashup服務,用戶可以在此調用服務搜索功能,搜索其他用戶提供的Mashup應用,或者使用用戶自己創(chuàng)建的Mashup應用;可編程模型構建即信息聚合服務軟件的聚合服務編輯器,利用js代碼調用和重組應用組件(數據源)的過程,或者自我創(chuàng)建,形成新的應用;可視化模型構建是可拖拽、可配置的聚合服務編輯器,利用強大的工具集和開發(fā)環(huán)境提供的編輯功能對封裝好的應用組件(數據源)進行重新組合和自我創(chuàng)建,形成新的應用;應用模型管理是對創(chuàng)建好的應用模型進行存儲,本文中模型的存儲是以文件系統(tǒng)的形式存儲,同時將每個應用模型的名稱、功能描述、標簽等信息存儲到數據庫文件中,并生成目錄,方便用戶的使用和服務創(chuàng)建時的調用。
1.2.3 混搭應用執(zhí)行環(huán)境
(1)概念網絡支撐??梢暬瘷z索是在網絡環(huán)境下的信息檢索技術基礎上引入概念網絡技術,有效擴充檢索的范圍,提高檢索精確度與滿意度;概念網絡維護是根據用戶的需求對概念網絡庫中的數據進行增加、刪除和修改操作,得到符合需求的概念網絡實例;數據訪問是根據可視化搜索的結果,對結構化和非結構化的數據進行訪問。結構化的數據主要支持國產化數據庫。非結構化的數據支持常用文件格式、web網頁、圖片、流媒體等。
(2)信息聚合執(zhí)行引擎。信息推薦處理是根據用戶以往訪問應用的特點,有針對性的推薦聚合應用和信息,本部分負責信息推薦功能的邏輯規(guī)則執(zhí)行;信息推送處理是當某些模塊運行的時候,需要將一些信息推送給與之關聯的模塊,本部分負責信息推送功能的實現;QOS保障觸發(fā)功能主要負責觸發(fā)對聚合應用QOS保障的功能,由管理模塊來執(zhí)行具體的保障功能;運行權限檢查負責觸發(fā)運行權限檢查的功能,交由管理模塊檢查當前請求聚合服務的用戶是否有足夠的權限使用該聚合服務;用戶交互處理負責與用戶交互消息,接收用戶的聚合服務請求,反饋請求結果給用戶等;信息聚合應用庫包括WSO2REGIST
RY_DB、WSO2WSAS_DB;應用邏輯運行是依據用戶請求的聚合應用,從應用庫中獲取聚合服務的能力,并依據邏輯的要求調用對應的數據源,為最終用戶提供對等的服務;數據源交互是根據聚合服務中所調用到的數據源描述調用信息接入模塊去獲取相應的數據源。
1.2.4 安全控制器
(1)數據安全。數據開放原則是選擇性開放用戶數據信息,對用戶注冊的個人信息,以配置的方式設置公開或隱藏,而部分信息如用戶名等為可公開信息;用戶身份識別是通過用戶標識和密碼對的方式進行身份識別,以確保通過聚合應用獲取用戶信息時,是用戶本人,而非其他非法用戶,避免泄露用戶隱私的問題。
(2)網絡安全。數據源審核是對請求注冊的數據源進行安全性和內容的審核,是否存在不安全數據,或涉密數據等;應用審核是信息聚合服務軟件具備對聚合應用的代碼安全進行嚴格審查的能力,以確保應用代碼本身是安全的,如不存在惡意代碼等,同時也不會因為代碼的缺陷,如死循環(huán)嵌套等,導致聚合應用對這個應用執(zhí)行環(huán)境的破壞;數據源接入控制是信息聚合服務器的數據量承受能力有一定范圍,需要對數據源接入的數據量及單位時間內訪問次數進行控制。
1.2.5 信息接入服務
數據源調用控制負責接受數據源的調用請求,判斷安全信息,以決定是否允許該次調用過程,當允許調用的時候則反饋相應的數據源調用結果;數據緩存是對于經常被調用到的數據源的數據且可以被緩存的,進行高速緩存,提高數據訪問的響應速度;協議轉換作為信息聚合環(huán)境與數據源之間的交互模塊,負責將信息聚合應用調用數據源所用的協議轉換為數據源所能夠識別的協議格式;數據轉換與協議轉換類似,將數據源輸出的格式進行轉化成信息聚合應用可以識別的格式,本文是WebService格式的數據。
1.2.6 聚合信息展現模塊
信息關聯展現是指用戶可以根據自己的需要裁剪出應用??梢园呀Y構化和非結構化、企業(yè)部門和個人、互聯網的信息根據需要重新組織成信息驅動的應用;概念網絡關聯查詢是根據概念網絡實現可視化搜索,將搜索結果根據自己的需要進行信息關聯展現;信息調閱是用戶可以查看更新后的訂閱內容;應用訂閱是用戶根據需要選擇不同的主題進行訂閱;Web應用搭建是指用戶可以根據通過拖拽Widget就可以簡潔快速的搭建需要的應用。
2 實現方案
根據信息聚合服務軟件體系結構模型,結合WSO2的開源產品,得到具體的信息聚合服務軟件實現方案如下。
2.1 信息接入模塊實現
本方案將底層數據以Web服務的方式接入,Web服務框架的Web服務技術實現架構采用開源的Apache-axis2,其體系結構特點是模塊化更強、靈活性更高,所以這種體系結構可以很容易地插入到其他相關Web服務標準和協議(如WS-Security、WS-Reliable
Messaging等)的實現中;信息接入模塊中的Web服務是基于SOAP協議的,SOAP協議是屬于Web服務的消息層,定義了消息交換的具體格式;數據服務器采用開源產品WSO2 Data Services Server,該數據服務器底層數據源支持關系型數據庫、CSV和Excel等結構化數據,在此基礎上,還可以擴展DOC、TXT、PDF等非結構化數據源。提供了可視化的操作界面,通過幾步簡單的配置,即可將異地、異構的數據源統(tǒng)一發(fā)布成標準的Web服務。數據的表現形式方面,統(tǒng)一將底層數據源發(fā)布成Web服務,返回到客戶端的是XML格式數據,用戶可對該數據格式進行增刪改查等操作。由于本方案采用B/S模式,所以應用服務器選用的Apache Tomcat,實現對所需框架的部署,其中Apache axis2的框架就是部署到該應用服務其中,實現熱部署、卸載等操作。
2.2 運行模塊實現——混搭應用執(zhí)行環(huán)境
概念網絡支撐部分,采用基于自學習機制和可配置機制兩種方式實現。其中可配置機制是指,當用戶使用該概念網絡時,可將本地資料配置到相應節(jié)點上,這種方式增加了概念網絡的靈活性。信息聚合執(zhí)行引擎是整個信息聚合服務軟件體系架構中的核心,它作為聚合應用的執(zhí)行環(huán)境,實現聚合應用邏輯的執(zhí)行以及對數據源的調用,在信息聚合執(zhí)行引擎上運行著眾多聚合應用提供者的聚合應用。信息聚合執(zhí)行引擎的核心代碼使用java編寫,執(zhí)行引擎在運行過程中,每個聚合應用都有對應的運行狀態(tài)信息、日志信息以及應用自身的屬性信息(標記、創(chuàng)建者、應用描述等),運行時信息的存儲選用derby數據庫,并結合使用Hibernate框架,實現對象與關系數據庫之間的映射功能,Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration,通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。
2.3 管理模塊實現——應用及數據源管理
Web混搭平臺的管理模塊主要使用JMX框架來實現,JMX是一個為應用程序、系統(tǒng)、設備等植入管理功能的框架??梢钥缭疆悩嫷牟僮飨到y(tǒng)平臺、以及系統(tǒng)體系結構和不同的網絡傳輸協議,開發(fā)無縫集成的系統(tǒng)、網絡和服務管理的應用。
2.4 開發(fā)模塊實現——混搭應用生成環(huán)境
通過mxGraph的可配置客戶端模式,配置我們所需要的界面化編輯工具,并對其Web sever端代碼進行編輯,滿足信息聚合服務軟件的可視化編輯器所需功能。
2.5 安全策略模塊實現
用戶數據安全模塊選用開源軟件產品WSO2 Identity server身份認證服務器來實現。
為了保證數據的網絡傳輸安全,安全策略模塊增加了https安全傳輸通道,在HTTP下加入SSL層,提供了身份驗證與加密通訊方法,使用https安全傳輸協議可以規(guī)避很多問題,如對主機即服務器的不信任;通訊過程中數據的泄密和篡改等。該安全協議工作流程是:
另外,由于本方案的底層數據和信息都是基于Web服務的,web服務的容器又選用了Apache axis2,從安全性考慮,這里選用axis2的安全模塊Apache Rampart,用來為Axis2 Web服務提供認證、集成、保密等功能,實現了WS-Security協議堆棧。
2.6 聚合信息展現模塊實現
為了降低服務器端的負載,聚合信息展現模塊選用Ajax異步通信技術,在用戶和服務器之間加一個中間層,使用戶請求與服務器響應異步化,以使服務器負擔的工作轉交給客戶端,減輕服務器和帶寬的負擔,運用JavaScript和XML,在服務器和網絡瀏覽器之間傳送或接收數據。
除此之外,聚合信息展現模塊的應用展現考慮用Gadget這種小控件的形式實現,用戶可通過選擇目錄或URL的方式選擇要組合的Gadget控件,這里選用開源產品wso2 Gadget Server實現,通過Gadget Server可以在同一個頁面同時展示多個內容相關的web混搭應用。
3 結語
本文詳細介紹了web混搭平臺的體系結構、功能框架及結構詳解、具體技術實現方案。web混搭平臺通過mashup可視化建模工具和對Gadget的支持,能夠快速輕松地使用現有信息源創(chuàng)建簡單的Web應用??梢愿鶕畔⒕酆瞎芾砉ぞ邔δP瓦M行修改和管理,構建更加安全的mashup。能夠構建安全和可持續(xù)利用的環(huán)境。支持拓寬企業(yè)級Mashup的使用,并提供合理管理和保護feed、Gadget和Mashup頁面安全的功能,以確保第三方Gadget的合理性能。并能夠應用測量和IP攔截等feed級控制和SSL傳輸加密,確保用戶的生產環(huán)境中的最優(yōu)安全性和績效。
參考文獻
[1]Raymond Yee著,唐揚斌等譯,Web2.0 Mashup開發(fā)實戰(zhàn)[M].人民郵電出版社,2008.
[2]楊高峰,基于信息聚合技術的個性化信息門戶的研究與實現[M].國防科學技術大學,2009.
[3]彭菲菲,錢旭,資源聚合平臺中定制信息存取的研究[J].計算機光盤軟件與應用,2012,(4),113-114.
[4]劉清堂,吳林靜,黃煥.網絡資源聚合研究綜述[J].情報科學,2015,(10),154-161.
[5]許輝陽,現代服務業(yè)共性服務關鍵技術研究[M].北京郵電大學博士論文,2009
[6]溫亮生,劉濤,許輝陽等.移動Mashup研究報告[M].研究報告,2008.
[7]徐超.大型互聯網公司分布式消息系統(tǒng)的設計與實施[M].復旦大學碩士論文,2013.