经过一段时间的开发StarFlow Web Designer有了一个初步成果,可以进行流程定制,后期的工作是正对以后的流程定义内容,通过StarFlow Web Designer重新打开编辑,工作已经完成了一半,期待后期的完整功能。
为了演示StarFlow Web Designer的功能,我就演示一个借款流程。
1:定制借款流程,如下图:
2:点击上图中的流程【流程属性按钮】,设置流程属性。这里设置流程实现为1天(1440分钟)
3:在环节图上点击右键,选择【属性对话框】,弹出属性窗口,这里只需要修改环节名称既可。其它属性默认。特别说一下,这里为了简单演示,所有环节的参与者都同一个,即为流程启动者。
4:借款流程,一次借款超过5000,需要走总经理审批。所以需要在总经理线上设置条件。
5:由于设计器是单独的,没有和工程整合,所有需要把生成的流程定义内容拷贝一个文件中,单独使用。点击Tab页面【流程定义源码】,即可看到源码,下图显示不全
6:运行代码:
ProcessEngine processEngine = new Configuration().buildProcessEngine(); IProcessDefineService procDefService = processEngine.getProcessDefineService(); IProcessInstanceService procInstService = processEngine.getProcessInstanceService(); IWorkItemService workItemService = processEngine.getWorkItemService(); //清除测试数据 TestUtil.cleanData(processEngine.getApplicationContext()); //部署流程 procDefService.deployProcessFile("classpath:BorrowFlow.xml"); //添加filter processEngine.addFilter(new LoggerProcessFilter()); processEngine.addFilter(new TransCtrlFilter()); //启动借款流程 ProcessInstance processInstance = procInstService.createProcess("BorrowFlow", "melin"); //启动用户ID:melin //创建借款流程 (这里没有业务数据,虚拟保存了了业务数据) procInstService.startProcess(processInstance.getProcessInstId()); workItemService.finishWorkItem(1, "melin");//部门助理登 //获取借款金额保存到流程环节数据区中,部门经理审核流向下一个分支,需要判断 Map<String, Object> conditions = new HashMap<String, Object>(); //借款金额为6k conditions.put("money", Integer.valueOf(6000)); //money 与设置表达式的保持一样 ActivityRelaDataManager.setExpressConditions(conditions); workItemService.finishWorkItem(2, "melin");//部门经理审核 workItemService.finishWorkItem(3, "melin");//总经理审核 workItemService.finishWorkItem(4, "melin");//财务部门审核 workItemService.finishWorkItem(5, "melin");//部门助理放款 processEngine.close();
7:运行日志
信息: 流程【BorrowFlow】创建成功, 流程实例ID = 1 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter processStart 信息: 流程【BorrowFlow】启动成功, 流程实例ID = 1 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart 信息: 环节【开始活动】创建成功, 环节实例ID = 1 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete 信息: 环节【开始活动】执行完成, 环节实例ID = 1 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart 信息: 环节【部门助理登记】创建成功, 环节实例ID = 2 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete 信息: 环节【部门助理登记】执行完成, 环节实例ID = 2 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart 信息: 环节【部门经理审核】创建成功, 环节实例ID = 3 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete 信息: 环节【部门经理审核】执行完成, 环节实例ID = 3 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart 信息: 环节【总经理审核】创建成功, 环节实例ID = 4 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete 信息: 环节【总经理审核】执行完成, 环节实例ID = 4 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart 信息: 环节【财务部门审核】创建成功, 环节实例ID = 5 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete 信息: 环节【财务部门审核】执行完成, 环节实例ID = 5 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart 信息: 环节【部门助理放款】创建成功, 环节实例ID = 6 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete 信息: 环节【部门助理放款】执行完成, 环节实例ID = 6 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityStart 信息: 环节【结束活动】创建成功, 环节实例ID = 7 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter activityComplete 信息: 环节【结束活动】执行完成, 环节实例ID = 7 2010-3-6 23:15:03 com.starit.wf.service.filter.LoggerProcessFilter processComplete 信息: 流程【BorrowFlow】运行完成, 流程实例ID = 1
8:运行代码上传至SVN,请大家参考:
SVN:http://star-flow.googlecode.com/svn/trunk
新地址https://staritopensource.googlecode.com/svn/trunk/StarFlow
3 楼
qfvszy
2010-03-25
呵呵,跟我现在做的也很象。大概都借鉴了shark、xpdl吧
4 楼
xuanch0034
2010-12-11
SVN:http://star-flow.googlecode.com/svn/trunk
进不去呀,请赐教!
进不去呀,请赐教!
5 楼
chinasxlym
2010-12-20
上不去呀SVN:http://star-flow.googlecode.com/svn/trunk
给发邮箱吧,谢谢
给发邮箱吧,谢谢
6 楼
chinasxlym
2010-12-20
上不去呀SVN:http://star-flow.googlecode.com/svn/trunk
给发邮箱吧 chinasxlym@126.com,谢谢
给发邮箱吧 chinasxlym@126.com,谢谢
7 楼
melin
2010-12-20
chinasxlym 写道
上不去呀SVN:http://star-flow.googlecode.com/svn/trunk
给发邮箱吧 chinasxlym@126.com,谢谢
给发邮箱吧 chinasxlym@126.com,谢谢
新的地址:
https://staritopensource.googlecode.com/svn/trunk/StarFlow
8 楼
niuzai2006
2011-11-14
您好,请问下您这个实现是基于 JBPM4.1 基础上实现的吗?我这边用不了 SVN ,能否给我一份您的源码,我最近在研究学习工作流,觉得您写的这个比较好,我的邮箱 niuzai-2006@163.com ,非常感谢。
9 楼
zccmp
2011-12-21
大哥,我到svn检出时,总是提示用户名和密码呀?能否告诉用户和密码...
或者烦请您发一份实例源码给我,好吗?非常感谢@
我的邮箱为:zccmp@126.com
谢谢!
或者烦请您发一份实例源码给我,好吗?非常感谢@
我的邮箱为:zccmp@126.com
谢谢!
10 楼
melin
2011-12-21
zccmp 写道
大哥,我到svn检出时,总是提示用户名和密码呀?能否告诉用户和密码...
或者烦请您发一份实例源码给我,好吗?非常感谢@
我的邮箱为:zccmp@126.com
谢谢!
或者烦请您发一份实例源码给我,好吗?非常感谢@
我的邮箱为:zccmp@126.com
谢谢!
现在项目新的地址:http://code.google.com/p/starflow/
演示地址可以访问:http://helloflow.net
11 楼
leexiaodong2009
2012-02-02
进不去啊,用户名与密码是多少啊???
12 楼
sunriseyuen
2012-02-16
演示用户名和密码是什么呢
sunriseyuen@gmail.com
sunriseyuen@gmail.com
13 楼
sunshiri
2012-03-29
演示用户名和密码是什么呢
sunshiri@163.COM
sunshiri@163.COM
14 楼
melin
2012-03-29
sunshiri 写道
演示用户名和密码是什么呢
sunshiri@163.COM
sunshiri@163.COM
test/000000
15 楼
WenChao_Liu
2012-04-26
求一份源码,最近刚刚学习工作流。邮箱WenChao_Liu@163.com
16 楼
squall140
2012-05-28
https://staritopensource.googlecode.com/svn/trunk/StarFlow
这个地址的用户名和密码是多少啊?
test/000000 进不去!
谢谢!
17 楼
melin
2012-05-28
squall140 写道
https://staritopensource.googlecode.com/svn/trunk/StarFlow
这个地址的用户名和密码是多少啊?
test/000000 进不去!
谢谢!
新地址为:http://code.google.com/p/starflow/
18 楼
pn2008
2012-05-28
不提供流程设计器了吗?看svn里没有
19 楼
melin
2012-05-28
pn2008 写道
不提供流程设计器了吗?看svn里没有
流程设计器没有开源
20 楼
squall140
2012-05-29
melin 写道
squall140 写道
https://staritopensource.googlecode.com/svn/trunk/StarFlow
这个地址的用户名和密码是多少啊?
test/000000 进不去!
谢谢!
新地址为:http://code.google.com/p/starflow/
非常感谢!
如果能提供流程设计器的部分思路,更适合我们新手学习!
21 楼
pn2008
2012-05-29
不提供流程设计器,就不能定义流程及展示流程执行情况,那你这个开源工作流就基本没有实用价值吧
22 楼
haray
2012-06-21
StarFlow Web Designer 在哪里下载呀?