传智播客-JBPMBasicsne.ppt
《传智播客-JBPMBasicsne.ppt》由会员分享,可在线阅读,更多相关《传智播客-JBPMBasicsne.ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 课程大纲 lJBPM基本用法工作流基本知识JBPM基本用法lJBPM高级用法各种类型节点的用法及应用场景lJBPM实现原理系统架构和数据结构l基于JBPM的工作流应用平台开发工作流应用平台介绍设计和实现策略高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 基于jBPM的应用开发基础知识孙文举高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 内容l工作流基本知识概念和术语lJBPM基本概况jBPM中与工作流领域对应的概念lJBPM基本用法基本API的用法以及应用策略l实例开发实例编写一个报销审
2、批流程的相关代码课堂交流和答疑高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 jBPM介绍ljBPM是什么是基于java实现的流程业务处理框架(Business Process Management)ljBPM能做什么支撑企业的流程性流程性业务应用:解释业务规则,使得协作协作自动化l特点没有采用WFMC的规范xPDL(尤其是业务定义部分)强大的业务逻辑描述能力(jPDL)核心组件是流程调度引擎轻量级,core engine无须运行于JEEContainer采用hibernate作为数据持久化的工具,兼容多种数据库简单易用,灵活、可扩展,同一需求有多种解决策略高级软件人才实作
3、培训专家高级软件人才实作培训专家!北京传智播客教育 BPM VS Workflowl区别Workflow更侧重于对流程的处理模型,属于技术领域范畴BPM除了对流程的处理,还要提供灵活的编程模型,易于企业应用的集成,更侧重于业务范畴l用workflow替代BPM我们在后面的课程中将以workflow名词为主高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 业务流程示例示例:参与者/活动/数据高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 工作流(系统)简介l什么是工作流?WFMC定义:定义:The automation of a business proce
4、ss,in whole or part,during which documents,information or tasks are passed from one participant to another for action,according to a set of procedural rules.要素:要素:任务(task),参与者(participant)l什么是工作流管理系统WFMC定义:定义:A system that defines,creates and manages the execution of workflows through the use of sof
5、tware,running on one or more workflow engines,which is able to interpret the process definition,interact with workflow participants and,where required,invoke the use of IT tools and applications.要素要素:工作流的管理、工作流的调度执行、工作流引擎高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 为什么用工作流l工作流带来的益处工作流带来的益处实现了无纸化的工作模式;过程可监控:便于对
6、执行过程的跟踪和监控数据可管理:便于对数据进行检索、分析可靠性:减少人-人交互的主观错误的机率l常见应用领域常见应用领域行政管理:行政、事业单位、大中型(国有)企业产品研发和制造:用于对整个研发、生产制造过程的管理和调度电子商务:订单处理其他 如大型内容管理系统的多步审核l常见场景常见场景公文流转、行政审批、订单处理、产品研发、制造过程其他需要多个角色协作、多步完成的活动高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 工作流系统核心模型 工作流引擎工作列表流程定义解释定义产生业务数据库持久化组件高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 模型说明 l
7、加载流程定义定义工具可以系统提供,也可以只是读取定义结果l启动流程启动选定的流程,创建流程实例l办理任务(流程的每一步)执行流程的每个步骤(不一定都需要人参与:自动任务节点)l记录流程的状态对状态的管理是工作流引擎的主要职责高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 工作流(系统)主要概念l流程定义:预先定义的业务流转逻辑l流程实例:业务的一次实际流转过程l参与者:任务的执行者l活动(任务):组成流程定义的节点l活动实例:组成流程实例的元素l流转:从一个节点到另一个节点这一行为l工作列表:当前需要办理的任务集合l工作流引擎:工作流的核心组件,对流程实例、任务实例以及其状
8、态进行管理高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 我们已经介绍了工作流的基本知识 我们看看jBPM中与之对应的一些概念和名词高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 Jbpm套件的组成 jPDL Designer:流程定义设计器,流程建模工具jPDL Library:流程执行引擎WebConsole:参与者和流程执行环境的交互界面,流程运行期间的监控工具高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 工作流系统研究切入点如何编写流程定义如何部署流程如何加载流程如何启动流程如何执行任务如何完成任务高级软件人才实作培训专家高
9、级软件人才实作培训专家!北京传智播客教育 概念:ProcessDefinitionl定义了流程的业务逻辑,包含业务节点和流转。是有向图结构。高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 概念:ProcessInstancelProcessDefinition 执行期间的体现包含了流程定义被解释之后的一些信息,诸如开始时间,结束时间其他相关联的信息高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 概念:Task TaskInstancelTask是ProcessDefinition的组成部分,定义了活动的具体内容lTaskInstanceTask被解释执行
10、时的信息,开始时间,结束时间,参与者idcreate start end 三种状态高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 概念:Actorl活动的参与者ljBPM目前只需要actor的Id,对actor的具体解释是由业务应用层负责l任务创建时可以指定任务的参与者,也可以不指定l在一般的系统中,不建议采用jBPM的identity组件高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 概念:Tokenl是一个指针(运行期的概念),代表着一条执行路径,指向当前流程中正在执行的节点l在实例的运行期间,tokens 可能是一树形结构l同一时刻,可能存在多个t
11、oken,但是只有一个root token高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 我们已经介绍了jBPM的工作流主要元素我们看看jBPM中与之对应的工作机制 高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 jBPM API:典型应用-流程定义部署JbpmContext jbpmContext=JbpmConfiguration.getInstance().createJbpmContext();GraphSession graphSession=jbpmContext.getGraphSession();ProcessDefinition pro
12、cessDefinition=ProcessDefinition .parseXmlResource(org/ministone/training/jbpm/processdefinition.xml);/部署流程定义,如果已经存在同名的定义,则版本号会自动累加graphSession.deployProcessDefinition(processDefinition);jbpmContext.close();高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 如何加载和开始流程JbpmContext jbpmContext=JbpmConfiguration.getInsta
13、nce.createJbpmContext();GraphSession graphSession=jbpmContext.getGraphSession();/加载流程定义ProcessDefinition processDefinition=graphSession.loadProcessDefinition(processDefinitionId);/创建流程实例:启动流程ProcessInstance processInstance=new ProcessInstance(processDefinition);/此时,rootToken指向流程定义的第一个节点jbpmContext.s
14、ave(processInstance);jbpmContext.close();高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 如何给任务设置参与者(最简单的方式)l某一个任务固定由某人处理:高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育 如何给任务设置参与者l用变量传递参与者的ID值一般在web层确定l定义配置:“lHandler 实现public class UserIdAssignmentHandler implements AssignmentHandler public void assign(Assignable assignable,Ex
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传智播客 JBPMBasicsne
限制150内