关于Foxbpm发动机内核重构相关建议

关于Foxbpm引擎内核重构相关建议

流程引擎内核是流程运行的最小单元,而整个引擎则要复杂很多,包括:状态存储、事件处理、组织适配、时间调度、消息服务等等外围的服务性功能。引擎内核,仅包含最基本的实例对象,以及用于解决流程运行问题的调度机制和执行机制。流程定义方面不应该包括图形化相关信息,但是现在的Foxbpm引擎内核是违反这一原则的,它不仅定义了流程信息,同时嵌入了流程对应的图形化信息,这违背了微内核设计的初衷,违背了OO的单一职责原则。

 

标准的bpmn文件内容包括两方面的定义,一部分是流程定义、一部分是图形化信息定义。对于引擎内核来说他们是相互独立的,所以现在提出相关重构建议:

 

1、foxbpm引擎内核只支持最基本流程定义。

2、将图形化信息单独定义,独立于引擎内核。

这样既可以实现微内核设计的初衷,也避免了模型转化的复杂性。

 

====================================================================

声明:本文首发iteye blog,转载请注明作者信息及原文地址,谢谢


作者信息:
马恩亮(elma@wisedu.com)

=====================================================================