osworkflow源码学习

OSWorkflow源码学习

 

Osworkflow的源码还是很简单的,复杂的是xml的自定义工作流,整理一下自己看源码的总结。

Osworkflow的分层从它的包结构就可以看出来,主要分为workflow(主程序)、config(完成xml的解析)、loader(xml和descriptor的对应关系)、spi(dao层,操作底层数据)和query。

框架分析

如图,WorkflowFactory为Workflow的工厂类,但其实主要是针对工作流配置文件的解析和对workflow的操作。

 

AbstractDescriptor主要是将最后定义的工作流文件转换为对应的实体文件,各个*Descriptor代码xml中的一个元素,如<action>、<Condition>。这里虽说共同继承自AbstractDescriptor,但代码处理上还是针对各个具体的类进行操作的,面向接口的操作好像没怎么去实现。

 

  

Workflow为面向用户的接口,通过该接口可以创建工作流,WorkflowCOntext主要完成工作流的上下文,如用户名等,Configuration完成xml的解析工作。JDBCWorkflowStore完成对底层数据的操作,如生成工作流等什么的。


生成工作流的执行顺序

主要的流程是

 

WorkflowConfig里面是每一个xml文件的实例,工作流的配置对应的xml格式为,映射的文件WorkflowDescriptor. 

<workflow>
	<meta>
	<registers>
		<register/>
</registers>
<global-conditions>
<conditions>
</global-conditions>
<initial-actions>
	<action>
</initial-actions>
<global-actions>
	<action/>
</global-actions>
<common-actions>
	<action/>
</common-actions>
<trigger-functions>
<trigger-function/>
</trigger-functions>

<steps>
	<step name,id>
		<meta name=/>
		<pre-functions/>function
		<external-permissions/>permission
		<actions>
			<action/>
<common-action/>
		</actions>
		<post-functions/>
</step>
</steps>
<splits>
	<split>
</splits>
<joins>
	<join>
</joins>
<workflow>



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值