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