zoukankan      html  css  js  c++  java
  • 细节决定成败

    (注:标题与文章内容无关)

    在WF的Activity中,Delay是一个比效简单的组件,几分种就可以掌握他的事件、属性

    在实际的业务应用中,有一类结点叫做"默认许可(否决)",这类应成非常多,由其是在电子政务、法务、商务应用中。比如:
    "自收到通知之日起X日内不提起上诉...."
    "自收到申请之次日起,5日内不做出答复视为同意"
    "两年内不主张债,法律不再保护"
    "在3个月的公告期内如无人提出异议....."

    还有一类叫做"到时提醒"结点,比如:
    "闹钟"

    以上的两类业务结点可以使用Delay实现,设计时应注意如下几点:

    Delay会触发引擎的idle事件,当引擎加载持久化服务后,会对该状态的实例持久化.我们还可以设置引擎是否把进入idle状态的实例移出引擎。具体代码细节我在其他文章中已有说明,这里就不细说了,将进入idle状态的实例持久化是很重要的,因为一个Delay可能会延时几天或者几个月,如不将其持久化,风险太大,这个问题大家都明白。这里就不多说了。

    我想说另一个话题:将进入idle状态的实例有选择的移出引擎,再适时的装入引擎

    在设计一个工作流的初期调试中,不考虑"将进入idle状态的实例有选择的移出引擎,再适时的装入引擎",不会有任何问题,可当系统运行后大量的idle实例会严重耗费系统资源。所以设计时要考虑如下几点:
    1.是将所有的Delay都移出引擎;还是只将待定的Delay移出引擎.
    2.如果有选择性的移出,分界标准是什么。
    3.引擎默认会自动刷入移出的Delay,对于长延时的Delay如何解决
    4.如何保证长延时Delay可以准时的被刷入
    5.如何实现精确延时
    5.是否要使用双引擎,其中一个作为时间引擎独立处理Delay

    然后我们还要考虑延时计算的算法:
    1.有效日期的算法,比如"300个工作日内完成",那么扣除法定假日的300个工作日如何计算
    2.使用法定假日码表计算工作日时,如何解决临时节假日问题(比如出现1999年10.1那种国家庆典部分行政行为法定延期的情况)
    3.如果出现法定延时,是直接修改Delay的延时属性,还是使用超时补偿,还是动态插入一个法定延时的Delay
    4.使用什么样的时间轴,解决时区差,如中美之间的电子商务
    5.使用什么样的时间轴,解决农历提酲,如库存系统提示农历八月十五的月饼进货流程

    还有,连2008奥运会这样的大事都得在大街上立个倒记时的牌子,防止12亿中国人同时忘了,
    我们至少也得为用户提供一套时间预警方安吧。

    以上是对设计工作流该类结点的一些总结,在实际设计中,跟据不同的业务需求,还会有更多的演化。
    总之,设计工作流,先了解、理解、精通所面对的工作,才能让"工作" 在系统中"流"起来

    工作流所涉及的面很广,一个人不可能从代码、架构、需求上将所有工作流全部搞定,
    这个博客建了半个月了,文章也了40几篇,就是抛砖引玉了,希望能与大家多进行一些交流,共同学习共同进步

  • 相关阅读:
    纯数学教程 Page 325 例LXVIII (12)
    纯数学教程 Page 325 例LXVIII (11) Math.Trip.1927,1928
    纯数学教程 Page 325 例LXVIII (11) Math.Trip.1927,1928
    纯数学教程 Page 325 例LXVIII (9)
    纯数学教程 Page 325 例LXVIII (14) $\frac{1}{1^2}+\frac{1}{3^2}+\frac{1}{5^2}+\cdots=\frac{3}{4}(\frac{1}{1^2}+\frac{1}{2^2}+\frac{1}{3^2}+\cdots)$
    纯数学教程 Page 325 例LXVIII (14) $\frac{1}{1^2}+\frac{1}{3^2}+\frac{1}{5^2}+\cdots=\frac{3}{4}(\frac{1}{1^2}+\frac{1}{2^2}+\frac{1}{3^2}+\cdots)$
    纯数学教程 Page 325 例LXVIII (13)
    纯数学教程 Page 325 例LXVIII (12)
    纯数学教程 Page 325 例LXVIII (9)
    纯数学教程 Page 325 例LXVIII (13)
  • 原文地址:https://www.cnblogs.com/foundation/p/523823.html
Copyright © 2011-2022 走看看