选择下一节点的条件判断-创新互联

去年换了工作到现在这家公司,当时我进入的部门工作效率低下,为了短期内
提高效率,在仓促之间封装了一套姑且称之为工作流驱动吧,极大的提高了工
作效率,但毕竟在很短时间内完成,有些问题妥协了一些不太完善的解决办法
,今年优先的计划就是调整工作流,如果有必要将重新设计。
现在要说的是一个非常关键的问题的解决方案调整:当单据将要流转到下一个
节点时,如何根据单据中业务数据选取下一个节点。
如何选取下一个节点的前提是要有判断条件,可以在流程配置时设置条件,根
据条件的判断结果来决定流转到的相应节点,判断条件的依据则是来至于业务
单据的数据,而这里的问题就是如何将业务数据传给工作流。
一:直接将单据中的数据提交给工作流,这个办法被首先排除掉了,因为这会
造成工作流的驱动依赖于业务数据的提交,而我们的业务是多种多样,我来之
前的各种软件系统没有任何整体规划,当然现在也没有条件去重新规划那些系
统,如果想适应所有的系统,工作流和业务之间的耦合必须完全解开,业务和
工作流之间就不能有直接的联系。
二:我采取的方式:条件中包含参数保存的位置并且保存在数据库中,由存储
过程去根据条件到指定表中获取所需业务数据,这种方式能满足现下的需求,
但确定也很明显:1,不利于维护,给流程模板的配置增加了很大复杂度,因为
指定节点条件不止包含判断的逻辑还要包含参数在数据库中的保存位置;2,不
利于扩展,比如一旦业务系统规模增大,增加了缓存,存储过程将可能无法获
取的最新的业务数据,从而判断错误。
三,我目前准备采取的方法:在业务与工作流之间增加一个值对象来解耦,业
务只负责业务数据变更时更新值对象中对应的值,工作流所需的参数都从该值
对象获取,值对象的生命周期为流程启动到流程结束,值对象所含内容可以由
配置来决定结构,内部只包含流程模板中条件所需的判断参数,这样业务不用
关心工作流驱动需要什么,工作流不直接依赖于业务单据提供的信息,流程模
板也不必关心判断条件所需的参数从何而来,而值对象只包含判断所需信息,
虽然一直在内存中,但一个对象不会浪费多大内存。

创新互联建站欢迎咨询:13518219792,为您提供成都网站建设网页设计及定制高端网站建设服务,创新互联建站网页制作领域十余年,包括成都食品包装袋等多个领域拥有丰富的网站制作经验,选择创新互联建站,为企业保驾护航。

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


网站名称:选择下一节点的条件判断-创新互联
地址分享:http://azwzsj.com/article/egdcc.html