osworkflow源码解读----第一章osworkflow项目组织结构
来源:互联网 发布:淘宝店铺推广广告词 编辑:程序博客网 时间:2024/06/06 01:45
要读源码咱们得先从获取源码开始,了解项目的目录结构。从osworkflow官网http://www.opensymphony.com/osworkflow/ 最近的版本是2.8.0,日期为2006-08-06.
请点”full”下载包括源码的压缩包。解压到本地内容如下:
Docs:API文档、一些功能点的使用帮助文档
Lib:osworkflow各功能用到的第三方jar包
Src:这里存放着源码,是我们将重点研究的地方
Build.properties:项目描述
Build.xml:ant配制
designer.jar:流程定义编辑工具,可以通过jar命令运行,注意需要第三方包
osworkflow-2.8.0.jar:组件运行包
osworkflow-2.8.0-example.war:osworkflow案例web发布包
目录清晰、简单很有条理性。其实绝大部分开源项目的目录结构都一目了然。这是项目有效管理的基础。接下来介简SRC目录的内容:
Designer:工作流流程定义编辑器源码
Etc:第三方组件的配制文件及脚本
Java:osworkflow引擎工作的核心源码,是我们接下来研究的重点
Test:单元、功能测试源码
Webapp:使用osworkflow的小案例是osworkflow-2.8.0-example.war的源文件
到这里项目目录结构就简单的介绍完了。我有一个习惯,在看具体的源码前先去了解项目组组结构与包的结构,对项目大体上有一个了解。然后再去看自已感兴趣,或急于了解的源代码。一样、咱们来看下osworkflow引擎工作的核心包的结构,也就是java目录里源码包的结构。这里建议把源码导入到IDE中,利用IDE的功能学习源码会便利很多。Osworkflow核心包的介绍网上别的兄弟已有供献。这里我重复下:
com.opensymphony.workflow 对工作流进行管理的入口。这个包负责与使用者的大部分交互,它定义了最常用的接口、类和异常。其中与用户使用密切相关的接口:Workflow、WorkflowContext、Validator、Register、FunctionProvider和Condition。
com.opensymphony.workflow.config 加载配置,创建WorkflowFactory
com.opensymphony.workflow.loader 工作流定义的管理WorkflowDescriptor的创建
com.opensymphony.workflow.query 这个包定义OSWorkflow的查询描述,但并不执行查询操作。真正的查询操作实际是由WorkflowStore对查询描述进行转换,完成实际的查询操作
com.opensymphony.workflow.spi 对工作流状态的管理。这个包是比较底层的包,从名字spi可以推断出来。它定义了工作流的状态和状态持久化接口,以及一些基本实现。负责状态的接口是:Step,用来记录每个Step的状态;WorkflowEntry,用来记录Workflow实例的运行状态。Step的状态记录了流程实例的业务状态,即当前的实例处于整个业务流程的位置;而WorkflowEntry ,则仅仅是从流程实例控制的角度来看,记录了实例的运行状态。即是运行或挂起等,不具备业务含义。WorkflowStore是状态的持久化接口,负责状态(包括Step和WorkflowEntry)的持久化。
com.opensymphony.workflow.timer:工作流调度
com.opensymphony.workflow.util:osworkflow需要的工具类,里面还有几个按第三方组件分的工具包。看包名就知是对什么功能的支持。
com.opensymphony.workflow.AbstractWorkflow是osworkflow向外的face是一个非常重要的插像类,通过实现它可以满足各种方式对流程引擎的调用。Osworkflow核心代码中也提供了几种方式的实现它们分别放在:
com.opensymphony.workflow.basic:AbstractWorkflow的基本实现
com.opensymphony.workflow.ejb:AbstractWorkflow的EJB方式实现
com.opensymphony.workflow.ofbiz:AbstractWorkflow使用ofbiz的实现
com.opensymphony.workflow.soap:AbstractWorkflow的SOAP交互方式实现
好了!osworkflow核心代码中的包已介绍完了。对osworkflow应有了一个大概的了解了吧。这才刚开始。
- osworkflow源码解读----第一章osworkflow项目组织结构
- osworkflow源码解读----前言
- osworkflow 源码
- OSWorkFlow
- osworkflow
- OSWorkflow
- OSWorkflow
- osworkflow
- OSWorkflow表结构分析
- Osworkflow内置表结构
- Osworkflow内置表结构
- OSWorkflow表结构分析
- osworkflow 表结构分析
- Osworkflow内置表结构
- OSWorkflow源码分析
- 3-OSWorkflow源码分析
- osworkflow源码学习
- osworkflow的代码结构分析
- Android游戏开发之旅(十二)Sensor重力感应(1)
- string 转 char* (C#)
- HDU 1002
- 用C#读写ini配置文件(转自:http://www.cnblogs.com/zzyyll2/archive/2007/11/06/950584.html)
- Hibernate Dialect must be explicitly set
- osworkflow源码解读----第一章osworkflow项目组织结构
- 我所积累的20条编程经验
- proxool连接池配置
- 为什么AB测试
- about how to read the complicated xml file
- aaa
- XMPP 简单研究
- 眼神
- A/B测试:基本概念