zoukankan      html  css  js  c++  java
  • 划时代的ERP业务数据流层系列(2) 之 电闪雷鸣:Namsara数据流层核心思想揭秘

    划时代的ERP业务数据流层系列(2) 之 电闪雷鸣:
    Namsara数据流层核心思想揭秘

    概述:

    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的源代码,并提供一个简单的Demo程序方便大家理解。欢迎大家来做客:狂风暴雨——倾盆大雨篇:Namsara源代码发布
  • 相关阅读:
    asp.net操作cookie
    前端实现浏览器端大文件分片上传
    百度WebUploader实现浏览器端大文件分片上传
    网页实现浏览器端大文件分片上传
    c#.net实现浏览器端大文件分片上传
    SpringCloud实现浏览器端大文件分片上传
    jsp实现浏览器端大文件分片上传
    Java实现浏览器端大文件分片上传解决方案
    Java实现浏览器端大文件分片上传功能
    Java实现浏览器端大文件分片上传方案
  • 原文地址:https://www.cnblogs.com/zc22/p/651775.html
Copyright © 2011-2022 走看看