jBPM5用户指南中文版.doc

上传人:小飞机 文档编号:4219797 上传时间:2023-04-10 格式:DOC 页数:70 大小:1.20MB
返回 下载 相关 举报
jBPM5用户指南中文版.doc_第1页
第1页 / 共70页
jBPM5用户指南中文版.doc_第2页
第2页 / 共70页
jBPM5用户指南中文版.doc_第3页
第3页 / 共70页
jBPM5用户指南中文版.doc_第4页
第4页 / 共70页
jBPM5用户指南中文版.doc_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《jBPM5用户指南中文版.doc》由会员分享,可在线阅读,更多相关《jBPM5用户指南中文版.doc(70页珍藏版)》请在三一办公上搜索。

1、jBPM User GuidejBPM 用户指南目录目录第一章概述 (61.1 什么是jBPM? (61.2 概览 (71.3 核心引擎 (91.4 Eclipse编辑器 (91.5 基于Web的设计器 (101.6 jBPM控制台 (111.7 文档结构 (12第二章获得开始 (132.1 下载 (132.2 获得开始 (132.3 社区 (142.4 资源 (142.41许可证 (142.42 源代码 (142.4.3 从源文件构建 (15第三章安装 (153.2 下载installer (153.3 演示安装 (153.4 10分钟指南:使用Eclipse工具 (163.5 10分钟向导

2、:使用jBPM控制台 (183.6 10分钟指南:使用Guvnor知识库和设计器 (193.7 如果遇到问题或有问题应该怎么去做 (203.7 经常被问的问题 (20第四章:核心引擎的API (214.1 jBPM API (234.11 Knowledge Base (234.12 会话 (234.13 事件 (254.2. Knowledge-based API (27第五章核心引擎:基础 (275.1 创建一个流程 (275.1.1 Eclipse BPMN2.0图形编辑器插件 (285.1.2 使用XML定义流程 (285.1.3使用流程API定义流程 (305.2 不同流程构造的细节

3、概述 (315.3 流程属性的细节 (325.4 事件细节 (325.4.1 开始事件 (325.4.2 结束事件 (335.4.3 中间事件 (345.5.1 脚本任务 (355.5.3 服务任务 (365.5.3 用户任务 (375.5.4 重用的子流程 (385.5.5 业务规则任务 (385.5.6 嵌入子流程 (395.5.7 多个实例子流程 (395.6 Gateways 细节 (405.6.2 合并网关 (415.7 在你的应用中使用流程 (415.8 其他特性 (425.8.1 数据 (425.8.2 约束 (435.8.3 动作脚本 (445.8.4 事件 (455.8.5

4、计时器 (465.8.6 更新流程 (47第六章BPMN 2.0 核心引擎 (496.1 Business Process Model and Notation(BPMN2.0 Specification业务流程建模和符号2.0规范 (496.2 例子 (536.3 支持的元素/属性 (54第七章核心引擎:持久化和事务 (607.1 运行时状态 (607.1.1 二进制持久化 (607.1.2 Safe Pionts (607.1.3 配置持久化 (617.1.4 事务 (647.2 流程定义 (647.3 历史日志 (647.3.1 将流程事件存储到数据库 (65第八章核心引擎:示例 (66

5、8.1 jBPM示例 (668.2 示例 (678.3 单元测试 (67第九章Eclipse BPMN 2.0 Plugin (689.1 安装 (689.2 创建你的BPMN 2.0 流程 (689.3 元素和属性的顾虑 (71第十章设计器 (7210.1 安装 (73第十一章控制台 (7411.1 安装 (7411.2 运行流程管理控制台 (7411.2.1 管理流程实例 (7511.2.2 人工任务列表 (7711.2.3 报告 (7811.3 添加新的流程/任务表 (7911.4 REST interface (80第十二章Human Tasks (8112.1 流程内的Human t

6、asks (8112.1.1 Swimlanes (8412.2 Human task 管理组件 (8412.2.1 任务生命周期 (8412.2.2 将任务组件链接到jBPM引擎 (8512.2.3 启动任务管理组件 (8712.2.4 和任务管理组件的交互 (8912.3 人工任务管理接口 (9012.3.1 Eclipse integration (9012.3.2 基于Web的任务视图 (90第十三章特定领域的流程 (9013.1 介绍 (9013.2 示例:通告 (9113.2.1 创建工作定义 (9213.2.2 注册你的工作定义 (9213.2.3 在你的流程中使用你最新的工作条

7、目 (9313.2.4 执行服务节点 (95第十四章测试和调试 (9714.1 单元测试 (9714.1.1 使用Helper方法创建你的session (9814.1.2 断言 (9814.1.3测试与外部服务的结合 (9914.1.4 配置持久化 (10014.2 调试 (10014.2.1 流程实例视图 (10114.2.2 人工任务视图 (10214.2.3 核查视图 (102第十五章流程知识库 (103第十六章业务活动监视器 (10516.1 报告 (10516.2 直接接入 (107第十七章复杂流程 (108第十八章和Maven,OSGi,Spring的整合 (11118.1 Ma

8、ven (11118.2 OGSi (113第一章概述1.1什么是jBPM?jBPM是一个灵活的业务流程管理组件。它是轻量级,完全开放并且是使用java语言编写。它允许你建模、执行和监控业务流程,遍及整个的生命周期。业务流程允许你去建模一个通过描述要达到的目标并按一定次序执行的每一步来作为一个流程表。这样能够明显的提高你的业务流程的可视化和灵活性。jBPM关注于可执行的业务流程,这些业务流程包含足够的细节而使他们能够真正的在BPM引擎上执行。可执行的业务流程解决了业务用户和开发人员的隔阂,这些可执行的业务流程是更高级的并且应用了能够被业务用户所理解并且能够直接执行的特有的域概念。 jBPM的核

9、心是一个纯java语言编写的轻量级、可扩展的工作流引擎,它允许你去执行使用了最新的BPMN 2.0规范的业务流程。它能够在任何的java环境中运行或者嵌入到你的应用中或者作为一个服务。在核心引擎的顶端,有很多的特性和工具被提供用来支持遍及整个业务流程的生命周期。基于Eclipse和Web的编辑器支持支持你的业务流程的图形化创建。持久化插件和基于JPA/JTA的事务处理。基于WS人工任务的人工任务服务插件针对于包含了各种需要被人工角色执行的任务。控制台管理支持流程实例的管理,任务列表和任务表的管理,和报告。可选择的流程知识库能够配置你的流程历史日志(用于查询可以和Seam, Spring, OS

10、Gi 进行整合BPM架起了业务分析,开发人员和最终用户之间的桥梁,并且提供了业务用户和开发人员都喜欢的流程管理特性和工具的方式。特有的域节点能够被插入到模板中,使得流程能够使业务用户更加容易理解。JBPM提供了可适应性和动态性流程,流程需要灵活的去建模复杂的、真正生命的那些不能够容易的使用死板的流程所描述的情形。我们提供了最终用户的控制权限通过允许他们去控制应该被执行的流程的每一个方面和动态的变更流程等等。当然jBPM也不仅仅是一种独立的业务引擎,复杂的业务逻辑能够作为一种拥有业务规则的业务流程和复杂事件流程的结合而被建模。jBPM能够和Drools项目相结合来支持统一的环境,结合这些范例你可

11、以建模你的业务逻辑作为流程、规则和事件的结合。除了核心引擎自身之外,还有一些可添加和可选的组件你能够使用,例如基于Eclipse和Web的设计器和控制台管理。1.2概览 图片1.1这张图片提供了jBPM项目不同组件的概览。jBPM能够整合很多其他的服务,但是这我们过关注的组件式jBPM项目自身的一部分。流程引擎是项目的核心并且是必须的,如果你想去执行业务流程,你的应用服务在任何必须的时候都可以调用核心引擎。有一个可选择的核心服务时历史日志,它将会记录你所有的流程实例的当前和先前状态的有关信息。另外一个可选的核心服务时人工任务服务,如果人工角色参与了流程,它将会管理人工任务的生命周期。提供了两种

12、类型的图形编辑器来定义你的业务流程。Eclipse插件是Eclipse集成开发环境的一种扩展,目标针对于开发人员,同时允许你通过拖拽的方式创建你的业务流程,提供高级的测试。基于Web的设计器允许业务用户在基于Web的环境下管理业务流程。Guvnor知识库是一个可选的组件,它能够被用来存储你所有的业务流程。它支持协作和编译等等。Eclipse插件和基于Web的设计器的结合,支持迂回流动的工具。jBPM控制台是基于Web的控制台,它允许业务用户去管理他们的业务流程、任务列表和查看报告。每个组件的更多细节将会在下面被描述。1.3核心引擎jBPM核心引擎是项目的核心。它是一种轻量级的工作流引擎用来执行

13、你的业务流程。它可以作为你的应用的一部分被嵌入,或者配置作为一项服务。这里还有很多的特性:可靠地、稳定地核心引擎用来执行你的流程实例对BPMN 2.0 规范的本地支持,执行业务流程强壮的执行和监控能力轻量级的(能够被配置在几乎任何的支持简单的java运行环境的设备上,而不需要任何的Web容器(可选择的带有一个默认的JPA执行的持久化插件带有一个默认的JTA执行的事务支持插件作为一个普通的流程引擎工具,它能够被扩展来支持新的节点类型或者其他的流程语言监听器可以通报各种事件具有移植运行中的流程实例到他们流程定义的一个新版本中的能力当然,核心引擎能够和其他的核心服务相整合:当人工角色需要参与流程的时

14、候,人工任务服务能够被用来管理人工任务。它是一个完整的插件并且是基于WS人工任务规范的默认工具,管理任务的生命周期、任务列表、任务表和一些更高级的特性,例如自动调整、委托、基于规则的分配等等。历史日志可以存储所有在引擎上的流程的执行的有关信息。如果你需要访问历史信息作为运行时的持久化仅仅存储所有活动流程实例的当前状态这就是必需的了。历史日志能够存储活动的和完整的流程实例的所有的当前和历史状态。它能够被用来查询任何和流程实例执行相关的信息,用来做监测分析等等。1.4Eclipse编辑器Eclipse编辑器是针对于Eclipse集成开发环境的插件,它允许你整合你的业务流程到你的开发环境中。它的目标

15、是针对于开发者,并且有一些向导去开始,有一个图形编辑器用来创建你的业务流程和许多的高级测试和调试能力。 图片 1.2 Eclipse编辑器创建BPMN2流程它包含的特性有:创建一个新的jBPM项目的向导针对BPMN 2.0 流程的图形编辑器插入你拥有的特有域节点验证运行时支持(你能够选择你喜欢用的jBPM版本图形化调试,可以查看一个被选择的会话的所有运行时流程实例,可以显示一个特有的流程实例的当前状态等等。审核视图得到一个在运行时所发生的概述和知识库集成1.5基于Web的设计器基于Web的设计器允许你在基于Web的环境中建模你的业务流程。它所针对的目标更多的是业务用户和提供一个图形编辑器来显示

16、和编辑你的业务流程(使用拖拽,类似于Eclipse插件。它支持Eclipse编辑器和基于Web设计器的迂回流动。 图 1.3 基于Web的设计器创建BPMN2流程你能够随意的使用一个或者多个知识库来存储你的业务流程。基于Web的设计器被结合到Guvnor知识库中,它所针对的目标是业务用户和允许你从你的应用中分离处理管理你的流程。它支持:一个知识库服务用来存储你的业务流程和相关的人工品,使用一个JCR知识库,它可以作为一个文件系统或者使用REST服务来支持译本、远程接入。基于Web的用户接口用来管理你的业务流程,目标针对于业务用户,支持你流程的可视化,当然还有分类,方案测试。部署配置等等。协作特

17、性对于有很多角色的共同工作可以在同一个流程中定义。知识库代理可以在知识库中很容易的创建一个基于流程定义的新会话。如果一个新的流程已经被配置,它支持动态的升级。1.6jBPM控制台业务流程能够通过一个Web控制台管理。它是主要针对于业务用户,它的主要特性有:流程实例管理:启动一个新的流程实例的能力,得到运行时流程实例的列表,可视化查看一个明确的流程实例等等。人工任务管理:能够得到所有当前的任务列表,完善任务列表上的任务。报告:得到你的应用状态的概览,系统动态产生报告,给你一个关键执行指示的概述 图 1.4 管理你的流程实例1.7文档结构文档的结构如下:概述:概述章节给你一个不同组件的概述获得开始

18、:获得开始章节教你从哪下载源文件和包含很多有用的链接安装:安装章节帮助你得到一个能够运行的演示程序,包括很多的jBPM组件并且通过他们来应用一个简单的例子,还有包括录屏的10分钟指南。核心引擎:下面的四章描述了针对于开发人员的Eclipse插件,有一个旧版本的和一个新的BPMN 2.0 工具正在开发当中。设计器:描述了基于Web设计器允许业务用户去编辑在一个基于Web的上下文中的业务流程。控制台:jBPM控制台能够被用来管理流程实例,人工任务列表和报告重要的特性1.人工任务:当使用人工角色的时候,你需要一个人工任务服务区管理任务,任务列表的生命周期等等。2.特有的域流程:可以在你的流程中插入你

19、自己的高级的、特有域的节点3.测试和调试:如何去测试和调试你的流程4.流程知识库:一个流程知识库能够用来管理你的业务流程复杂的概念1.业务活动监视:事件处理用来监视你的系统状态2.灵活的处理:建模很多适用性、灵活性的流程用来升级流程构造并使业务规则和事件处理相结合3.整合:怎样和其他的技术,例如maven,OSGi等等整合第二章获得开始2.1 下载所有的版本都可以从SourceForgebin:所有的jBPM的二进制JAR包和他们所依赖的src:核心组件的源文件gwt-console: jBPM控制台,一个ZIP文件包含了服务器端和客户端的WAR包docs:文档examples:一些jBPM例

20、子,能够被引入到Eclipse中installer:包含jbpm-installer,下载和安装一个jBPM的演示程序installer-full:包含bpm-installer,下载和安装一个jBPM的演示程序,已经包含了一系列所依赖的包2.2 获得开始如果你喜欢采用快速指南,它将通过使用一个简单的例子中众多组件来指导你,看一下安装章节吧!这将教你如何去下载并使用installer去创建一个演示程序,包含许多的组件。通过一个简单的例子来指导你涉及很多重要的特性。可利用的录屏将很好的帮助你解决问题。如果你喜欢阅读更多的第一手信息,下面的章节将首要关注核心引擎(API,BPMN 2.0等等。在下

21、一章将会描述其他的组件和其他更复杂的主题像特有域流程,灵活流程等等。当阅读和核心章节之后,你应该能够跳到其他你可能感兴趣的章节。当然你也可以通过演示一些例子来开始,这些例子已经被提供单独下载。查看一下例子章节,来看看如何通过这些来开始。在那之后,你应该准备开始创建你自己的流程并整合引擎到你的应用,例如通过从installer开始或者另外的例子或者通过自己的理解来开始尝试一下也是不错哦2.3 社区这有很多有用的链接如果你想成为jBPM社区的一部分:与jBPM相关的博客入口http:/planet.jboss.org/view/feed.seam?name=jbossjbpm Jbossjbpm的

22、相关说明:一个用户论坛:一个JIRA的bug跟踪系统:https:/jira.jboss.org/jira/browse/JBPM,对于bugs和一些特性的要求和指示。一个连续的构建服务:https:/hudson.jboss.org/hudson/job/jBPM/,得到最新的快照: https:/hudson.jboss.org/hudson/job/jBPM/lastSuccessfulBuild/artifact/jbpmdistribution/t arget请免费加入我们的在线聊天频道:irc.codehaus.org #jbpm。这有很多的实时在线关于项目的生产的讨论,能够在你需

23、要的时候可以发现很多的在线开发人员。没有在线聊天的客户端安装程序吗?简单的得到:http:/irc.codehaus.org,输入你渴望的昵称,然后登陆获得乐趣吧!2.4 资源2.41许可证jBPM的代码本身使用了Apache的2.0版本许可证。我们所整合的其他组件也有他们自己的许可证:新的BPMN2插件是Eclipse Public License (EPL v1.0.The web-based designer is based on Oryx/Wapama and is MIT LicenseThe BPM console is GNU Lesser General Public Lic

24、ense (LGPL v2.1The Drools project is Apache License v2.0.2.42 源代码现在jBPM使用git作为它的源代码的版本控制系统。jBPM项目的资源可以在这被找到(包括从jBPM 5.0-CR1的所有版本:我们所整合的其他组件的资源可以在这找到:与jBPM和Drools项目相关的其他组件:jBPM的Eclipse插件:http:/anonsvn.jboss.org/repos/jbosstools/trunk/bpmn/plugins/org.jboss.tools.jbpm/基于Web的设计器:BPM控制台:2.4.3 从源文件构建如果你对

25、于构建源代码感兴趣,贡献版本等等。确保阅读这个:第三章安装这个向导将会在安装和运行一个包含各种组件的jBPM项目演示程序帮助时帮助你。如果你有对于如何改进向导的任何反馈,如果你遇到了问题,或者你想解决问题,不要犹豫,联系jBPM社区作为所描述的那样:如果遇到问题或者有问题如何去做的片段。3.1必备的这里假设你已经安装了java JDK 1.5+(设置了JAVA_HOME,并安装了Ant 1.7+.如果你没有,用下面的链接去下载并安装它们:Java: Ant: http:/ant.apache.org/bindownload.cgi3.2下载installer首先,你需要下载installer

26、installer 和一个最小版本的installer。总的来说,下载一个full installer 可能会是最好的:jBPM-version-installer-full.zip你页可以在这找到最新发布的版本,不过只有最小版本的。https:/hudson.jboss.org/jenkins/job/jBPM/lastSuccessfulBuild/artifact/jbpm-distribution/target/https:/hudson.jboss.org/jenkins/job/jBPM/lastSuccessfulBuild/artifact/jbpm-distribution/

27、target 3.3演示安装最容易的方法就是运行安装脚本来开始,很容易的进入安装文件夹并在运行(注意是在cmd中:ant install.demo这将会:下载JBoss AS下载Eclipse安装Drools Guvnor into JBoss AS安装Oryx Designer into JBoss AS安装the jBPM gwt-console into JBoss AS安装the jBPM Eclipse plugin安装the Drools Eclipse plugin这样将要花费一会(网速慢的话将会花很长时间,因为下载有应用服务,Eclipse安装程序,即使你已经下载了full i

28、nstaller.脚本将显示正在下载的文件。如果你想避免下载特定的组件,在下面检查运行仅仅特定的演示的部分或者直接安装一个已经安装的组件。为了限制需要下载的数据量,我们不用下载Eclipse BIRT 插件通过默认的报告,如果你想在jBPM控制台输出报告,确定要下载BPM.birt在属性文件中设置一下,在运行安装之前。一旦演示安装完成,你能够开始通过启动demo.setup来演示各种组件。ant start.demo这个将会: Start the H2 database Start the J Boss AS Start Eclipse Start the Human Task Service

29、一旦所有的组件都启动了,你就可以启动Eclipse工具、Guvnor知识库和jBPM控制台,在下面的片段中将会解释。3.410分钟指南:使用Eclipse工具下面的录屏将给你一个如何去运行一个简单的演示流程的概述:怎么将已经存在的项目引入到你的工作空间中去一个简单的BPMN2流程用来请求一个执行评估一个简单的java类来启动流程怎样开始流程 图 3.1 接下来要做的:一旦启动了Eclipse,就是简单的引入了,如果不会,那么你就回家卖红薯吧!这个项目包含一个简单的BPMN2流程和一个java文件用来启动流程。你可以通过双击打开这些文件现在我们就可以debug流程了,我们可以通过用debug t

30、ooling来可视化查看它的运行时状态,首先要在流程测试类的文件中定义断点,然后就是查看各种debug视图:Window - Show View - Other .,选择流程实例视图和流程实例视图(在Drools目录下和人工任务视图并单击OK。程序在开始流程之前将会遇到断点,单击“Step Over”(F6来启动流程。在这种情况下,它会很容易的启动流程,这将导致创建一个新的用户任务对于用户”krisv”在人工任务服务中。之后流程就会等待它的执行。进入人工任务视图,在用户ID 下面,填写”krisv”并单击刷新。一个新的执行评估任务应该被展现。展示你已经启动了的流程实例的状态,单击流程实例视图并

31、在变量视图中选择ksession变量。这将展现在所选会话中的所有活动的流程实例。这种情况下,仅仅有一个流程实例。双击去查看在流程表中有注解的流程实例的状态。现在让我们回到任务视图,选择执行的任务并首先启动然后完成选择的任务。现在我们回到流程实例视图并再次双击流程实例来查看它新的状态。你应该能够用jBPM项目向导创建一个新的项目。这个简单的项目包含一个简单的HelloWorld BPMN2 流程和一个相关联的java文件用来启动流程。3.510分钟指南:使用jBPM控制台打开流程管理控制台:http:/localhost:8080/jbpm-console登陆:用krisv / krisv作为用

32、户名和密码。下面的录屏怎样启动一个新的流程怎样查看一个正在运行的流程实例的当前状态怎样去查看你的任务怎样完成一个任务怎样去产生一个报告区监视你流程的执行 图 3.2 管理你的流程实例,单击”Processes”标签,在选择”Process Overview”的左边。在一个轻微额延迟之后(如果你正在使用你的应用在第一时间,由于会话的初始化,“process“列表应该展现所有已知的流程。在演示程序的jbpm控制台的当前链接的所有流程都存储在jbpm-installer/sample/evaluation路径中的“evaluation”项目中的src/main/resources路径中。你点击流程,

33、它将会显示出所有当前的运行实例。当然,如果在这一点没有运行的实例,那么实例表中就是空的。你能够通过单击“start”按钮来启动一个新实例。当你确认有这个新的流程已经执行启动,那么你就可以通过填写必要的信息来启动一个流程。这种情况你需要填写用户名“krisv”,在你完成之后就可以关闭窗口了。一个新的实例应该被展现在“instance”列表中。乳沟你单击流程实例,你能够在下面查看它的细节、图形和实例数据通过分别点击“Diagram“和”Instance Data”按钮。你刚刚启动的流程实例将会在第一时间要求用户的处理并一直等待到用户完成这个任务。通过选择左边“Tasks”标签并选择“Persona

34、l Tasks”你就可以查看分配给你的任务。个人任务表将会展现出你要完成的处理。你能够通过选择并单击“View”按钮来完成这个任务。为了完成处理将会打开一个任务表。你要填写必要的数据并完成整个表,然后关闭表。在完成任务之后,你可以查看“Process Overview”并进一步查看你的流程实例的进展。你应该能够看到有一个流程正在等待你的HR 经理和项目经理去执行任务。你可以通过john / john和mary / mary来记录已经完成的任务。在你启动并正在完成一些流程实例和人工任务之后,你能够产生一个到目前为止所有事件的报告。在“Reporting“下选择Report Templates。控

35、制台默认的有两个报告模板,一个是产生所有流程的一般的概述,一个是为了监控曾经特有流程的定义。如果你选择了后者,你要确认在用流程定义的ID去查看活动的处理流程时要输入com.sample.evaluation。点击Create Report”按钮来产生一个当前状态的实时报告。注意报告的初始化可能会花一点时间,特别是在你第一次使用你的应用时。3.610分钟指南:使用Guvnor知识库和设计器Guvnor知识库可以被用来作为一个流程知识库来存储业务流程。当然它也提供一个基于Web的接口来管理你的流程。这包括基于Web的编辑器来查看和编辑流程。打开Drools Guvnor:http:/localho

36、st:8080/drools-guvnor你可以使用任何非空的用户名密码来登录。下面的录屏教你如何去管理你的知识库: 如何从Eclipse中导入一个已经存在的流程到Guvnor中怎样在一个Web编辑器中打开你的处理流程怎样创建一个用来创建会话的包 图 3.3 如果你想了解更多,我们建议你去看一下Drools Guvnor文档。你曾经已经做过的:ant stop.demo 并很容易关闭所有的rest(不知怎么翻译好相关线程吧!3.7 如果遇到问题或有问题应该怎么去做若有安装问题,可这样子:Email: jbpm-devlists.jboss.orgIRC: #jbpm at irc.codeha

37、us.orgjBPM用户论坛http:/community.jboss.org/en/jbpm?view=discussionsFAQ:1. 脚本不能下载组件?检查网络,或直接手动下载后放到jbpm-installer/lib 文件夹。2. 下载的组件不能解压?文件有问题,重新下载。3.7经常被问的问题一下常见问题的解释:问题:如果installer不能安装某个组件?回答:你已经连接到因特网了吗?你的防火墙开着吗?你是否需要一个代理?这些都有可能当我们正在下载组件时暂时离线。试着手动下载组件,如何把他们放到jbpm-installer/lib文件夹下面。问题:installer不能够解压缩包含

38、的压缩文件?回答:当下载组件时下载失败,可能是installer正在尝试使用一个未完成的文件。尝试在jbpm-installer/lib文件下删除问题组件并重新安装,它将会重新下载。问题:如果我已经更改了我的安装配置并向重新再一次通过清理原来的配置来启动,该怎么做?回答:你可以用ant clean.demo 来移除所有安装的组件,结束后你再次刷新一下安装配置就可以了。问题:当在尝试停止或重启确定服务时有时候会看到异常,我应该怎么做?回答:如果你在关闭的时候看到错误,你要确定是否还有服务在运行。如果在重启时看到异常,你要确定先前启动的服务是否被成功的关闭。如果有必要的话你可以尝试强制关闭所有的服

39、务。问题:在运行Eclipse的时候似乎有些异常但不知怎么去做?回答:首先查看控制台的输出,例如错误信息或者栈回溯。你也可以检查Eclipse的错误日志。尝试添加一个审查日志来记录你的会话信息来描绘在运行时或者在尝试debug 你的应用时所发生的事件。问题:在运行基于Web的应用时似乎有些错误,例如jbpmconsole, Guvnor and the Designer回答:你可以在目录jbpm-installer/jboss-4.2.3.GA/server/default/log 查看一下服务日志来看一下可能的异常。对于其他问题,尝试练习jBPM社区。第四章:核心引擎的API这章将会介绍在你

40、需要连接和执行你的流程是所要用到的API。怎样去定义流程本身的更多细节可以去查看BPMN 2.0 章节。和流程引擎的链接,你需要去建立一个会话。这个会话用来和流程引擎联系。会话需要有一个从knowledge base 引用,包含了所有相关流程定义的引用。这个knowledge base 是用来在任何有必要的时候来查看流程的定义。要去创建一个会话,你首先需要去创建一个knowledge base,链接到所有的必需已定义的流程,然后初始化一个会话。一旦你建立了一个会话,你就可以用它来执行流程了。一个流程无论什么时候被启动,一个新的流程实例都将被创建,并维持特有的流程实例的状态。 例如,想象一下你正

41、在写一个销售订单的流程应用。你可以定义一个或多个流程,定义这些订单应该怎样去执行。在启动你对应用时,你首先需要创建一个包含了所有已经定义了的流程的knowledge base。然后你就可以在基于knowledge base 的基础上建立一个会话,当你哥新的销售订单进入的时候,一个与销售订单对应的新的流程实例也将启动。流程实例包含了特定销售需求的流程状态。一个knowledge base能够通过会话来共享并且通常只需要在应用启动时创建一次。knowledge base能够动态的更改。基于knowledge base被创建的会话被用来执行流程和与引擎互动。你可以按你想的创建很多独立的会话,创建一个

42、会话是被认为是轻量级的。创建多少会话全都依你而定。总的来说,许多简单的情况只需要建立一个会话,然后可以在你应用的其他地方调用。如果你想有多个独立的流程单元,你可以决定创建多个会话,或者由于你出于可监控的原因可以建立多个会话。如果你不知道怎么去做,可以通过建立一个包含所有流程定义的knowledge base来开始,然后创建一个会话,然后你就可以用来执行你的流程了。4.1 jBPM APIjBPM 项目和API 直接由很清晰的区别,应该和真正的实现类来相结合。对于可用的公共API 的众多特性,我们相信普通的用户能够安全的使用并且应该保持使用相对稳定的版本。专家用户仍然能够访问内部类,但是要清楚他

43、们正在做什么,并且内部API 在将来仍然可能改变。以上所做的解释,jBPM 应该被用来创建一个knowledge base ,其包含你的流程定义,再就是创建一个用来启动新的流程实例、单独存在的,或者注册监听器等等的会话。4.11 Knowledge BasejBPM 允许你先创建一个knowledge base 。这个knowledge base 应该包含你所有的流程定义,就是需要被会话执行的流程。创建一个knowledge base ,先用knowledge builder 来连接不同资源的流程,然后从builder 创建一个新的knowledge base 。下面的代码片段展示了怎样去创建一个knowledge base ,这只包含一个流程定义。 对于从文件系统连接文件、URL 、输入流,阅读器等链接和ResourceFactory 的方法相似。4.12 会话一旦你装载了knowledge base ,你应该创建一个会话来和引擎结合。然后会话就能够被来启动一个流程或单独的事件。下面的代码片段展现了基于先前创建的knowledge base 来创建一个

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号