林珠黎麗陽(yáng)楊伯藹
(1.廣東省科技基礎(chǔ)條件平臺(tái)中心廣東省高性能計(jì)算重點(diǎn)實(shí)驗(yàn)室2.華南師范大學(xué)計(jì)算機(jī)學(xué)院)
基于SOA與JFinal架構(gòu)的科技資源服務(wù)總線建設(shè)*
林珠1黎麗陽(yáng)1楊伯藹2
(1.廣東省科技基礎(chǔ)條件平臺(tái)中心廣東省高性能計(jì)算重點(diǎn)實(shí)驗(yàn)室2.華南師范大學(xué)計(jì)算機(jī)學(xué)院)
為更好地提高科技資源的共享效率和服務(wù)質(zhì)量,建設(shè)科技資源服務(wù)總線,提供更多類型的資源服務(wù)?;赟OA與JFinal架構(gòu)建設(shè)科技資源服務(wù)總線,提出其技術(shù)架構(gòu),主要在數(shù)據(jù)處理、服務(wù)實(shí)現(xiàn)、資源展現(xiàn)方面進(jìn)行建設(shè),并應(yīng)用于科技資源服務(wù)監(jiān)管平臺(tái),進(jìn)一步提高了科技資源的共享與服務(wù)水平。
科技資源;服務(wù)總線;JFinal;SOA
建設(shè)科技基礎(chǔ)條件資源服務(wù)平臺(tái),能夠有效提升科技服務(wù)的質(zhì)量水平,使科技服務(wù)由抽象變?yōu)榫唧w、由集中變?yōu)閺V泛。科技平臺(tái)是科技服務(wù)的載體和實(shí)現(xiàn)形式,通過科技平臺(tái)匯聚科技基礎(chǔ)條件資源,并將匯聚的資源整合利用,為社會(huì)各界提供資源服務(wù)[1];通過科技平臺(tái)展現(xiàn)各類科技服務(wù),包括在線提供服務(wù)或離線實(shí)現(xiàn)某些科研項(xiàng)目,使科技服務(wù)更加具體化、形象化。
“一站式”科技基礎(chǔ)條件平臺(tái)需要將各類資源進(jìn)行統(tǒng)一整合,面向社會(huì)提供多樣化的資源服務(wù),具有跨機(jī)構(gòu)、跨平臺(tái)和跨組織的業(yè)務(wù)特點(diǎn)。為更好地面向廣大科技工作者提供開放式的資源服務(wù),擴(kuò)展兼容更多的信息系統(tǒng),參考企業(yè)服務(wù)總線應(yīng)用模式,提出面向科技資源的服務(wù)總線設(shè)計(jì),可方便地整合分布式資源,并統(tǒng)一對(duì)社會(huì)開放共享。面向服務(wù)的架構(gòu)(service oriented architecture,SOA)是為了適應(yīng)需求多變而提出的一個(gè)系統(tǒng)
架構(gòu)理念[2],是一種構(gòu)造分布式系統(tǒng)方法,它將IT系統(tǒng)功能以服務(wù)的形式提供給用戶或其他服務(wù),以適應(yīng)不斷變化的需求。本文基于SOA架構(gòu)設(shè)計(jì)開發(fā),基于服務(wù)及組件的開發(fā)思維可提高系統(tǒng)的移植性和適應(yīng)性,可滿足科技資源中眾多資源類別以及資源異構(gòu)性的特點(diǎn)。本文平臺(tái)采用Web 2.0技術(shù),借助其特性提升用戶體驗(yàn),因此,面向科技資源服務(wù)的資源服務(wù)總線(resource service bus,SSB)技術(shù)架構(gòu)主要基于SOA和Web 2.0,其架構(gòu)如圖1所示。
圖1 面向科技資源服務(wù)的資源服務(wù)總線(SSB)的技術(shù)架構(gòu)
在SOA體系架構(gòu)下,資源服務(wù)總線基于組件的開發(fā)模式,整合現(xiàn)階段廣東省科技資源,解決其異構(gòu)性和多樣性,構(gòu)造更高層和更粗粒度的資源應(yīng)用模塊軟件架構(gòu)。
在數(shù)據(jù)整合方面,SSB采用自建數(shù)據(jù)庫(kù)與外在數(shù)據(jù)有機(jī)結(jié)合的方式。對(duì)于可以整合歸類的科技資源,直接存儲(chǔ)于平臺(tái)進(jìn)行統(tǒng)一管理;對(duì)于各類企業(yè)自主管理的資源,采用數(shù)據(jù)交換平臺(tái)的形式接入資源服務(wù)總線。資源服務(wù)總線采用消息服務(wù)封裝、EJB服務(wù)封裝等多種封裝形式,以保證總線的適應(yīng)性和擴(kuò)展性。為保證進(jìn)入服務(wù)總線的數(shù)據(jù)安全,采用安全審計(jì)、Cache機(jī)制和通信機(jī)制等多種企業(yè)總線機(jī)制。SSB整合科技資源并進(jìn)行管理后,提供各種服務(wù)的應(yīng)用,這些應(yīng)用均采用Web Service服務(wù)和Rest服務(wù)。目前該服務(wù)總線已開展統(tǒng)一認(rèn)證、綜合搜索、UI控件、服務(wù)統(tǒng)計(jì)、服務(wù)評(píng)價(jià)、服務(wù)監(jiān)管等應(yīng)用。
2.1 資源服務(wù)總線優(yōu)勢(shì)
傳統(tǒng)的資源服務(wù)總線主要是運(yùn)用于本地進(jìn)行信息共享傳輸,為集合本地資源,以請(qǐng)求、服務(wù)的形式實(shí)現(xiàn)跨應(yīng)用、跨區(qū)域的信息共享,其核心技術(shù)采用企業(yè)服務(wù)總線的建設(shè)思路,解決企業(yè)本身各系統(tǒng)間的信息共享問題。
科技資源服務(wù)總線將企業(yè)服務(wù)總線的思想運(yùn)用于科技資源數(shù)據(jù)整合和應(yīng)用中,除了應(yīng)用行業(yè)不同之外,其核心技術(shù)也有創(chuàng)新之處。1) 在數(shù)據(jù)的采集和整合過程中,傳統(tǒng)服務(wù)總線一般運(yùn)用于本地的資源整合;而科技資源服務(wù)總線采用本地與異地相結(jié)合的方式進(jìn)行存儲(chǔ)和管理,異地異質(zhì)數(shù)據(jù)庫(kù)通過數(shù)據(jù)交換平臺(tái)最終納入資源服務(wù)體系架構(gòu)。2) 雖然同樣將服務(wù)作為接口,但傳統(tǒng)的服務(wù)總線通常在第三方應(yīng)用與服務(wù)總線前,直接采用Web Service接口進(jìn)行數(shù)據(jù)訪問和應(yīng)用調(diào)用;而科技資源服務(wù)總線在第三方應(yīng)用和服務(wù)總線之間添加管理工具,包括適配器和統(tǒng)一認(rèn)證技術(shù),每次訪問調(diào)用均需要授權(quán)和認(rèn)證,保障數(shù)據(jù)安全。同時(shí)在SSB中通過認(rèn)證用戶,在訪問其他第三方應(yīng)用時(shí),可以實(shí)現(xiàn)單點(diǎn)登錄,使服務(wù)更加方便快捷。
2.2 SOA與JFinal實(shí)現(xiàn)
平臺(tái)采用J2EE框架實(shí)現(xiàn),技術(shù)選型主要考慮輕量級(jí)、易擴(kuò)展、支持Restful、開發(fā)極速靈活和良性運(yùn)行的特點(diǎn),并遵循MVC架構(gòu)[3],技術(shù)框架如圖2所示。
圖2 平臺(tái)技術(shù)框架
JFinal是基于Java語(yǔ)言的極速Web開發(fā)框架,現(xiàn)階段已得到廣泛應(yīng)用。在SSB實(shí)現(xiàn)過程中,結(jié)合JFinal框架進(jìn)行開發(fā),采用ORM+JFinal+SHIRO+ Freemaker+HTML5的模式進(jìn)行。框架由Handler、Interceptor、Controller、Render、Plugin 5大部分組成。JFinal架構(gòu)十分簡(jiǎn)單,頂層是一個(gè)責(zé)任鏈模式變種。ActionHandler內(nèi)部結(jié)構(gòu)也很簡(jiǎn)單,是Command模式變種[4]。
基于SOA與JFinal架構(gòu)的科技資源服務(wù)總線可應(yīng)用于科技資源服務(wù)平臺(tái)中,其功能主要有資源服務(wù)統(tǒng)計(jì)、服務(wù)評(píng)價(jià)、資源監(jiān)管等。具體的功能模塊如圖3所示。
圖3 服務(wù)監(jiān)管中心功能模塊
3.1 資源服務(wù)統(tǒng)計(jì)
資源服務(wù)統(tǒng)計(jì)技術(shù)上主要采用第三方軟件與服務(wù)總線相結(jié)合的方式實(shí)現(xiàn)。在SSB實(shí)現(xiàn)科技資源數(shù)據(jù)整合的基礎(chǔ)上,通過統(tǒng)一認(rèn)證的用戶,可直接通過接口調(diào)用數(shù)據(jù)統(tǒng)計(jì)插件。主要集成了EChart開源圖形統(tǒng)計(jì)軟件及自主研發(fā)的統(tǒng)計(jì)分析算法,包括多維度關(guān)系分析、高性能分析引擎等,將數(shù)據(jù)根據(jù)需求展示給用戶。SSB將自建的服務(wù)評(píng)價(jià)功能通過基于SOA的接口適配技術(shù)實(shí)現(xiàn)服務(wù)總線內(nèi)訂單記錄的雙方評(píng)價(jià)及評(píng)價(jià)處理。數(shù)據(jù)與用戶的交互通過適配器進(jìn)行接收和傳送,適配器將數(shù)據(jù)轉(zhuǎn)換成XML文件,并打包成SOAP消息,通過服務(wù)總線消息隊(duì)列統(tǒng)一管理和發(fā)送。
1) 資源數(shù)量統(tǒng)計(jì)主要按照資源類型,歸類總結(jié)各類資源的服務(wù)數(shù)量,以達(dá)到數(shù)據(jù)分析的目的。同時(shí)提供按機(jī)構(gòu)進(jìn)行統(tǒng)計(jì)的功能,以發(fā)現(xiàn)全省范圍內(nèi)資源提供量較高的單位,有利于發(fā)現(xiàn)資源共享的典型機(jī)構(gòu)和補(bǔ)助政策的實(shí)施。
2) 資源質(zhì)量統(tǒng)計(jì)分為按資源統(tǒng)計(jì)和按機(jī)構(gòu)統(tǒng)計(jì)。按資源統(tǒng)計(jì)主要根據(jù)數(shù)據(jù)的類型進(jìn)行歸類分析;按機(jī)構(gòu)統(tǒng)計(jì)主要為了發(fā)現(xiàn)資源優(yōu)質(zhì)服務(wù)單位。質(zhì)量統(tǒng)計(jì)的依據(jù)是交易過程中的使用方評(píng)價(jià)和糾紛協(xié)調(diào)處理情況。
3) 統(tǒng)計(jì)報(bào)表用于展示資源的各種情況,為平臺(tái)管理人員提供直觀的數(shù)據(jù),并作為主管單位進(jìn)行科技資源決策時(shí)的數(shù)據(jù)依據(jù)。統(tǒng)計(jì)報(bào)表可以分為按區(qū)域統(tǒng)計(jì)、按時(shí)間段統(tǒng)計(jì)、按類別統(tǒng)計(jì)以及自定義統(tǒng)計(jì)。按區(qū)域統(tǒng)計(jì)可發(fā)現(xiàn)全省范圍的科技資源地域分布情況,有利于科技資源的均衡分布;按時(shí)間段統(tǒng)計(jì)可發(fā)現(xiàn)科技資源的發(fā)展趨勢(shì),以及各項(xiàng)共享政策實(shí)施后的成效;按類別統(tǒng)計(jì)可發(fā)現(xiàn)全省的科技資源優(yōu)勢(shì)與劣勢(shì),有利于平衡資源冗余與資源需求之間的關(guān)系。
3.2 服務(wù)評(píng)價(jià)
服務(wù)評(píng)價(jià)是指交易結(jié)束后,資源提供方和資源使用方進(jìn)行互評(píng),主要功能包括使用方評(píng)價(jià)、提供方評(píng)價(jià)和評(píng)價(jià)處理。
1) 使用方評(píng)價(jià)主要針對(duì)交易后,對(duì)資源的質(zhì)量和服務(wù)響應(yīng)進(jìn)行綜合評(píng)價(jià),該評(píng)價(jià)將影響資源信譽(yù),并作為資源服務(wù)質(zhì)量統(tǒng)計(jì)的依據(jù),影響積分發(fā)放。
2) 提供方評(píng)價(jià)主要在交易完成后對(duì)使用方進(jìn)行評(píng)價(jià),主要評(píng)價(jià)是否具有不良行為,如儀器是否損壞等。該評(píng)價(jià)將影響對(duì)使用方的積分發(fā)放。
3) 評(píng)價(jià)處理主要是對(duì)資源提供方和使用方的評(píng)價(jià)進(jìn)行監(jiān)督,防止惡意評(píng)價(jià),并依據(jù)評(píng)價(jià)的結(jié)果進(jìn)行積分發(fā)放。
3.3 資源監(jiān)管
資源監(jiān)管是指對(duì)資源進(jìn)行審核及監(jiān)督,保證資源服務(wù)的正常運(yùn)營(yíng)及服務(wù)質(zhì)量的提高。其主要功能包括資源信譽(yù)、資源審核、資源數(shù)據(jù)準(zhǔn)確性監(jiān)管、資源服務(wù)響應(yīng)性監(jiān)管。
1) 資源信譽(yù)體系通過對(duì)機(jī)構(gòu)信譽(yù)、交易信譽(yù)和質(zhì)量信譽(yù)進(jìn)行加權(quán)整合,形成信用體系中的資源信譽(yù)部分。用戶可對(duì)發(fā)布的資源進(jìn)行收藏,也可對(duì)機(jī)構(gòu)進(jìn)行關(guān)注和收藏,機(jī)構(gòu)或資源被關(guān)注或收藏,增加機(jī)構(gòu)信譽(yù);交易結(jié)束的資源訂單,雙方互評(píng),評(píng)價(jià)分?jǐn)?shù)影響資源使用方和資源提供方的交易信譽(yù);發(fā)布的資源如果被用戶舉報(bào),并被服務(wù)監(jiān)管中心確認(rèn),或服務(wù)監(jiān)管中心發(fā)覺異常,將影響資源的質(zhì)量信譽(yù)。
2) 資源的審核由平臺(tái)管理方執(zhí)行,針對(duì)資源提供方發(fā)布的資源進(jìn)行審核,符合資源服務(wù)標(biāo)準(zhǔn)的資源才能在平臺(tái)上正式運(yùn)營(yíng)。
3) 資源數(shù)據(jù)準(zhǔn)確性監(jiān)管主要監(jiān)管資源是否正確,如資源的實(shí)際內(nèi)容與發(fā)布標(biāo)題是否相符,資源提供的數(shù)量是否屬實(shí)等。該監(jiān)管手段主要依據(jù)使用方的資源舉報(bào)和使用方評(píng)價(jià)。
4) 資源服務(wù)響應(yīng)性監(jiān)管主要是監(jiān)管資源提供方是否及時(shí)響應(yīng)用戶的需求,及時(shí)提供資源進(jìn)行服務(wù),如用戶進(jìn)行咨詢時(shí)是否及時(shí)回答、是否及時(shí)發(fā)貨、在儀器閑時(shí)是否及時(shí)提供儀器租賃等。該監(jiān)管手段主要依據(jù)使用方的資源舉報(bào)和使用方評(píng)價(jià)。
本文建設(shè)的面向科技資源的服務(wù)總線,提出了資源服務(wù)總線的技術(shù)架構(gòu)和基本特征,采用SOA與
JFinal技術(shù)實(shí)現(xiàn),并運(yùn)用于科技資源服務(wù)平臺(tái)的建設(shè)。通過該服務(wù)總線的建設(shè),能夠滿足科技資源中眾多資源類別以及資源異構(gòu)性的特點(diǎn)。該資源服務(wù)總線運(yùn)用于資源服務(wù)平臺(tái),體現(xiàn)出其良好的服務(wù)效果。
[1] 林珠,陳樹敏,羅俊博.基于云計(jì)算的科技資源數(shù)據(jù)中心架構(gòu)設(shè)計(jì)[J].中國(guó)科技資源導(dǎo)刊,2015,47(4):40-44.
[2] Palma F, Moha N, Tremblay G, et al. Specification and detection of SOA antipatterns in Web services[M]// Software Architecture. Springer International Publishing, 2014:58-73.
[3] 楊寧,劉丹軍.基于JFinal框架的Java Web應(yīng)用開發(fā)研究[J].電腦知識(shí)與技術(shù),2014,10(7):1440-1443.
[4] Yang N, Liu D J. Java Web application development research based on JFinal[J]. Computer Knowledge & Technology, 2014,10(17):140-143.
Construction of Science and Technology Resource Service Bus Based on SOA and JFinal Architecture
Lin Zhu1Li Liyang1Yang Boai2
(1.Guangdong Science & Technology Inframstructure Center, Guangdong Provincial Key Laboratory of HPC 2. South China Normal University)
In order to improve the sharing efficiency and service quality of science and technology resources, we should build a scientific and technological resource service bus to provide more kinds of resource services. The construction of science and technology resources service bus based on SOA and JFinal framework for the technical architecture, mainly in data processing and service implementation, resources show aspects of construction, and applied to the science and technology resources supervision service platform, to improve the level of science and technology resources sharing and service.
Science and Technology Resources; Service Bus; JFinal; SOA
林珠,女,1983年生,高級(jí)工程師,碩士,主要研究方向:數(shù)據(jù)挖掘和人工智能、信息系統(tǒng)。E-mail: cherist@163.com
科技資源數(shù)據(jù)分析與開放共享服務(wù)平臺(tái)建設(shè)(2014B070706004);遠(yuǎn)程健康監(jiān)護(hù)大數(shù)據(jù)關(guān)鍵共性技術(shù)研究與應(yīng)用(2016A050502060);廣東省科技計(jì)劃項(xiàng)目--廣東省科技基礎(chǔ)條件平臺(tái)公共服務(wù)能力提升研究及資源網(wǎng)絡(luò)建設(shè)(粵科規(guī)財(cái)字[2015]72 號(hào))。
黎麗陽(yáng),女,1979年生,高級(jí)工程師,碩士,主要研究方向:信息系統(tǒng)、數(shù)據(jù)庫(kù)、軟件工程。E-mail: 22360857@qq.com
楊柏藹,男,1993年生,碩士,主要研究方向:云計(jì)算與數(shù)據(jù)開放。E-mail: 1027531092@qq.com