看了下JBPM的书,感觉不用JBPM的话,用程序也能实现那些关于流程的业务,用了JBPM到底有什么好处呢?
将任务的管理与业务的管理分离开来
一个很典型的应用:审批流程:提交申请后,a和b同时审批,他们审批完了之后,后续还有一堆人审批
如果在应用中自己做的话,传统方式是在任务中弄个标志,在每个人完成任务的时候修改标志,如果任务的流程改变,譬如提交申请之后,只要a审批,b不用审批了,这样就需要修改代码达到目的
工作流就可以避免这种情况,工作流管理任务,每个人只需使用接口取自己的任务,流程改变是由工作流设计器来做的,做完后又发布到流程引擎,应用不用修改或者很少修改代码就可以达到目标
在流程经常变化的情况下,这种优势更为明显