◎文/孟睿 叢磊
社會信息化有著人類社會特定歷史發(fā)展階段中的技術(shù)、理論、認知和社會需求等諸多方面的背景及動因。在出版信息化的過程中,出版業(yè)不斷發(fā)展創(chuàng)造著新的出版形態(tài)、出版流程管理模式和文化傳播方式,推動了出版產(chǎn)業(yè)信息化的發(fā)展,開啟了嶄新的出版產(chǎn)業(yè)信息化時代。
隨著出版產(chǎn)業(yè)信息化的推進,大量的異構(gòu)系統(tǒng)充斥在出版各個階段中,隨著時間的推移,信息量越來越龐大,信息類型也呈現(xiàn)出多樣化的特點。這就導致各種信息要么雜亂交織在一起,要么彼此分離、難以共享,導致大量的數(shù)據(jù)信息很難被充分利用,無法實現(xiàn)信息價值的最大化。
面對大量結(jié)構(gòu)化、半結(jié)構(gòu)化或非結(jié)構(gòu)化的出版信息,需要一種新的解決方案來支持異構(gòu)系統(tǒng)間各類信息的傳遞和共享。出版產(chǎn)業(yè)通用數(shù)據(jù)交換技術(shù)重點實驗室經(jīng)過一年半時間的研究,已確定并驗證了通用數(shù)據(jù)交換的關鍵技術(shù)在于如何實現(xiàn)“端交換方案+中間標準庫”在交換云平臺中的協(xié)同運作,即“耦合數(shù)據(jù)交換技術(shù)”,其通過依賴多個維度的參數(shù)和系統(tǒng)性的邏輯,將交換行為模板化、通用化,構(gòu)建出交換雙方的映射通道,從而實現(xiàn)異構(gòu)關系數(shù)據(jù)庫之間的數(shù)據(jù)傳輸。
傳統(tǒng)的軟件設計模型常分為三層,分別為“業(yè)務模型層”“用戶界面層”和“控制器層”,此種設計模型是將業(yè)務模型和用戶界面的代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務邏輯。而通用數(shù)據(jù)交換技術(shù)的“耦合數(shù)據(jù)交換技術(shù)”架構(gòu)是在此架構(gòu)基礎上,將MVC架構(gòu)與數(shù)據(jù)處理也進行抽象分離,實現(xiàn)數(shù)據(jù)交換整體流程與系統(tǒng)業(yè)務邏輯無關性,重新設計成三層并根據(jù)其功能區(qū)分代稱為“端方案層”“耦合層”“云平臺層”。
“端交換方案”是應用在“端方案層”中,位于數(shù)據(jù)交換兩端,負責數(shù)據(jù)的讀寫及應用系統(tǒng)的適配,通過指定客戶端加載運行后用以處理數(shù)據(jù)內(nèi)容和交換流程的解決方案?!岸私粨Q方案”中對數(shù)據(jù)類型、數(shù)據(jù)庫交互規(guī)則、業(yè)務邏輯進行相應設定,數(shù)據(jù)發(fā)送方通過“端交換方案”設定的規(guī)則對數(shù)據(jù)進行抽取、清洗、處理、編譯,從而生成“數(shù)據(jù)交換載體文件”,數(shù)據(jù)接收方則通過“端交換方案”對“數(shù)據(jù)交換載體文件”進行校驗、解析、處理、存儲。因此,“端交換方案”是交換端應用系統(tǒng)業(yè)務邏輯的繼承和實例化。
在過去的很長時間里,通過XML技術(shù)進行結(jié)構(gòu)化信息之間的傳遞已經(jīng)是成熟的方案并得到了很好的實踐,XML作為一種可擴展的標記語言,是一種創(chuàng)建、設計和使用標記語言的工具集,是當前處理結(jié)構(gòu)化文檔信息的有力工具。經(jīng)過研究證實,它也是“端交換方案”的理想編寫語言。
盡管XML格式數(shù)據(jù)支持當前大多數(shù)數(shù)據(jù)庫的結(jié)構(gòu)化數(shù)據(jù)操作,但由于數(shù)據(jù)交換過程中可能存在必要的業(yè)務邏輯,單純基于XML語言的固定格式僅能作為結(jié)構(gòu)化數(shù)據(jù)交換載體,不能完全滿足含有復雜業(yè)務邏輯的大量異構(gòu)系統(tǒng)之間的半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)的交換,缺乏“通用性”。而“端交換方案”的核心是XML文檔,“端交換方案”借助XML結(jié)構(gòu)化標記數(shù)據(jù)的基本特點,通過“中間標準庫”搭建數(shù)據(jù)映射橋梁,使得半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)在經(jīng)過數(shù)據(jù)轉(zhuǎn)換和校驗后具有了“類結(jié)構(gòu)化”數(shù)據(jù)的可比性和可交換性。通過XML技術(shù)編寫“端交換方案”的目的是利用標準的、與軟硬件無關的XML語言,將業(yè)務單據(jù)元數(shù)據(jù)與業(yè)務單據(jù)邏輯按照規(guī)范結(jié)構(gòu)封裝在一個方案文件中,以保障兩者之間的可靠聯(lián)系。
“端交換方案”由XML聲明、根元素和元素組成,XML聲明將“端交換方案”定義為一個標準的XML文檔,并聲明了方案的編碼格式以及是否與外部其他文件存在關聯(lián);根元素和元素則是數(shù)據(jù)交換的主要內(nèi)容,用來記錄進行交換的具體數(shù)據(jù)以及它們在交換過程中需要遵循和執(zhí)行的業(yè)務規(guī)則,主要分為“端方案標題”“業(yè)務單據(jù)”“業(yè)務單據(jù)邏輯”三部分。
傳統(tǒng)出版行業(yè)發(fā)展至今已趨于穩(wěn)定,不同出版社的業(yè)務細節(jié)可能存在差別,但大致的業(yè)務流程和流轉(zhuǎn)的業(yè)務數(shù)據(jù)結(jié)構(gòu)大同小異。數(shù)據(jù)交換要想實現(xiàn)通用性,首先“端交換方案”的整體結(jié)構(gòu)就必須模板化,這就使得“端交換方案”需要遵循一定的創(chuàng)作規(guī)則。
根據(jù)XML語言的結(jié)構(gòu)特性,其主要構(gòu)建單元是通過標識、定義、約束性、值域等一組屬性描述的數(shù)據(jù)元素。下面基于數(shù)據(jù)元素的中文名稱、元素定義類型、數(shù)據(jù)格式類型及其所代表含義的說明等幾個方面,來描述“端交換方案”的創(chuàng)作規(guī)則。
“端方案標題”部分用于記錄“端交換方案”的基本信息,包括它適配的數(shù)據(jù)交換雙方的系統(tǒng)及版本,它的技術(shù)支持者,以及它交換數(shù)據(jù)的大致類型等,是“端交換方案”的身份識別標識,用以區(qū)分不同系統(tǒng)或同一系統(tǒng)不同版本的對應方案。其數(shù)據(jù)元素細目如下表所示:
中文名稱數(shù)據(jù)標識端方案編號定義類型 格式類型SimpleType xs:string SimpleType xs:integer端方案名稱SimpleType xs:string端方案版本號SimpleType xs:decimal端方案提交時間端方案提交者ID SimpleType xs:dateTime SimpleType xs:string說明用于標識“端方案標題”分組創(chuàng)作端方案時系統(tǒng)自動分配的編號,端方案的編號相當于端方案的身份ID,用于識別、區(qū)分端方案創(chuàng)作端方案時由開發(fā)者填寫的名稱端方案的版本號,隨端方案版本更新而變更端方案的創(chuàng)作時間提交端方案的用戶的注冊ID
端方案提交者名稱端方案提交者電話端方案作者ID端方案作者名稱端方案作者電話SimpleType xs:string SimpleType xs:string SimpleType xs:string SimpleType xs:string SimpleType xs:string端方案使用說明SimpleType xs:string端方案更新說明端方案適用類型端方案執(zhí)行標準號SimpleType xs:string SimpleType xs:string SimpleType xs:string端方案執(zhí)行標準名稱SimpleType xs:string端方案校驗狀態(tài)SimpleType xs:boolean端系統(tǒng)ID端系統(tǒng)名稱端系統(tǒng)版本號SimpleType xs:integer SimpleType xs:string SimpleType xs:string端系統(tǒng)數(shù)據(jù)庫類型端系統(tǒng)所有者ID SimpleType xs:string SimpleType xs:integer端系統(tǒng)所有者名稱SimpleType xs:string端方案業(yè)務單據(jù)數(shù)量SimpleType xs:integer提交端方案的用戶的姓名提交端方案的用戶的聯(lián)系電話創(chuàng)作端方案的開發(fā)者的注冊ID創(chuàng)作端方案的開發(fā)者的姓名創(chuàng)作端方案的開發(fā)者的聯(lián)系電話創(chuàng)作端方案的開發(fā)者對使用該方案的說明新版本端方案的更新修改內(nèi)容特定端方案的適用說明用于校驗本端方案的中間標準的標準號用于校驗本端方案的中間標準的標準名稱端方案的校驗狀態(tài)(0-未校驗、1-校驗通過、2-部分校驗通過、3-未通過校驗、4-未知)云平臺中注冊的端系統(tǒng)ID云平臺中注冊的端系統(tǒng)名稱云平臺中注冊的端系統(tǒng)的系統(tǒng)版本號,以版本標識符“V”+主版本號+次版本號的形式記錄端系統(tǒng)所使用的數(shù)據(jù)庫的類型端系統(tǒng)開發(fā)者或版權(quán)所有者的注冊ID端系統(tǒng)開發(fā)者或版權(quán)所有者的名稱本端方案中參與數(shù)據(jù)交換的業(yè)務單據(jù)數(shù)量
“業(yè)務數(shù)據(jù)”部分記錄本次數(shù)據(jù)交換的業(yè)務單據(jù)信息和數(shù)據(jù)元素,實現(xiàn)交換雙方的數(shù)據(jù)庫之間、數(shù)據(jù)庫與平臺“中間標準庫”之間的相互映射、節(jié)點關系及網(wǎng)絡拓撲結(jié)構(gòu),異構(gòu)系統(tǒng)的多樣化數(shù)據(jù)只有通過映射關系調(diào)整和數(shù)值轉(zhuǎn)換后,在數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)類型及中間標準校驗上才具有一定的可比性。其數(shù)據(jù)元素細目如下表所示:
中文名稱 定義類型 格式類型數(shù)據(jù)標識 SimpleType xs:string說明用于標識“業(yè)務單據(jù)”分組創(chuàng)作端方案時系統(tǒng)自動分配的編號,端方案的編號相當于身份ID,用于識別、區(qū)分端方案
端方案編號 SimpleType xs:integer業(yè)務單據(jù)序號 SimpleType xs:integer業(yè)務單據(jù)名稱 SimpleType xs:string業(yè)務單據(jù)說明 SimpleType xs:string單據(jù)流向 SimpleType xs:string單據(jù)文件類型 SimpleType xs:string單據(jù)文件名前綴 SimpleType xs:string是否創(chuàng)建額外項 SimpleType xs:boolean表名 SimpleType xs:string創(chuàng)建語句 SimpleType xs:string字符集 SimpleType xs:string邏輯步數(shù) SimpleType xs:integer用來區(qū)分業(yè)務單據(jù),標記業(yè)務單據(jù)和對應業(yè)務邏輯用來說明業(yè)務類型該業(yè)務單據(jù)的補充說明單據(jù)流向狀態(tài)分為:發(fā)送和接收單據(jù)文件類型分為:XML、JSON等,均以大寫表示單據(jù)文件名前綴組成規(guī)則:發(fā)送方編碼_接收方編碼_業(yè)務單據(jù)名稱可以創(chuàng)建的額外項包括表、視圖、序列、觸發(fā)、過程等:1-需要,0-不需要提取數(shù)據(jù)的表的名稱,英文表名+中文表名,多個表之間用“丨”分割數(shù)據(jù)交換涉及的額外表和視圖的創(chuàng)建語句該業(yè)務單據(jù)形成的單據(jù)文件的字符集對應的“數(shù)據(jù)單據(jù)邏輯”的步數(shù)
“業(yè)務單據(jù)邏輯”部分記錄數(shù)據(jù)處理過程的相關代碼,該段代碼是業(yè)務單據(jù)交換中必須執(zhí)行的邏輯指令,可通過交換平臺直接解析,不需要調(diào)用交換系統(tǒng)中內(nèi)置的函數(shù)代碼就可以直接模擬業(yè)務規(guī)則,實現(xiàn)對源數(shù)據(jù)的處理,既完成了數(shù)據(jù)輸入輸出過程中的各種觸發(fā),又保證了交換系統(tǒng)本身的完整性,在數(shù)據(jù)提取、存儲的基礎上豐富了處理過程,使其可以完成貼合業(yè)務邏輯規(guī)則的復雜數(shù)據(jù)交換過程。其數(shù)據(jù)元素細目如下表所示:
中文名稱 定義類型 格式類型數(shù)據(jù)標識 SimpleType xs:string端方案編號 SimpleType xs:integer業(yè)務單據(jù)序號 SimpleType xs:integer邏輯步驟序號 SimpleType xs:string邏輯步驟說明 SimpleType xs:string說明用于標識“業(yè)務單據(jù)邏輯”分組創(chuàng)作端方案時系統(tǒng)自動分配的編號,端方案的編號相當于身份ID,用于識別、區(qū)分端方案標記該邏輯步驟所屬的業(yè)務單據(jù)標記該邏輯步驟位于所有步驟中第幾步說明該業(yè)務單據(jù)邏輯步驟的作用
“端交換方案”有唯一一個“端方案標題”,但可以有若干個“業(yè)務單據(jù)”,每個業(yè)務單據(jù)又可以有若干個“業(yè)務單據(jù)邏輯”,通過一次交換,完成兩個系統(tǒng)間多業(yè)務、巨量化的數(shù)據(jù)傳輸。
出版大數(shù)據(jù)的“大”不僅體現(xiàn)出了數(shù)據(jù)的巨量性,也包含了其數(shù)據(jù)的復雜性。出版業(yè)的大數(shù)據(jù)僅在產(chǎn)品的數(shù)據(jù)內(nèi)容上具有行業(yè)一致性,其業(yè)務數(shù)據(jù)要具體到各企業(yè),而企業(yè)的業(yè)務流程千差萬別,使得出版大數(shù)據(jù)包羅萬象?!岸私粨Q方案”在遵循業(yè)務規(guī)則的基礎上為大量結(jié)構(gòu)化、半結(jié)構(gòu)化或非結(jié)構(gòu)化的信息數(shù)據(jù)構(gòu)建起映射關系,從而達到通用數(shù)據(jù)交換的目的,其創(chuàng)作遵循著一定的規(guī)則,也為信息技術(shù)普遍薄弱的出版企業(yè)提供了更多數(shù)據(jù)交換自助的可能性。