王紅剛,付耀鋒,王艷娥,王征風
(1.西安思源學院,陜西 西安 710038;2.西北有色金屬研究院,陜西 西安 710016)
科技信息資源是科學技術再發(fā)展的重要基礎??萍夹畔①Y源共享服務平臺是一個國家科學技術基礎條件建設的重要內(nèi)容之一,對促進科學技術的發(fā)展具有極其重要的作用[1-3]?!蛾兾魇 笆濉笨茖W和技術發(fā)展規(guī)劃》中明確指出要大力推進科技資源的開放與共享,建立科技資源開放共享平臺[4]。陜西省是中國鈦鋯鉿有色金屬材料研究和制造的大省,鈦鋯鉿金屬材料的生產(chǎn)和銷售占全國80%的份額,如何在“一帶一路”國家戰(zhàn)略層面引領下,結(jié)合互聯(lián)網(wǎng)+有色金屬行業(yè)對鈦鋯鉿戰(zhàn)略材料進行深度營銷,促進有色金屬行業(yè)的健康、快速發(fā)展,是該行業(yè)急需研究的熱點問題。
JEECG是一款基于代碼生成器的智能開發(fā)平臺[5],采用Java語言,支持敏捷開發(fā),使開發(fā)者專注于具體業(yè)務的開發(fā),短時間內(nèi)構建企業(yè)應用,同時保證了系統(tǒng)的復用性和二次開發(fā)特性,其越來越受到開發(fā)者的歡迎。
為此,文章提出了基于JEECG的有色金屬科技信息服務平臺系統(tǒng)框架,以ORACLE為數(shù)據(jù)存儲模式,采用面向服務分層架構和組件化思想,提升了科技信息服務平臺的通用性和可維護性。
有色金屬科技信息服務平臺系統(tǒng)框架如圖1所示,分為基礎設施層、數(shù)據(jù)層、接口層、應用支撐層、應用服務層、門戶層等,同時通過一個統(tǒng)一的安全保障體系和標準規(guī)范體系來保障數(shù)據(jù)通信的安全。
圖1 有色金屬科技信息服務平臺總體框架
各層的主要功能如下:
基礎設施層主要為有色金屬科技信息服務平臺提供硬件和軟件運行環(huán)境。
數(shù)據(jù)層采用Oracle數(shù)據(jù)庫,存儲科技信息、綜合信息、市場信息、專家信息、期刊出版信息等,作為本平臺的數(shù)據(jù)基礎。
接口層主要包含業(yè)務接口、數(shù)據(jù)接口,其中業(yè)務接口主要進行業(yè)務數(shù)據(jù)的邏輯算法接口開發(fā),完成關于科技信息分類、市場價格信息分析、企業(yè)征信信息查詢等復雜數(shù)據(jù)操作接口,為應用支撐層提供業(yè)務應用支持。數(shù)據(jù)接口主要實現(xiàn)DAO(data access object)的設計和開發(fā),將所有對數(shù)據(jù)庫的訪問操作抽象封裝在一系列的API中[6-7],供業(yè)務應用使用。
應用支撐層是整體應用系統(tǒng)建設的基礎保障。根據(jù)本平臺的需求,進行了面向服務體系架構設計,實現(xiàn)了相關應用組件,包括工作流引擎、統(tǒng)一用戶管理、報表工具、查詢引擎、日志管理等。
應用服務層主要包含有色金屬科技信息服務平臺的8個子系統(tǒng),包括科技信息管理子系統(tǒng)、綜合信息管理子系統(tǒng)、市場信息管理子系統(tǒng)、專家信息管理子系統(tǒng)、企業(yè)信息管理子系統(tǒng)、期刊出版信息管理子系統(tǒng)、基礎信息管理子系統(tǒng)、門戶網(wǎng)站信息管理子系統(tǒng)等。
門戶層主要包含的是一組具有相同標準和相同規(guī)范體系的網(wǎng)站群。它涵蓋了主站、各級子網(wǎng)站、各類專題網(wǎng)站以及移動終端網(wǎng)站等。同時門戶層為應用服務層的不同應用提供信息資源的不同表現(xiàn)形式。
系統(tǒng)在對西北有色金屬研究院業(yè)務調(diào)查的基礎上,結(jié)合中國有色金屬協(xié)會鈦鋯鉿分會的專業(yè)指導,做了詳細的需求分析。有色金屬科技信息服務平臺的主要使用者包括企業(yè)會員和業(yè)務管理員。其中,企業(yè)用戶可以在系統(tǒng)中瀏覽期刊文章、瀏覽市場評述、瀏覽價格行情、瀏覽進出口數(shù)據(jù)、專業(yè)檢索、標準查詢、發(fā)布供求信息、發(fā)布人才招聘信息、發(fā)布會議信息等。業(yè)務管理員主要完成該平臺核心功能的管理,主要包含出版物管理、科技信息管理、企業(yè)信息管理、綜合信息管理、市場信息管理、專家信息管理、會員信息管理等。系統(tǒng)主要用例圖如圖2所示。
圖2 有色金屬科技信息服務平臺主要用例圖
有色金屬科技信息服務平臺包括出版子系統(tǒng)、科技信息子系統(tǒng)、企業(yè)信息管理子系統(tǒng)、綜合信息管理子系統(tǒng)、市場信息管理子系統(tǒng)、專家信息管理子系統(tǒng)、會員管理子系統(tǒng)、系統(tǒng)管理子系統(tǒng)等8個子系統(tǒng),功能模塊如圖3所示。
(1)出版子系統(tǒng):該子系統(tǒng)主要完成《鈦工業(yè)進展》、《鈦鉿鋯工業(yè)簡報》兩本期刊信息及出版文章管理。主要包含期刊基本信息管理、期刊出版信息管理、期刊出版文章管理等功能模塊。
(2)科技信息子系統(tǒng):該子系統(tǒng)主要完成國內(nèi)外專利、學位論文、國內(nèi)外標準、文集、出版圖書信息的管理。主要包含國內(nèi)外公開專利管理、學位論文管理、國內(nèi)外標準管理、國內(nèi)外文集信息管理、國內(nèi)外出版圖書信息管理、國內(nèi)外發(fā)表論文管理等功能模塊。在每個子功能中又包括錄入、編輯、刪除、批量刪除、導入Excel、導出Excel等基礎功能。
(3)企業(yè)信息管理子系統(tǒng):該子系統(tǒng)主要實現(xiàn)對企業(yè)基礎信息、企業(yè)年度經(jīng)營數(shù)據(jù)、企業(yè)裝備信息的管理。包含了企業(yè)基本信息管理、企業(yè)年度數(shù)據(jù)管理、企業(yè)裝備信息管理、明星企業(yè)管理等功能模塊。
(4)綜合信息管理子系統(tǒng):該子系統(tǒng)主要實現(xiàn)對鈦鋯鉿行業(yè)綜合信息的管理,其中綜合信息包含會議會展信息、有色金屬應用實例信息、產(chǎn)品供應與求購信息、求職與招聘信息、政策法規(guī)信息、有色金屬轉(zhuǎn)化成果信息、有色金屬行業(yè)動態(tài)信息等。因此該子系統(tǒng)包含了會議會展管理、應用實例管理、供求信息管理、人才信息發(fā)布管理、政策法規(guī)管理、成果轉(zhuǎn)化管理、行業(yè)動態(tài)管理等功能模塊。其中行業(yè)動態(tài)管理子模塊除了錄入、編輯、刪除等基礎功能外,還具有置頂?shù)墓δ堋?/p>
(5)市場信息管理子系統(tǒng):該子系統(tǒng)主要實現(xiàn)有色金屬的市場評述信息、市場價格、市場進出口信息的管理。包含市場價格管理、市場進出口數(shù)據(jù)管理、市場評述報告管理功能模塊。其中市場價格、市場進出口信息管理采用的是主從表的管理方式,主表管理的是標題、月份、國別等基礎信息,從表中管理的是各種有色金屬元素的價格信息、進出口數(shù)據(jù)信息等。
(6)專家信息管理子系統(tǒng):該子系統(tǒng)主要實現(xiàn)對專家信息、專家專題內(nèi)容等的管理。包含了專家基本信息管理、主題內(nèi)容管理、主題點評管理等功能模塊。其中專題內(nèi)容包含文檔、音頻、視頻等形式。
(7)會員信息管理子系統(tǒng):該子系統(tǒng)主要實現(xiàn)有色金屬科技信息服務平臺門戶網(wǎng)站注冊會員的管理。包含會員基本信息、密碼重置、會員信息審核等功能模塊。
(8)系統(tǒng)管理子系統(tǒng):該子系統(tǒng)主要實現(xiàn)有色金屬科技信息服務平臺基礎信息的管理,包含用戶管理、角色權限管理、組織機構管理、系統(tǒng)菜單管理、數(shù)據(jù)字典管理等功能模塊。
圖3 系統(tǒng)功能結(jié)構
為了方便系統(tǒng)管理員對平臺數(shù)據(jù)的管理,簡化系統(tǒng)中數(shù)據(jù)操作的復雜度,在有色金屬科技信息服務平臺的每個子系統(tǒng)中都設計實現(xiàn)了數(shù)據(jù)導入導出功能。該功能是按照Excel模板實現(xiàn)數(shù)據(jù)庫表中數(shù)據(jù)和Excel之間的數(shù)據(jù)交互。
在實現(xiàn)該功能時,主要借助JEasyPOI工具類實現(xiàn)。JEasyPOI可以快速實現(xiàn)Excel的導入導出,具體實現(xiàn)步驟如下[8]:
(1)導入依賴。
在WEB.XML文件中導入JEasyPoi組件的依賴包[9-10]。核心代碼如下:
(2)構建實體類。
在JEasyPOI中導入導出都是基于注解的,在實體上做注解,標識導出對象[8,11]。
核心代碼如下:
@ExcelTarget("courseEntity")
public class CourseEntity implements java.io.Serializable {
private String id;
@Excel(name="課程名稱", orderNum="1", needMerge = true)
private String name;
@ExcelEntity(id="yuwen")
@ExcelVerify()
private TeacherEntity teacher;
…
}
其中
@Excel作用到filed上面,是對Excel一列的一個描述。
@ExcelCollection表示一個集合,主要針對一對多的導出。
@ExcelEntity表示一個繼續(xù)深入導出的實體。
@ExcelTarget是作用于最外層的對象,描述該對象的id,以便支持一個對象可以針對不同導出做出不同處理。
(3)編寫對應的Controller。
在Spring架構中輸入相應參數(shù)就可以完成Excel的導入導出[12]。核心代碼如下:
@RequestMapping(params="exportXls")
public String exportXls(KjbzEntity kjbz,HttpServletRequest request,HttpServletResponse response, DataGrid dataGrid,ModelMap map) {
CriteriaQuery cq=new CriteriaQuery(KjbzEntity.class, dataGrid);
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq,kjbz,request.getParameterMap());
List
map.put(NormalExcelConstants.FILE_NAME,"國內(nèi)外公開標準");
map.put(NormalExcelConstants.CLASS,KjbzEntity.class);
map.put(NormalExcelConstants.PARAMS,new ExportParams("國內(nèi)外公開標準列表", "導出人:管理員","導出信息"));
map.put(NormalExcelConstants.DATA_LIST,kjbzs);
return NormalExcelConstants.JEECG_EXCEL_VIEW;
}
MiniDao-PE是一款Java持久化框架,類似mybatis的持久層解決方案[13],可以統(tǒng)一事務管理。MiniDao-PE支持SQL語句和Java代碼的分離、支持自動事務處理和手動事務處理,輕松實現(xiàn)與hibernate輕量級無縫集成等[14]。具體實現(xiàn)步驟如下:
(1)接口定義,核心代碼如下:
@MiniDao
public interface EmployeeDao {
@Arguments("employee")
public List
@Arguments("empno")
Employee getEmployee(String empno);
…
}
(2)接口方法對應SQL文件創(chuàng)建。
SQL文件定位到dao接口的方法,dao接口的每個方法對應一個SQL文件。
SQL文件命名規(guī)則:{Dao接口名}_{方法名}.sql
簡單SQL,也可以采用方法注釋標簽。例如:
@Sql("SELECT count(*) FROM employee")
Integer getCount();
(3)編寫SQL文件內(nèi)容。
SQL文件采用模板語言Freemarker語法[15-16],可以靈活運用,甚至可以寫腳本語言,宏處理等。例如:
SELECT * FROM employee where 1=1
<#if employee.age ?exists> and age='${employee.age}'
#if>
<#if employee.name ?exists> and name='${employee.name}'
#if> <#if employee.empno ?exists> and empno='${employee.empno}'
#if>
(4)@Arguments參數(shù)標簽和@Param參數(shù)標簽設置。
@Arguments({"empno","name"})
Map getMap(String empno,String name);
項目建成了中國有色金屬工業(yè)協(xié)會鈦鋯鉿分會的鈦鋯鉿工業(yè)網(wǎng)平臺。該平臺提供了鈦鋯鉿領域期刊論文、會議文集、專業(yè)書籍以及國內(nèi)外標專利、企業(yè)、專家等大量的科技信息資源;同時面向鈦鋯鉿行業(yè)的工程技術人員、企業(yè)管理人員、市場營銷人員對積累的科技信息資源進行了深度挖掘和二次編輯加工,出版了行業(yè)咨詢雜志——《鈦鋯鉿工業(yè)簡報》網(wǎng)刊,匯編了國內(nèi)外鈦及鈦合金、鋯及鋯合金、鎳及鎳合金等稀有金屬標準及專利匯編;構建了鈦工業(yè)領域的企業(yè)、專家、市場信息數(shù)據(jù)庫,為鈦工業(yè)領域提供了更加高效、便捷的資訊服務。平臺前端界面如圖4所示。
圖4 平臺前端界面
通過該平臺為鈦鋯鉿企業(yè)提供“一站式”的科技導航、項目咨詢、成果推廣、創(chuàng)業(yè)孵化等全方位服務,滿足企業(yè)自主創(chuàng)新與發(fā)展的戰(zhàn)略需求,進而推動了中國鈦鋯鉿產(chǎn)業(yè)的發(fā)展和騰飛。
針對有色金屬行業(yè)背景,文中使用JEECG平臺和面向服務思想設計了有色金屬科技信息服務平臺。該平臺包含了目前有色金屬行業(yè)信息化管理的常用功能,掌握了有色金屬行業(yè)市場價格、進出口數(shù)據(jù)、國內(nèi)外企業(yè)經(jīng)營等情況,從而為有色金屬行業(yè)企業(yè)決策提供支持。