您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 第1章 工作流简介(理论)
SCCE2010课程体系介绍第1章工作流简介课程地位G1:282CBTHTMLLogicJavaC#/WinFormsCLangugeJavaScriptSQLAdvanceJavaOOPG2:368XHTML.Net/OOPServlet/JSPWeb2.0NTCG3:432ASP.Net/MVCORACLEPS/FlashC#AdvanceEnterpriselibWCF/Silverlight.NETPRTLAMPEnterpriseDevelopjBPMStruts/MVCWeb2.0NTCHibernate/EJBSpringJ2EEPRTJ2EEPMPPRT:B/SB2C.NETPMPSQLBaseADO.NETPRT1:ADO.Net+WinForms+SQLC/S课程目标学习内容什么工作流、什么是jBPMjBPM基本原理jBPM节点jBPM应用jBPM整合SSH学习目标了解什么是工作流,什么是jBPM理解jBPM基本原理及应用能够使用jBPM节点实现工作流能够使用jBPM整合SSH应用实战项目综合项目:使用jBPM整合SSH开发协同工作平台本章内容工作流简介jBPM简介jBPM流程设计器jBPM应用本章目标了解工作流概念了解jBPM概念掌握jBPM开发环境掌握jBPM流程设计器掌握jBPM应用1.工作流简介1.1工作流概述随着信息化的不断发展与推进,审批及处理等事务过程也逐步信息化,工作流管理系统应运而生工作流管理系统通常能提供流程监控、查询统计模块,在更大程度上为用户优化流程提供了支持,从而为政府及企事业单位提高工作效率1.2工作流构成工作流管理系统,简称WFMS,一个完整的工作流管理系统通常由八个部分组成,分别是下面八个部分:工作流引擎可视工作流程设计流程操作工作流客户端程序流程监控表单设计工具与表单的集成与应用程序的集成1.3使用工作流的好处工作流的使用能给软件开发和业务上带来十分明显的好处方便开发业务流程管理(BPM)2.jBPM简介2.1jBPM概述jBPM,全称是JavaBusinessProcessManagement,是一种基于J2EE的轻量级工作流管理系统jBPM最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如WfMC、XPDL、BPML、ebXML、BPEL4WS等,而是采用了它自己定义的JBossJBPMProcessdefinitionlanguage(jpdl)JBPM的另一个特色是它使用Hibernate来管理它的数据库2.1jBPM概述工作流管理和业务流程管理(BPM)正在迅速成为企业获得软件敏捷性和适应性的重要方法。JBossjBPM是一个面向流程的工作流/BPM框架和工具集JBossjBPM为设计及开发工作流和业务流程管理系统提供了一个先进的平台2.2jBPM构架JBossjBPM定义了使用JBoss流程定义语言编写的文件里面的流程定义。jPDL是一种面向图形编程(GOP)的语言,它基于节点、转换和动作组成的模型JBossjBPM在以下组件里面进行封装:流程引擎流程监管器流程语言交互服务jBPM构架jBPM的组件关系3.jBPM准备工作3.1jBPM目录结构3.1jBPM目录结构jBPM目录结构说明目录名称内容说明configjBPM运行需要的基本配置dbjBPM在不同数据库下创建表需要的SQL源文件deploy含有几个已经创建完成的工程,可以直接发布至JBoss4及以上版本的应用服务器designer含有用于JBossjBPM可视化流程设计器的Eclipse插件docjBPM相关组件的API文档examples学习的示例libjBPM的类库server含有JBoss应用服务器、JBossjBPM引擎以及示例流程srcJBossjBPM的源代码3.2jBPM示例jBPM解压后的目录server中含有JBoss应用服务器、JBossjBPM引擎以及示例流程,点击该目录下的start.bat文件可以启动JBoss服务jBPM示例jBPM示例jBPM示例中有3个流程示例businesstriprequest(出差申请流程)raiserequest(加薪申请流程)websale(在线订单处理流程)3.3jBPM流程设计器安装JBossjBPM可视化流程设计器的安装方法将插件下相关的JAR包复制到已安装的MyEclipse的plugins插件目录下使用link方式,推荐此方式jBPM流程设计器安装使用link方式安装可视化流程设计器在MyEclipse中eclipse的目录下存在一个links目录,在该目录下创建jBPM.link在文件中输入“path=插件目录地址”注意:使用link方式安装MyEclipse插件时,一定要将path所指的插件放在一个名为eclipse的目录下jBPM流程设计器安装可视化流程设计器安装成功3.4jBPM流程图创建一个jBPM工程,自带一个simple的流程模板jBPM流程设计器流程设计器可以用于创建流程定义、连接动作处理程序与事件、编辑定义来源、创建流程档案以及测试流程定义jBPM流程设计器流程设计器下方有4个标签,分别为:Diagram、Deployment、Design、Source3.5jBPM应用jBPM流程文件processdefinition.xml?xmlversion=1.0encoding=UTF-8?process-definitionxmlns=urn:jbpm.org:jpdl-3.2“name=simplestart-statename=starttransitionname=to_stateto=firstactionname=actionclass=com.sample.action.MessageActionHandlermessageGoingtothefirststate!/message/action/transition/start-statestatename=firsttransitionname=to_endto=endactionname=actionclass=com.sample.action.MessageActionHandlermessageAbouttofinish!/message/action/transition/stateend-statename=end/end-state/process-definitionStart节点State节点jBPM应用流程定义是基于定向图(Directedgraph)的,每个节点的类型定义了该节点的运行时行为。以下简述基本概念:流程实例:流程实例是流程定义的一次执行标记:标记是一条执行路径,它是运行时概念,含有指向定向图中节点的指针信号:信号指示标记继续由转换实现的图像执行节点:节点负责图像执行的继续进行动作:动作是流程执行过程中出现事件时执行的代码jBPM应用流程中MessageActionHandler代码packagecom.sample.action;importorg.jbpm.graph.def.ActionHandler;importorg.jbpm.graph.exe.ExecutionContext;publicclassMessageActionHandlerimplementsActionHandler{privatestaticfinallongserialVersionUID=1L;Stringmessage;publicvoidexecute(ExecutionContextcontext)throwsException{context.getContextInstance().setVariable(message,message);}}该Action对message流程变量进行操作jBPM应用测试流程代码publicvoidtestSimpleProcess()throwsException{//定义流程定义文件ProcessDefinitionpd=ProcessDefinition.parseXmlResource(simple/processdefinition.xml);System.out.println(流程定义:+pd);ProcessInstanceis=newProcessInstance(pd);//创建流程实例System.out.println(流程实例:+instance);System.out.println(1,当前流程所在节点的名称:+is.getRootToken().getNode().getName());System.out.println(1,变量message:+is.getContextInstance().getVariable(message));instance.signal();//流程向下流转System.out.println(2,当前流程所在节点的名称:+is.getRootToken().getNode().getName());System.out.println(2,变量message:+is.getContextInstance().getVariable(message));is.signal();//流程继续向下流转System.out.println(3,当前流程所在节点的名称:+is.getRootToken().getNode().getName());System.out.println(3,变量message:+is.getContextInstance().getVariable(message));System.out.println(流程是否结束:+is.hasEnded());}jBPM应用测试结果jBPM应用对jBPM控制台信息日志级别进行调整:debug-info#SetrootloggerleveltoDEBUGanditsonlyappendertoCONSOLE.log4j.rootLogger=DEBUG,CONSOLE#CONSOLElog4j.appender.CONSOLE=org.apache.log4j.ConsoleAppenderlog4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayoutjBPM日志级别log4j.appender.CONSOLE.layout.ConversionPattern=%d{HH:mm:ss,SSS}[%t]%-5p%C{1}:%m%n#LIMITCATEGORIESlog4j.logger.org.jbpm=INFO#Hibernatedebugginglevelsandtheiroutputlog4j.logger.org.hibernate=INFO#hideoptimisticlockingfailureslog4j.logger.org.hibernate.event.def.AbstractFlushingEventListener=FATALlog4j.logger.org.hibernate.type=TRACEjBPM应用重新测试结果总结什么是工作流管理系统什么是jBPM如何使用jBPM流程设计器掌握jBPM的应用
本文标题:第1章 工作流简介(理论)
链接地址:https://www.777doc.com/doc-3210061 .html