喬金海 叢磊



摘要:立足于出版行業在數據交換方面的需求和痛點,為了實現出版單位、發行商、圖書館等擁有出版行業數據的主體之間更好地完成數據交換,基于微服務架構開發了出版業通用數據交換云平臺,共三個子平臺,分別為數據服務云平臺、通訊呼叫云平臺、通用接口云平臺。本文著重介紹了通用接口云平臺的開發設計,平臺搭建基于SpringCloud微服務框架,包含了企業用戶管理、端交換方案管理、中間標準庫管理等基礎功能模塊,利用Html5+Vue技術搭建了前端頁面,后端采用SpringBoot+Spring Data Jpa+Redis進行開發。通過三個云平臺之間的共同協作實現了出版企業之間數據的互通和交換。
關鍵詞:出版業;通用數據交換云平臺;微服務;SpringCloud
一、出版行業數據交換的現狀
在當下的環境里出版企業存在大量數據交換、分析方面的需求,且迫切需要滿足,不僅有企業內部數據交換需求,同時還有大量企業對外數據交換需求。當前,國內外出版企業普遍采用“FTP+XML”接口模式進行數據交換?;诖四J介_發的接口采用的是“軟件代碼與業務代碼交織在一起”的模式,任意節點業務規則的變化,都會導致所有接口需要重新設計。因此,此種數據交換模式,無論是研發,還是后續的維護和修改都耗資巨大,大大超出了出版企業的承受能力。
當下在國際通行數據交換實施方案中,需要每個參與數據交換的企業投入幾千萬的資金進行信息交換安全方面的硬件、軟件、網絡一體化架構。這就造成了“幾千萬已投入、真正業務卻絲毫未達成”的現象。因此,出版企業一般會基于資金困難等原因,省略在這方面的投入,直接實施接口接入方案,給數據安全帶來了極大的隱患。新聞出版大數據包括七類數據,分別是機構數據、人員數據、產品數據、政務數據、商務數據、用戶數據和內容數據。出版行業數據分散在不同的主體當中,這七類數據散落在黨和政府部門、出版單位、發行商、圖書館、科研院所、廣電商、電商平臺等。主體收入數據分散,導致主管部門與出版行業主體之間、產業鏈上中下游主體之間信息不暢,信息系統缺乏互聯互通,產業鏈數據不能真正融合,匯聚、高效、共享、聯合、協同更無從談起。
二、出版業通用數據云平臺所用技術棧及開發環境
1.漸進式JavaScript框架Vue.js
Vue.js是近幾年來興起的一個前端框架,它相對于之前的一些前端框架來說,具備了體積小、運行效率更高、雙向數據綁定、生態豐富的多重優點。并且,它的學習成本很低,它最大的亮點在于只關注視圖層,并且具有配套的第三方類庫。
Vue.js引出了前端視圖層的概念,把每一個頁面分成了Model、View、VM ViewModel的三層架構模型,其中Model保存每個頁面單獨的數據,View用來展示每個頁面的結構,VM ViewModel則為核心調度者,分割了前面兩層,使它們不會直接關聯。
2.輕量級開發框架SpringBoot
眾所周知,在Java應用開發中,Spring已經逐漸地替代了J2EE,因為Spring具有輕量快速的特點,通過依賴注入和面向切面編程大大地簡化了開發。但是隨著業務邏輯的復雜化,所需要的組件開始變得復雜繁多,需要在Spring進行超重量級的配置,在項目的依賴管理上耗時費力,于是SpringBoot誕生了,并且很好地解決了這些問題。
SpringBoot提供了一種快速使用Spring的方式,它具有起步依賴,可以直接完成某些特定的功能,其最大的優點在于可以自動配置,在應用程序啟動時,程序會自動決定Spring配置應該用哪一個。
3.簡化持久層開發的Spring Data Jpa
JPA的出現是為了簡化數據庫持久層的開發和整合ORM技術,它支持注解和XML兩種形式,可以操作實體對象來進行數據庫的CRUD操作。Spring Data Jpa可以讓我們在持久層不用書寫代碼,直接繼承一個接口或者它的子接口,就可以實現其對數據庫的操作。它大大地簡化了分頁的業務邏輯處理,可以實現自動封裝,能解析成為我們想要的JSON數據。
4.緩存數據庫Redis
Redis是一個高性能的key-value型緩存數據庫,它支持數據的持久化,可以實現將內存中的數據持久化到硬盤上,并可以重復加載使用,同時提供多種數據結構的存儲,并且具有數據備份的功能??梢岳肦edis完成分布式鎖,實現加鎖、解鎖等一系列問題。
5.出版業通用數據交換云平臺開發環境
(1)前端頁面開發環境
前端開發采用現在主流的前端框架Vue.js,用的開發環境是Jebrains公司的WebStorm,中國JS開發者把它譽為“Web前端開發神器”,與IntelliJ IDEA同源,繼承了IntelliJ IDEA強大的JS部分的功能。
(2)后端開發環境
后端開發同樣采用Jebrains公司的IDEA,目前IDEA已成為java開發者最喜歡用的一款后端開發環境,它集成了目前的主流后端開發框架,有一個很好的Spring生態。
(3)可視化Redis管理工具
Redis Desktop Manager是目前主流的Redis可視化管理工具,其代碼已經在GitHub開源,方便使用,免費版支持多種操作系統,是一款實用的可視化Redis客戶端。
三、出版業通用數據交換技術的理論分析
1.什么是數據交換技術
數據交換技術其根本是要為通信服務的,所謂通信,就是實現信息的傳遞,而要達到信息的傳遞則必須具備三個不可缺少的要素,那就是終端、傳輸、交換。但實際情況中一端系統到另一端系統之間的信息由于規范不同,無法進行傳輸或者共同使用,數據交換技術通過某種轉接方式實現了不同系統之間的數據通信。
2.出版業之間的數據交換
針對出版產業現有數據交換接口不通用的核心痛點,研究一種“邏輯分離、應用貼合”的新型通用數據交換架構已經成為了刻不容緩的首要任務。數據交換技術在出版行業的應用需求是非常大的,當前出版業面臨的數據交換問題有投入費用高、綁定規則死、應用標準難、保障安全少等,通用數據交換技術的引入,可以讓出版企業之間通過執行具有相同標準的端交換方案而進行數據的互通共用。
出版企業不再需要購買交換云平臺,僅僅需要用少量的資金或者是免費的方式,就可以滿足高安全性、高穩定性、高實用性的數據交換需求。采用“云平臺+客戶端”的運行模式,可以讓用戶使用起來更加方便。
3.出版業間數據交換云平臺的體系結構
數據交換云平臺的建立是以滿足出版企業的需求為前提的,這其中涉及的技術有數據庫技術、網絡通信技術、硬件技術、數據格式轉化技術。在建設數據交換云平臺時,需要考慮的因素也有很多,結合類似的研究成果,本文所介紹的出版業通用數據交換云平臺的系統結構如圖1所示。
四、出版業通用數據交換云平臺研究建設
1.出版業通用數據交換云平臺的組成
出版產業通用數據交換云平臺共包含數據服務云平臺、通用接口云平臺、通訊呼叫云平臺三個子平臺,三個平臺相輔相成,各自的側重點有所不同,但所提供的功能最終都是為數據交換服務的。
(1)數據服務云平臺
近年來,信息技術不斷發展,大量的數據充斥著這個時代,這些數據是海量高速且易于變化的,很多行業都已經深刻地認識到了大數據所帶來的巨大影響和作用,有人提出“數據資產是企業核心資產”,道出了當今信息社會數據對一個企業的重要性,如何對這些數據進行妥善的管理已經成為企業之間競爭的重要手段,而大數據技術又和云計算不可分割,這二者是缺一不可的,云計算為大數據提供了彈性可控可拓展的基礎。
數據服務云平臺建設的目的也是為了將云計算和大數據巧妙地結合起來,數據可以在數據服務云平臺上產生、存儲、整合、計算、分析、挖掘、傳輸和共享。同時,數據服務云平臺也會是一個跨領域的數據共享平臺,將數據共享擴展到企業層面。在后期的規劃建設當中,該平臺也將為“物物相連”的物聯網建設添磚加瓦,為實現萬物互聯貢獻自己的一份力量。
(2)通用接口云平臺
長期以來出版企業在數據對接方面的成本都是巨大的,信息系統的不同、業務流程的不同使得想要達到數據互通共享變得遙不可及,通用接口云平臺不受不同信息系統的影響,可以接受不同系統業務邏輯的不同,即使它們的業務邏輯發生了改變,接口還是可以繼續使用,并不需要重新進行開發。該云平臺實現了對各類異構數據庫的聯通可能。作為“通用”的接口將實現一次開發通用于各種信息系統,一個接口對應多種對接方向,并且適應多種數據庫,由此產生一對多、多對多的連接。
通用接口云平臺,要實現內外網數據的交互,并且要集成出版行業各種信息交換的標準,還要對這些標準進行拓展延伸,形成一個“中間標準庫”,技術廠商和有能力的出版單位的IT 開發人員將按照“中間標準庫”制定“端交換方案”,這樣的“端交換方案”符合企業之間的數據交換需求,實驗室負責發布“中間標準庫”來讓各個企業在制定“端交換方案”時有矩可循。兩個“端交換方案”和“中間標準庫”在通用接口云平臺上協同作用,從而實現數據的互通交換。同時,該平臺也接受第三方技術服務商根據實際交換需求提交的“準中間標準”上傳到“中間標準庫”,為兩個企業之間的“端交換方案”搭建數據交換的橋梁。
(3)通訊呼叫云平臺
如果是兩個信息系統,那么通用接口云平臺完全可以實現,因為它遵循點對點通信原則,但是當多個企業用戶或者多個信息系統之間要進行數據交換時,各個點之間頻繁的通信、傳輸、建立連接等一系列的請求,就會使得數據交換的過程變得十分復雜,還會面臨多種情況,比如無法連接、連接異常斷開、無法傳輸等現象,會造成巨大的網絡通信負擔或線路冗余。
在這種情況下,還需要一個通訊呼叫云平臺來解決這些復雜繁瑣的問題,在若干個不同系統之間進行數據交換時承擔呼叫應答管理,為數據交換的無差異化運行提供保障,可以在一定程度上監控一個接口對應一種到多種數據庫平臺產生的多個連接。
五、出版業通用接口云平臺功能設計
出版業通用接口云平臺在功能設計上遵循人性化、簡潔化原則,可以使企業和實驗室之間在此平臺上完成“端交換方案”和“中間標準庫”的提交、發送和集成,并且可以完成對異構數據庫的保密聯通。
企業用戶登錄云平臺后可以實現以下功能:
(1)下載“中間標準庫”當中的標準規范。企業可以在“中間標準庫”中下載標準從而完成對自己的“端交換方案”的編寫。
(2)上傳“端交換方案”。企業用戶可以將自己所編寫好的按照標準規范的“端交換方案”上傳至通用接口云平臺。
(3)下載“端交換方案”。企業用戶可以下載所需要的其他企業所提供的“端交換方案”來完成自己的需求。
(4)上傳“準中間標準”。如果“中間標準庫”中沒有企業所需求的標準,那么企業可以根據實際情況向“中間標準庫”提交“準中間標準”。
(5)企業用戶個人信息的設置。企業用戶可以在平臺的用戶管理界面實現對自己賬號信息的修改更新。
實驗室管理人員登錄云平臺后臺可實現以下管理功能:
(1)對企業用戶的管理。實驗室有權對企業用戶進行管理,具體體現在可以設置企業用戶的權重,更新企業用戶的部分信息。
(2)對企業“端交換方案”的管理。實驗室管理人員可以對企業上傳的“端交換方案”進行審核分類,有權對不符合標準的“端交換方案”進行退回令其修改。
(3)上傳“中間標準”。實驗室將寫好的“中間標準”上傳至“中間標準庫”。
(4)對“中間標準庫”的建設。實驗室負責將“中間標準庫”建設完整并上傳至通用接口云平臺。
六、部分開發過程呈現
1.VUE前端頁面應用組件的實現


(3)在SpringCloud中配置反向生成工具對實體類生成相應的實體類和配置文件,在pom.xml文件的
(4)新建配置文件generatorConfig.xml,配置文件需配置數據庫jar包位置、生成的文件存放位置等信息。
七、總結
出版業通用數據交換云平臺一共包含三個子平臺,本文著重介紹了對通用接口云平臺的設計與開發,通用接口云平臺作為整個通用數據云平臺的重要組成部分,承擔了實現內外網數據交互、集成信息交換標準的重要職責。通過開發出版業通用數據交換云平臺,達到了基本的耦合數據交換技術的實現,使 “端交換方案”“中間標準庫”在交換云平臺得以協同運作,并且可以準確地解析它們所包含的業務邏輯,從而實現了數據(含文件)的安全可控、準確傳遞。
參考文獻
[1]洪欣,陳維斌.基于XML的通用數據交換系統[J].計算機系統應用,2011,20(11):38-40.
[2]潘曉輝.通用數據交換系統的研究及實現[D].西安:西安電子科技大學,2006.
[3]鄭巧英,陳嘉懿,陳潔.圖書館RFID應用中建立數據交換規范的思考與實踐[J].圖書情報工作,2014,58(23):91-96.
[4]陳嘉懿,鄭巧英,李鮑.RFID通用數據交換平臺建設研究[J].圖書情報工作,2014,58(23):97-109.
[5]蔣勁松.基于XML異構數據交換系統的設計與實現[D].合肥:安徽大學,2011.
[6]王慶軍.通用數據交換技術研究[D].西安:西北工業大學,2003
[7]李月晴,范純超,張元生.基于微服務的生產管控平臺研究[J].金屬礦山,2011,536(2):173-178.
(作者單位:出版產業通用數據交換技術重點實驗室北京理工大學出版社有限責任公司)