c#版工作流引擎之二次开发机制(15)

由于整个产品是基于元数据方案构建,在协同平台支持下构建的业务实现,使我们在开始构建工作流产品的时候,就针对可能的变化做好了预留。我们没有严格按照AOP开发构建出切片点/CI等标准概念,但根据业务模型需要,采用管道架构模式,对所有的执行动作都划分为DoBefore/DoWork/DoAfter标准过程。三个动作连续依赖,使实际开发人员能根据业务需求,在特定的位置集成特定业务。

在近4年的业务广过程中,发现标准化的切片点对于工作流组件来说是适用的。最近在研究spring框架,发现也采用了类似的方案。

在工作轮执行的标准动作中,都提供了扩展dll,存储过程执行方案。整体架构层级为5级:【工作流引擎/工作流标准定制/特定业务扩展定制/存储过程调用】。

项目开发人员可以根据工作流事务运行机制,在需要额位置定义特定场景:如初审会计必须完善相应的资料,可以在初审会计节点DoBefore事件中集成验证,使工作流引擎强制要求完善业务。如果在流程终审时需要生成合同编号或推送合同数据到主数据中,都可以在终审事件的doAfter事件中集成相关操作,以便满足特定的业务场景。

工作流定制功能为实现标准的接口,并在相应的事件中完善相应的业务检测与集成需求,把定制的组件放置在工作流运目录的EMPlugins目录中,工作流引擎架构自动检索插件并完成业务调用。

posted @ 2019-09-29 13:36  thubier  阅读(107)  评论(0编辑  收藏  举报