近日接到一个任务,为公司封装工作流平台,工作流引擎的选型过程就不多说了,既然选择了JBPM6,就得一直在这个基础上深耕下去,做出适合自己业务的工作流平台。
不管做什么模块,套用三板斧,第一步就是提炼出接口,且不论对jbpm6有多少了解,先把适合业务的接口设计出来,再封装引擎实现我们的接口。
再复杂的工作流平台,最终提供给业务开发的接口也只要两个:
1,流程操作接口,用于流程的启、停、退、止、召回等操作
2,流程相关数据操作接口,用于对工作流数据的操作
设计图如下:
java代码如下:
public interface IProcedureOperation {
/*** 发起流程 ***/
public void start(Procedure procedure) ;
/*** 发送流程 ***/
public void send(String id) ;
/*** 终止流程 ***/
public void stop(String id) ;
/*** 退回流程 ***/
public void back(String id) ;
/*** 调度流程 ***/
public void dispach(String id) ;
/*** 召回流程 ***/
public void recall(String id) ;
/*** 挂起流程 ***/
public void suspend(String id) ;
/*** 恢复流程 ***/
public void resume(String id) ;
/*** 锁定流程 ***/
public void lock(String id) ;
/*** 解锁流程 ***/
public void unlock(String id) ;
}
好了,第一步完成了,接口定了,研究jbpm去,边做边改。