zoukankan      html  css  js  c++  java
  • Drools引擎学习

    首先上一段话:

    为提高效率,管理流程必须自动化,即使现代商业规则异常复杂。
    市场要求业务规则经常变化,系统必须依据业务规则的变化快速、低成本的更新。
    为了快速、低成本的更新,业务人员应能直接管系统中的规则,不需要程序开发人员参与。

    作为一名java程序员,我是这么理解的。在现代社会中,很多事情的处理都需要一个流程。哈哈,比如你户口本丢了,你得求爷爷,告奶奶,找这个签字,找那个盖章,最终把问题解决。这叫程序,也就是流程。

    4

    这是我昨天画的请假流程。如果通过引擎来做,就有个什么好处呢,就是自动流转,引擎驱动。本来我们需要考虑每一个任务task的执行人,执行数据,然后它的下一步,如果有可能的话,记录它的历史执行信息。现在我们activiti这个平台来实现这些基本的功能需求,对有个平台化的基本概念

    恩,这个思想很强大。

    -------------------------------------------

    引擎不是框架

    框架本质上说还是一段一段的代码,没有一个驱动流转的概念。

    为什么呢?

    因为框架不连接数据库,而引擎需要数据库。往往自己也带有数据库中的表。

    ---------------------------------------------

    接着上面说到,我们需要引擎来做自动化的工作,可是引擎只是实现了一个api结构。没有定义规则。

    可是什么是规则呢,举个例子:工资的算法=f(税前,税率,五险一金)

    一般就是这几个参数,但是算法 f 本身会变化的。f 就是规则。

    ---------------------------------------------

    f怎么来做呢?

    硬编码到activiti的xml代码中吗?改起来麻烦,而且部署以后比较麻烦。

    至于写到其他的地方,然后读取-解析-配置的流程,则完全可以指定一个规则了。所以,drools属于一个规则标准。

    ---------------------------------------------

    spring是用来取代 new关键字;

    hibernate 是为了取代各种繁杂的jdbc代码;

    struts是为了减少与httpservlet的交互。

    流程引擎或者说规则引擎是用来干嘛的呢?

    我们的业务逻辑从本质上说,还是if-else,各种各样的分支结构。而引擎的功能就是为了来管理业务逻辑。

    --------------------------------------------

    昨晚睡了一夜,回来看自己写的东西,都是狗屁。

    没做过几个工作流,就在这里瞎比比,真是傻逼。

    整个工作流体系是什么样子的,现在有哪些现成的、流行的工作流引擎,

    牵涉到哪些标准+规范,我知道吗?

    我还是多学学再说吧。

    ------------------------------------------

    贴几本书:

    imageimageimage

    image

    ----------------------------------------

  • 相关阅读:
    Unity之串口通信(基于三姿态传感器)
    Unity3d win7协议多点触控
    大大的蛋项目 第二篇 第三关
    大大的蛋项目
    Unity3d 调用C++的DLL
    有梦想的小鸟
    【Unity3D插件】NGUI屏幕自适应 .
    【Unity3d】使GUI适应屏幕分辨率
    unity自动保存项目
    BloomFilter——大规模数据处理利器
  • 原文地址:https://www.cnblogs.com/haore147/p/4728958.html
Copyright © 2011-2022 走看看