erp的大部分處理針對資料庫的資料,因此我設計了一套規範去約束這些處理,採用了資料流的思想,得到了資料流層框架namsara。namsara的核心模組包括 exchanger, filter, loader, channel。通過這四個模組的綜合運用,可以處理任意的erp需求。
exchanger::實現資料對映,包括簡單的資料四則混合運算,字串處理等。是資料流層的核心部分。例如訂單生成到貨單,通過配置exchanger,就可以實現。
filter:資料的bool運算,其結果影響到channel的數理(channel下文介紹),產生分流。其作用類似程式語言的if條件判斷,滿足不同需要的資料處理
loader:載入外部資料,與持久層nemuria緊密結合。目的在於引進新資料來源到資料流。通過配置可以簡單的向資料來源新增需要的資料,滿足資料流處理的要求,不需要寫**進行資料讀取與載入。其結果根據載入是否成功產生分流。
channel:資料流層另外乙個核心模組。他主要對以上三個模組進行鏈條式連線,形成類似流水線一樣的資料處理。簡單的說,通過channel對exchanger, filter, loader進行裝配,實現了資料流處理;loader載入了exchanger需要的資料來源,filter提供條件選擇合適的exchanger, loader進行處理。以下是乙個簡單的資料流圖:
上圖的模組體現了channel對filter, exchanger, loader的組裝。下面我就套用乙個訂單到貨的例子進行文字分析上圖:
precondition:
有一張訂貨單,現在需要生成到貨單,批次,入庫單。
requirement:
訂貨單中如果是贈品,則不生成入庫單。
如果是非商品,則生成入庫單。
所有商品生成到貨單,批次
dataflow:
贈品流:filter判斷為贈品,進入exchanger2生成批次
商品流:filter判斷為商品,進入loader讀取資料庫商品資訊;進入exchanger1生成入庫單,進入exchanger2生成批次
全部再進入exchanger3生成到貨單
上面體現了我設計的namsara實際處理邏輯,即在filter分流,在exchanger2並流,然後再執行exchanger3。當然具體的程式邏輯下文再講。
狂風暴雨 雨過天晴篇 資料流層Namsara發布
下面將發布namsara的源 文件。namsara文件 files zc22 namsara user manual script.pdf namsara視覺化配置文件 files zc22 visual namsara user manual script.pdf 源 檢查過了,沒有病毒了,真的還...