BPMN2.0 工作流 实例
1.BPMN 业务流程建模标注 详细介绍请看
?? http://www.uml.org.cn/RequirementProject/200904141.asp
?
2.BPMN是OMG推出的一种工作流建模的标准。还有JBoss自己搞的Jbpm,但jbpm不是标准。
?
3.BPMN的资料不多,设计器设计出来的BPMN很多不是标准的BPMN2.0.如果eclipse stp bpmn,oracle bpm..
?
4.Jbpm4.3推出来之后,开始支持BPMN2.0.所以这次我用jbpm4.3的跑我设计的BPMN工作流。
?
5.准备工作(我的平台)
?? Eclipse 3.5.2
?? JDK1.6
?? Tomcat 6
?? JBPM4.3(安装请看http://blog.csdn.net/inkfish/archive/2010/01/10/5169700.aspx)
?
?
6.请假系统工作流

7.实现上面工作流的BPMN代码---leave.bpmn.xml
?没有设计器,都是我自己看BPMN2.0的介绍和JBPM的内容,自己写出来的 leave.bpmn.xml
?
8.剩下的使用JBPM4.3的API让我的leave.bpmn.xml,跑起来
思想是:
???? 学生都放在user用户组。user组都可以申请请假
???? 老师放在teachers用户组。该用户组都可以审批学生请假(登录是用teacher)
???? 主任放在masters用户组。该用户组审批请假超过3天的学生请假。(登录是用master)
?
部分代码:
String username = session.getAttribute("username").toString();ProcessEngine processEngine = Configuration.getProcessEngine();//获得工作流引擎RepositoryService repositoryService = processEngine//获得启动的工作流.getRepositoryService();ExecutionService executionService = processEngine//获得 工作流实例.getExecutionService();TaskService taskService = processEngine.getTaskService();//获得 任务List<ProcessDefinition> pdList = repositoryService.createProcessDefinitionQuery().processDefinitionKey("leave").list();List<ProcessInstance> piList = executionService.createProcessInstanceQuery().list();List<Task> taskList = taskService.createTaskQuery().candidate(username).list();?具体看代码。我上传了
?
?
?
1 楼 snowfox2008 2010-08-15 哥们,你的图和XML都不一致,图中少了exclusiveGateway 节点 2 楼 java太保 2011-08-23 直接写xml是麻烦,用这个不错Joinwork Process Studio