今天开始,我们将用8天的时间来学习JBPM和OA。首先,什么是工作流?工作流简单而言就是由多个人经过多个环节共同完成某件事情的工作流程的计算机化。JBPM则是是一种基于J2EE的轻量级工作流管理系统(开源)。JBPM是办公自动化(OA)的主要技术之一,下面我们就一起来学习JBPM的知识。
1. 使用JBPM流程:
1) 需要编写流程定义
2) 部署流程定义到系统中
3) 执行流程
2. 编写流程定义需要使用JBPM提供的JPDL来描述工作流程
3. 使用JBPM提供的JBPM CONSOLE WEB应用程序测试/使用流程:双击 server/start.bat启动jbpm提供的jboss服务器,要访问地址为:http://localhost:8080/jbpm-console/
4. 部署流程定义后,就可以使用这个流程定义了(执行流程)。在开始一个流程后,
要先进入到 tokens 页面中点击 Signal 链接,这样才能使流程离开开始状态,以后的步骤中都不需再做这个操作。当流程执行到有任务的节点时,就可以看到当前节点中定义的任务了。任务的办理分为两步:开始和结束
5. JBPM图形化流程设计器插件安装方法:在Eclipse安装目录下的links目录中新建一个文本文件,把扩展名改为.link,并且修改内容为path=${插件中的eclipse文件夹所在的路径}
6. 编程步骤,要实现的功能:1)部署流程定义 2)启动流程 3)获取任务列表 4)开始任务 5)结束任务
7. 解析流程定义有三种方式(ProcessDefinition的静态方法):
1)解析xml文件:parseXmlResource或parseXmlInputStream和parseXmlReader
2)是解析xml字符串:parseXmlString
3)解析par包:parseParResource与parseParZipInputStream
8. 流程实例可以通过ProcessDefinition.createProcessInstance()方法创建,或者
是使用new ProcessInstance(ProcessDefinition pd)并传递一个流程定义来创建,
总之创建的流程实例一定是要是属于(使用)某个流程定义的。启动流程后不要
忘了使用ProcessInstance.signal()方法离开开始状态
9. 开始任务的方法为:TaskInstance.start();结束任务为:TaskInstance.end(),
TaskInstance.end(String transitionName);无参的end()方法是使用第一个
transition离开节点;第二个方法是指定完成任务后使用指定的transition离开
节点。一个任务实例只能开始和结束一次(再次开始或结束会抛异常)