工作流引擎组件介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
jBPM 允许你先创建一个knowledge base。这个knowledge base应该包 含你所有的流程定义,就是需要被会话执行的流程。创建一个knowledge base,先用knowledge builder来连接不同资源的流程,然后从builder创 建一个新的knowledge base。下面的代码片段展示了怎样去创建一个 knowledge base,这只包含一个流程定义。
JBPM介绍-Eclipse编辑器
Eclipse编辑器是针对于Eclipse集成开发环境的插件,它允许你整合你的业务流程 到你的开发环境中。它的目标是针对于开发者,并且有一些向导去开始,有一个图 形编辑器用来创建你的业务流程和许多的高级测试和调试能力。
JBPM介绍-基于Web的设计器
基于Web的设计器允许你在基于Web的环境中建模你的业务流程。它所针对的目标 更多的是业务用户和提供一个图形编辑器来显示和编辑你的业务流程(使用拖拽), 类似于Eclipse插件。它支持Eclipse 编辑器和基于Web设计器的迂回流动。
@ProcessTask 处理一个任务 userId 当前登录用户ID userIdBeanOffset 当前登录用户ID类在参数列表中的数序 userIdAttributeName 当前登录用户ID的属性名称 businessBeanOffset 业务数据类在参数列表中的顺序 businessIdAttibuteName 业务数据主键的属性名称
流程引擎组件介绍-API
流程组件是基于切面以及一系列方法上的标注方式实现,不影响现有业务逻辑, 如果哪个方法或者操作需要涉及到流程,直接在方法上加上相应的注解即可。 @StartProcess 开启一个流程 processId 流程ID businessBeanOffset 业务数据类在参数列表中的顺序 businessIdAttibuteName 业务数据主键的属性名称
对于从文件系统连接文件、URL、输入流,阅读器等链接和ResourceFactory 的方法相似。
JBPM介绍-会话
一旦装载了knowledge base,应该创建一个会话来和引擎结合。然后会 话就能够被来启动一个流程或单独的事件。下面的代码展现了基于先前创 建的knowledge base来创建一个会话是多么的容易,并可以通过id 来启 动流程。
JBPM介绍-核心引擎API
knowledge base 是用来在任何有必要的时候来查看流程的定义。 StatefulKnowledgeSession:会话,用它来执行流程了。一个流程无论什么时候 被启动,一个新的流程实例都将被创建,并维持特有的流程实例的状态。
JBPM介绍-Knowledge Base
@GetTask 得到任务列表 userId 登录用户ID userIdBeanOffset 登录用户ID类在参数列表中的顺序 businessBeanOffset 业务数据类在参数列表中的顺序 businessIdAttibuteName 业务数据主键的属性名称
流程引擎组件介绍-API
流程引擎组件介绍
目录
1
JBPM介绍
2
流程引擎组件介绍
3
Q&A
2
JBPM介绍-概述
jBPM 是一个灵活的业务流程管理组件。它是轻量级,完全开放 并且是使用java 语言编写。它允许你建模、执行和监控业务流程,遍 及整个的生命周期。 jBPM 的核心是一个纯java 语言编写的轻量级、可扩展的工作流
流程引擎组件介绍-概述
One-Bpm流程引擎组件是基于jbpm5封装的组件,提供了更方便的调用方式。
流程引擎组件介绍-配置
ChangeSet.xml 在规则流中,资源是在ChangeSet.xml文件描述,ChangeSet.xml可以配置多 个资源,建议不同业务类型的资源用不同名称的ChangeSet.xml配置,这样便 于管理。每个ChangeSet.xml由一个KnowledgeAgent来代理,同时资源监控 会监控这些ChangeSet.xml里配置的资源,如果发生变化,则会更新相应 KnowledgeAgent里的KnowledgeBase,更新策略通过配置设置。 drools.properties
Drools需要用到的设置是配置在drools.properites中,其内容是:
流程引擎组件介绍-配置
***.properties #hibernate settings hibernate.dialect=org.hibernate.dialect.Oracle10gDialect hibernate.hbm2ddl.auto=update hibernate.max_fetch_depth=3 hibernate.show_sql=true bpm.aspect.expression=* com.sinosoft..*.*(..)
JBPM介绍-事件
会话提供了监听器的注册和删除的方法,一个流程事件监听器可以被用来 监听和流程相关的事件,比如开始或完成一个流程,进入或离开一个节点 等等。下面是流程事件监听器类的各种方法的展示。一个事件对象提供相 关信息的访问,比如流程实例和与事件链接的节点实例。你能够使用这个 API来注册你自己的事件监听器。
引擎,它允许你去执行使用了最新的BPMN 2.0规范的业务流程。它
能够在任何的java 环境中运行或者嵌入到你的应用中或者作为一个服 务。
3百度文库
JBPM介绍-发展
Activiti JBPM4 JBPM3
Drools
JBPM5
4
JBPM介绍-概览
JBPM介绍-核心引擎
jBPM 核心引擎是项目的核心。它是一种轻量级的工作流引擎用来执行你 的业务流程。它可以作为你的应用的一部分被嵌入,或者配置作为一项服 务。这里还有很多的特性: 可靠地、稳定地核心引擎用来执行你的流程实例 对BPMN 2.0 规范的本地支持,执行业务流程 强壮的执行和监控能力 轻量级的(能够被配置在几乎任何的支持简单的java 运行环境的设备 任何的Web容器) (可选择的)带有一个默认的JPA执行的持久化插件 带有一个默认的JTA执行的事务支持插件 作为一个普通的流程引擎工具,它能够被扩展来支持新的节点类型或 语言 监听器可以通报各种事件 具有移植运行中的流程实例到他们流程定义的一个新版本中的能力
JbpmAPIUtil Jbpm的工具类 getImageInfoes 得到当前流程的图型信息 getBusinessIds 根据当前用户ID获得所属该用户的业务主键
流程引擎组件介绍-示例
示例
Q&A
非常感谢!
JBPM介绍-Eclipse编辑器
Eclipse编辑器是针对于Eclipse集成开发环境的插件,它允许你整合你的业务流程 到你的开发环境中。它的目标是针对于开发者,并且有一些向导去开始,有一个图 形编辑器用来创建你的业务流程和许多的高级测试和调试能力。
JBPM介绍-基于Web的设计器
基于Web的设计器允许你在基于Web的环境中建模你的业务流程。它所针对的目标 更多的是业务用户和提供一个图形编辑器来显示和编辑你的业务流程(使用拖拽), 类似于Eclipse插件。它支持Eclipse 编辑器和基于Web设计器的迂回流动。
@ProcessTask 处理一个任务 userId 当前登录用户ID userIdBeanOffset 当前登录用户ID类在参数列表中的数序 userIdAttributeName 当前登录用户ID的属性名称 businessBeanOffset 业务数据类在参数列表中的顺序 businessIdAttibuteName 业务数据主键的属性名称
流程引擎组件介绍-API
流程组件是基于切面以及一系列方法上的标注方式实现,不影响现有业务逻辑, 如果哪个方法或者操作需要涉及到流程,直接在方法上加上相应的注解即可。 @StartProcess 开启一个流程 processId 流程ID businessBeanOffset 业务数据类在参数列表中的顺序 businessIdAttibuteName 业务数据主键的属性名称
对于从文件系统连接文件、URL、输入流,阅读器等链接和ResourceFactory 的方法相似。
JBPM介绍-会话
一旦装载了knowledge base,应该创建一个会话来和引擎结合。然后会 话就能够被来启动一个流程或单独的事件。下面的代码展现了基于先前创 建的knowledge base来创建一个会话是多么的容易,并可以通过id 来启 动流程。
JBPM介绍-核心引擎API
knowledge base 是用来在任何有必要的时候来查看流程的定义。 StatefulKnowledgeSession:会话,用它来执行流程了。一个流程无论什么时候 被启动,一个新的流程实例都将被创建,并维持特有的流程实例的状态。
JBPM介绍-Knowledge Base
@GetTask 得到任务列表 userId 登录用户ID userIdBeanOffset 登录用户ID类在参数列表中的顺序 businessBeanOffset 业务数据类在参数列表中的顺序 businessIdAttibuteName 业务数据主键的属性名称
流程引擎组件介绍-API
流程引擎组件介绍
目录
1
JBPM介绍
2
流程引擎组件介绍
3
Q&A
2
JBPM介绍-概述
jBPM 是一个灵活的业务流程管理组件。它是轻量级,完全开放 并且是使用java 语言编写。它允许你建模、执行和监控业务流程,遍 及整个的生命周期。 jBPM 的核心是一个纯java 语言编写的轻量级、可扩展的工作流
流程引擎组件介绍-概述
One-Bpm流程引擎组件是基于jbpm5封装的组件,提供了更方便的调用方式。
流程引擎组件介绍-配置
ChangeSet.xml 在规则流中,资源是在ChangeSet.xml文件描述,ChangeSet.xml可以配置多 个资源,建议不同业务类型的资源用不同名称的ChangeSet.xml配置,这样便 于管理。每个ChangeSet.xml由一个KnowledgeAgent来代理,同时资源监控 会监控这些ChangeSet.xml里配置的资源,如果发生变化,则会更新相应 KnowledgeAgent里的KnowledgeBase,更新策略通过配置设置。 drools.properties
Drools需要用到的设置是配置在drools.properites中,其内容是:
流程引擎组件介绍-配置
***.properties #hibernate settings hibernate.dialect=org.hibernate.dialect.Oracle10gDialect hibernate.hbm2ddl.auto=update hibernate.max_fetch_depth=3 hibernate.show_sql=true bpm.aspect.expression=* com.sinosoft..*.*(..)
JBPM介绍-事件
会话提供了监听器的注册和删除的方法,一个流程事件监听器可以被用来 监听和流程相关的事件,比如开始或完成一个流程,进入或离开一个节点 等等。下面是流程事件监听器类的各种方法的展示。一个事件对象提供相 关信息的访问,比如流程实例和与事件链接的节点实例。你能够使用这个 API来注册你自己的事件监听器。
引擎,它允许你去执行使用了最新的BPMN 2.0规范的业务流程。它
能够在任何的java 环境中运行或者嵌入到你的应用中或者作为一个服 务。
3百度文库
JBPM介绍-发展
Activiti JBPM4 JBPM3
Drools
JBPM5
4
JBPM介绍-概览
JBPM介绍-核心引擎
jBPM 核心引擎是项目的核心。它是一种轻量级的工作流引擎用来执行你 的业务流程。它可以作为你的应用的一部分被嵌入,或者配置作为一项服 务。这里还有很多的特性: 可靠地、稳定地核心引擎用来执行你的流程实例 对BPMN 2.0 规范的本地支持,执行业务流程 强壮的执行和监控能力 轻量级的(能够被配置在几乎任何的支持简单的java 运行环境的设备 任何的Web容器) (可选择的)带有一个默认的JPA执行的持久化插件 带有一个默认的JTA执行的事务支持插件 作为一个普通的流程引擎工具,它能够被扩展来支持新的节点类型或 语言 监听器可以通报各种事件 具有移植运行中的流程实例到他们流程定义的一个新版本中的能力
JbpmAPIUtil Jbpm的工具类 getImageInfoes 得到当前流程的图型信息 getBusinessIds 根据当前用户ID获得所属该用户的业务主键
流程引擎组件介绍-示例
示例
Q&A
非常感谢!