Shark工作流的实现和WMFC&OMG规范的对比
-----第二部分:为什么会用这么多的标准
关键字:Shark 工作流 WMFC OMG 规范
如果在google搜索一下 工作流 workflow , 你就会发现,现在workflow光是java的open Source项目就让你眼花缭乱了。
尽管有WFMC和OMF等标准组织的很多工作流规范文档,可是工作流具体的实现上还是千差万别。
笔者察看了OsWorkFlow , JBpm ,shark 等工作流的源代码后,发现区别太大了,其中jbpm都没有用XDPL描述语言。
为什么会出现这种状况呢?我认为有以下几点:
1、 工作流的实现缺乏关注焦点。大家的东西都是工作流,但是以为只要是工作流都可以向这个方面靠,没有一个专注的领域。(这带来一个问题:是不是不同业务的工作流程,可以用一个工作流引擎来实现。)
2、 理论和实践的差距。工作流早先是在学院中用数学模型来实现的,而软件公司针对不同的业务需求建立起来了自己的解决方案。所以我认为不能太强求具体的完全一样,只要能实现语义意义上的工作流就可以了。
减少之间的差别是尽量使用 工作流模式Workflow Patterns.
现在开发工作流的主流倾向是:选择一个开源的工作流引擎,采用XDPL描述语言。
待续。
田春峰
我在察看了 OsWorkflow , shark , ofbiz , obe , jbpm 后发现工作流困难的地方在于:
1、如何把工作流程和工作流程执行的具体任务联系起来。
就是说:
比如:一个工作流有A,B,C三个具体的活动activity。
那么,如何把这些activity 和具体的java方法函数帮定到一起,
比如:如何让A流程执行createLog()方法,B流程执行makeDesicision()方法,等等。
2、工作流如何在B/S下让用户自定义。
如果那位朋友有类似的经验,我们可以交流。