随笔 - 0  文章 - 12  trackbacks - 0
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

留言簿

文章分类

文章档案

搜索

  •  

最新评论

osworkflow代码分析1:主要接口

这几天抽了点时间看了一下osworkflow 的源代码,简单对几个主要的接口作用进行分析。

1.com.opensymphony.workflow.Workflow 工作流的用户接口。

       主要定义了用户对工作流的操作方法和用户获得工作流信息的方法。如doAction(long id, int actionId, Map inputs)方法可以执行工作流的Action并产生transaction;用户调用getAvailableActions(long id, Map inputs)可以获得知道工作流实例中符合条件的可以执行的Action。

2.com.opensymphony.workflow.WorkflowContext 工作流的Context接口。

      只有两个方法,其中getCaller()获得调用者,setRollbackOnly()可以回滚Action造成的transaction。

      setRollbackOnly()方法非常重要,可以在此方法中实现工作流数据与业务数据的事务处理。由于工作流引擎将流程数据与业务数据分离开管理,所以工作流数据与业务数据之间的事务处理往往比较困难,甚至有很多商业的工作流引擎都没有解决这个问题,造成软件上的漏洞。可惜在BasicWorkflowContext中并没有实现回滚时的事务处理,但实现起来应该不会很困难,在以后会单独考虑。

3.com.opensymphony.workflow.spi.WorkflowEntry 工作流实例的接口。

     定义了获得工作流实例信息的方法。

4.com.opensymphony.workflow.config.Configuration 工作流配置接口。

      获得osworkflw的配置信息和流程的定义信息, osworkflow中的例子就是使用此接口的默认实现。如果想让osworkflw与自己的系统更好的整合,这个接口需要自己实现。

5.com.opensymphony.workflow.loader.AbstractWorkflowFactory 流程定义的解析器。

      osworkflow中提供了此抽象类的3种实现,最常用的是XMLWorkflowFactory,可以对编写的工作流定义xml文件进行解析。

6.com.opensymphony.workflow.spi.WorkflowStore 工作流存储接口。

      实现此接口可以实现用多种途径保存工作流信息,jdbc,hibernate,ejb,memory.........

posted on 2007-08-03 09:52 Eric huang 阅读(300) 评论(0)  编辑  收藏 所属分类: Osworkflow

只有注册用户登录后才能发表评论。


网站导航: