JBPM工作流简介

上传人:ni****g 文档编号:457986303 上传时间:2023-08-06 格式:DOCX 页数:37 大小:1,013.81KB
返回 下载 相关 举报
JBPM工作流简介_第1页
第1页 / 共37页
JBPM工作流简介_第2页
第2页 / 共37页
JBPM工作流简介_第3页
第3页 / 共37页
JBPM工作流简介_第4页
第4页 / 共37页
JBPM工作流简介_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《JBPM工作流简介》由会员分享,可在线阅读,更多相关《JBPM工作流简介(37页珍藏版)》请在金锄头文库上搜索。

1、jbpm简介JBoss jBPM为设计及开发工作流和业务流程管理系统提供了一个先进的平台。由API、特定领域的语言和图形建模工具组成的框架让开发人员和业务分析人员能够使用通用平台进行沟通及操作。 工作流管理和业务流程管理(BPM)正在迅速成为企业获得软件敏捷性和适应性的重要方法。JBoss jBPM是一个面向流程的工作流/BPM框架和工具集,它使业务分析人员能够与软件组件进行交互、有助于获得有效的业务解决方案。 许多企业在积极寻求一种结构化方法,以便设计业务动作/事务,并且优先使用自动化流程加以执行。业务流程管理(BPM)和工作流管理使用动作、任务和流程等概念,提供了解决这个问题的办法。 业务

2、流程管理一词通常是指企业通过一系列活动,以能够适应动态变化的环境的方式,自动管理及优化流程。这些活动通常寻求来自软件工程和工具的帮助。因而,BPM一词往往直接用来指软件工程技术和工具。 BPM体现为三个不同的实践 1流程设计:指设计现有及新的流程这一任务; 2流程执行:执行自动化序列的相关事件,这些事件涉及软件流程以及/或者人为活动; 3流程监控:观察及审查单个流程的状态,以便这些流程的统计数字和性能可以加以记录、报告及优化。 BPM力求让软件工程师们能够与业务分析人员共享同样的概念和框架,因而,软件开发商试图创建这样的工具,让企业可以通过使用图形建模工具、特定领域的语言和专有应用软件,获取、

3、设计及优化业务流程。 JBoss jBPM 3.0提供了这样的功能:使用业务流程执行语言(BPEL)、灵活而且可插入的应用编程接口(API)、本地流程定义语言以及图形建模工具,利用基于行业标准的编制机制开发新的自动化业务流程和工作流。 JBoss jBPM是采用开放源代码(LGPL许可证)的框架,包括了Java API、工具和定义语言,可以充当Web应用或者独立的Java应用。JBoss jBPM相当于业务分析人员和开发人员之间的中介,为他们提供了名为jPDL的通用流程定义语言。 JBoss jBPM架构综述 JBoss jBPM定义了使用JBoss流程定义语言编写的文件里面的流程定义。jPD

4、L是一种面向图形编程(GOP)的语言,它基于节点、转换和动作组成的模型。在这种模型里面,节点是在流程定义过程中彼此相遇时执行的命令。转换负责指导流程定义的执行过程,而动作在节点或者转换事件发生时执行特定逻辑。 在jBPM中,流程定义被封装成流程档案(process archives)。流程档案被传送到jPDL流程引擎加以执行。jPDL流程引擎负责遍历流程图、执行定义的动作、维持流程状态,并且记录所有流程事件。 JBoss jBPM在以下组件里面进行封装: 流程引擎: 该组件通过下列委托组件(delegate component)来执行定义的流程动作、维持流程状态,并记录所有流程事件:请求处理程

5、序、状态管理程序、日志管理程序、定义加载程序、执行服务。 流程监管器: 该模块跟踪、审查及报告流程在执行时的状态。 流程语言: 流程定义语言(jPDL)基于GOP。 交互服务: 这些服务把遗留应用提供成流程执行时所用的功能或者数据。 图1表明了这些组件之间的关系。 如图1所示,含有动作处理程序的jBPM流程定义由jBPM流程引擎加以加载及执行。 如果流程引擎在流程定义过程中遇到拥有相关动作的节点,所有相关的动作处理程序就会被调用。动作处理程序是Java代码的实例,在执行时能够与外部系统进行交互。 下面就是简单的动作处理程序的示例: import org.jbpm.graph.def.*; im

6、port org.jbpm.graph.exe.*; public class MyActionHandler implements ActionHandler public void execute(ExecutionContext executionContext) System.out.println(MyActionHandler has executed: + executionContext); 流程档案里面的PDL文件名为process-definition.xml。该文件含有诸流程的正式描述。以下示子表明了process-definition.xml文件的例子: 流程定义基于定

7、向图(directed graph)。有向图由节点、转换、一个起始状态以及一个终止状态组成。每个节点的类型定义了该节点的运行时行为。流程定义在执行时,以下实体就会起到作用: 流程实例: 流程实例是流程定义的一次执行。 标记: 标记是一条执行路径。标记是运行时概念,它含有指向定向图中节点的指针。一旦创建了流程实例,就会创建主要执行路径的标记。该标记名为流程实例的根标记,它位于流程定义的起始状态。 信号: 信号指示标记继续由转换实现的图像执行。 节点: 节点负责图像执行的继续进行。如果标记进入节点,节点就会执行。不会传播执行的节点被认为是状态节点。 动作:动作是流程执行过程中出现事件时执行的Jav

8、a代码的实例。主要的事件类型有:“进入节点”、“离开节点”和“进行转换”。 图2 jBPM图形建模设计器使用jBPM图形建模设计器,就很容易创建流程定义。设计器目前作为Eclipse插件而安装。图2表明了图形建模设计器的示例屏幕。 图形设计器可以用来创建流程定义、把动作处理程序与事件连接起来、编辑定义来源、创建流程档案、测试流程定义,等等。 部署JBoss jBPM JBoss jBPM把流程定义存储在数据库中。因而,把流程部署到JBoss jBPM里面需要解析process-definition.xml,并且把它存储在JBoss jBPM数据库中。可通过以下方法实现这项工作: 使用由JBos

9、s jBPM提供的par Ant任务来创建流程档案。 使用deploypar实用程序。该实用程序还可以创建流程档案,并且把流程档案部署到jBPM数据库上。Deploypar实用程序把jBPM.properties文件作为一个属性。该文件指定了配置选项,其中包括流程档案所要部署到的那个数据库。 通过编程解析process-definition.xml,并把它存储到数据存储区中。 让JBoss jBPM完成一些简单步骤 JBoss jBPM充当编制引擎,它位于企业应用的中间,能够实现不同应用之间的集成和协调。 本文使用随同jBPM交付的示例部署,讨论如何利用jBPM和jPDL来创建及修改具有Web

10、功能的简单的订单处理系统。 1.下载JBoss jBPM JBoss jBPM入门套件(http:/ jBPM所需的一切,只是没有Java开发者工具包(JDK)。JBoss jBPM入门套件里面的JBoss应用服务器需要J2SE 1.4或者更新版本。 下载入门套件后,把它解压缩到选择的目录下面。一旦解压缩了该入门套件,就有了类似如下的目录结构: Jbpm-starters-kit-3.1。 Jbpm:含有JBoss jBPM产品的源代码。 jbpm-bpel:含有JBoss jBPM的BPEL扩展件方面的信息。 jbpm-db:含有把JBoss jBPM连接到其他数据库的示例配置。 jbpm-

11、designer:含有用于JBoss jBPM可视化流程设计器的Eclipse插件。 jbpm-server:含有JBoss应用服务器和JBoss jBPM引擎以及示例流程。 2.执行JBoss jBPM引擎 为了启动部署了jBPM的JBoss应用服务器,进入jbpm-server目录,执行里面的启动脚本。命令窗口会随同jBPM控制台窗口一起出现,类似图3。 现在,打开浏览器窗口,输入http:/localhost:8080/jbpm。就会看到JBoss jBPM的示例Web应用的登录页面。 以cookie monster用户的身份登录,选择“创建新的Web销售订单”链接。这会创建预制的“Web销售”流程的新实例,如图4所示。 实际的定义文件:processdefinition.xml位于websale.par里面,如以下列表所示:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号