主數據的前世今生--第14篇
用日志記錄“開源軟件”的誕生
【點亮星標】----祈盼著一個鼓勵
博主開源地址:
主數據的前生
主數據不是一個新詞,但它同時也不是一個與生俱來的詞匯。在很久很久以前(當然也沒那么久),信息化系統出現后,產生了一個通用詞匯--基礎數據,基礎數據其實就是管理系統中,經常被使用的底層數據,它們很少變化卻頻繁引用,所以由此得名。貌似基礎數據的出現已經可以解決問題了,但主數據又是從何而來呢?
那么我們就繼續來看看信息化的發展歷程,起初誕生的信息化系統,往往都是獨立的,單一的存在,而基礎數據也是緊密耦合在管理系統中,甚至出現在各個模塊中,維護它們沒有統一的邏輯和規則,使用上也僅僅是提供自己的系統內部調用而已。隨著時代的變遷,出現了越來越多的信息化產品,它們本身是相互孤立和隔離的,就算不孤立也是以不同系統獨立存在的。雖然系統類型變得更豐富,但使用的底層基礎數據其實仍然是那些內容,如果還把基礎數據放在某一系統中,顯然是不合理的。系統設計的前輩們就開始逐漸把這些基礎數據剝離,功能也做了剝離,最終形成了一個單獨的系統,就叫做主數據系統。從此“主數據”這個更為高大上的名字開始傳播開來。
主數據系統解決了哪些問題
之所以把主數據系統獨立建設,一定有它的根源所在。下面我們就來分別聊聊。
(1)主數據需要統一的管理和存儲,以前更多的是把各自的基礎數據存儲在各自的管理系統中獨立管理,但本質上這些數據的管理應該是統一的,因為它們一定是公司層面確認并重視的核心數據,分開管理會增加管理的復雜度和風險。
(2)主數據需要一套完整的審批流程,所有這些數據的管理,不能是輸入即生效的,公司層面一定需要申請、審批、變更的流程。確認好這一流程對于企業中的核心數據的管控尤為重要,保證數據的唯一性、有效性、完整性才是主數據存在的另一個重大意義。
(3)主數據調用方式的統一,隨著SOA,微服務的普及和流行,主數據提供了更為主流的調用方式,通過Restful或Webservice提供調用接口,并使用緩存提高讀取效率。此過程也會使主數據與業務系統解耦,使數據的使用更高效、更安全。
一定需要主數據系統嗎?
主數據系統當然有存在的優勢,甚至是絕對優勢,但不是一定要搭建主數據系統,這要看企業當前的發展階段以及未來的發展規劃。因為要建立一套完善的主數據系統必定要花費大量的時間成本和維護管理成本。所以如果企業當前階段的主數據體量有限,并且不處于高速發展的行業,其實沒有必要立馬建立完善的主數據系統??梢钥紤]建設成信息化系統的一個模塊,只要保證功能相對獨立即可,便于以后剝離。
主數據如何設計
首先說說主數據管理的數據內容,主要包括:
(1)客戶
(2)供應商
(3)物料
(4)經營主體
(5)財務科目
(6)財務核算主體
其次來看這些模塊都需要提供哪些功能:
(1)申請及審核流程
(2)變更流程并保存變更歷史記錄
(3)綜合查詢和數據導出
(4)調用接口及調用記錄
(5)數據安全性
設計時需要特別注意的地方:
(1)主數據一定要做好數據唯一性、完整性的驗證,如果出現重復數據或者無效的數據,會斷送主數據存在的意義。
(2)主數據變更時要嚴格審核,由于業務系統在使用主數據時記錄的是主數據的編碼,所以如果變更了主數據的含義字段,可能會造成之前使用這條主數據的業務的含義內容發生變化,而產生巨大風險。
(3)主數據需做好數據隔離,因為同類數據都存儲在一起,但調用的時候要考慮到不同的使用權限問題,所以必要的隔離是離不開的。
(4)主數據的調用安全性,由于采用接口方式調用,所以API安全認證不可缺少,畢竟主數據是企業核心的價值數據。
后記
如果您對我們正在做的開源軟件感興趣,歡迎各種形式的合作,作為貢獻者或直接加入我們!讓我們一起打造一套開源的企業級信息化解決方案。