来源:http://blog.163.com/huang_ying_lu/blog/static/269998320118222425851/
对jBPM4.4数据库的几张表简单介绍:
资源库和运行时表结构
JBPM4_DEPLOYMENT 流程定义表
JBPM4_DEPLOYPROP 流程定义属性表
JBPM4_EXECUTION 流程实例表 (主要是存放JBPM4的执行信息,Execution机制代 替了JBPM3的Token机制)
JBPM4_JOB 定时表(存放的是Timer 的定义)
JBPM4_LOB 存储表 (流程定义相关的布署信息)
JBPM4_PARTICIPATION 参与者表 (存放 Participation的信息,Participation的种类有Candidate、Client、Owner、 Replaced Assignee和Viewer。而具体的Participation既可以是单一用户,也可以是用户组。)
JBPM4_PROPERTY 引擎参数表
JBPM4_SWIMLANE 泳道表(Swim Lane是一种Runtime Process Role,多个Task可以一次分配到同一Actor身上。)
JBPM4_TASK 任务表 (存放需要人来完成的Activities,需要人来参与完成的Activity 被称为 Task).
JBPM4_VARIABLE 上下文表 (存的是进行时的临时变量)
B。历史数据库表结构
JBPM4_HIST_ACTINST 流程活动(节点)实例表 (Activity Instance的历史记录)
JBPM4_HIST_DETAIL 流程历史详细表 (保存Variable的变更记录)
JBPM4_HIST_PROCINST 流程实例历史表 (Process Instance的历史记录)
JBPM4_HIST_TASK 任务历史表(Task的历史信息)
JBPM4_HIST_VAR 流程变量(上下文)历史表 (保存历史的变量 )
C。身份认证表结构
JBPM4_ID_GROUP 组表
JBPM4_ID_MEMBERSHIP 用户角色表
JBPM4_ID_USER 用户表
jbpm4.4最核心的包
1.antlr.jar
2.commons-collections.jar
3.commons-logging.jar
4.dom4j.jar
5.hibernate-core.jar
6.javassist.jar
7.jbpm.jar
8.jta.jar
9.mail.jar
10.slf4j-api.jar
11.slf4j-jdk14.jar
12.slf4j-log4j12.jar
配置文件
jbpm.execution.hbm.xml, jbpm.history.hbm.xml, jbpm.identity.hbm.xml, jbpm.repository.hbm.xml, jbpm.task.hbm.xml五个hibernate映射文件
jbpm.default.cfg.xml ----> 流程引擎的默认配置文件
jbpm.identity.cfg.xml ----> 身份验证配置文件
jbpm.jbossremote.cfg.xml ----> 远程调用jboss实现命令模式
jbpm.jobexecutor.cfg.xml ----> 任务执行器的配置
jbpm.task.lifecycle.xml ----> 任务生命周期,包括启动,暂停,继续,完成,取消之类
jbpm.tx.hibernate.cfg.xml----> 默认的hibernate事务配置
jbpm.tx.jta.cfg.xml ----> jta的事务配置
jbpm.variable.types.xml ----> 配置变量类型映射
jbpm.wire.bindings.xml ----> 依赖绑定映射
jbpm4.4包作用
org.jbpm.pvm.internal.ant
提供使用ant发布流程,辅助启动jboss的任务。
org.jbpm.pvm.internal.builder
用来构造各种模型,包括活动,活动行为,事件,事件处理器,流程定义,变量,任务,等等。
org.jbpm.pvm.internal.cal
提供日历,包括日期,时间段,持续时间,节假日。
org.jbpm.pvm.internal.cfg
JbpmConfiguration和SpringConfiguration实现了org.jbpm.api.Configuration,用来从配置文件构造ProcessEngine
org.jbpm.pvm.internal.xml
主要用于解析xml的,主要解析jbpm.cfg.xml和流程定义文件
org.jbpm.pvm.internal.util
包含常用工具
org.jbpm.pvm.internal.wire
用来在ioc里进行依赖绑定。子包包含binding, descriptor, operation和xml,而且默认的绑定方式是使用field,而不是常见的setter绑定方式。
org.jbpm.pvm.internal.type
用来进行类型转换,主要是加载jbpm.cfg.xml对流程引擎进行初始化时,还有就是发布流程的时候进行类型转换。子包包括converter,matcher和variable,类型转换器,类型匹配器和变量。
org.jbpm.pvm.internal.tx
其中负责处理事务,JtaTransaction啦,SpringTransationInterceptor 啦,StandardTransaction啦,这些需要根据实际环境具体选择。jta的实现部分已经单独放到子包jta中了。希望spring中的事务也能这样处理就好了。
org.jbpm.pvm.internal.test
包下放了一个JobTestHelper,显然是可以帮助在测试环境下运行job的,。
org.jbpm.api.client
这部分包含ClientExecution, ClientProcessDefinition, ClientProcessInstance。ClientExecution继承了OpenExecution,声明了end(), signal(), suspend(), resume()之类的方法。ClientProcessDefintion继承了OpenProcessDefintion,其中的功能主要是 createProcessInstance和startProcessInstance。
org.jbpm.pvm.internal.cmd
包含Command和CommandService,这是命令设计模式的基础。其中放着所有的命令,所有的流程操作都可以在这里找到。
org.jbpm.pvm.internal.email
下面有两个子包impl和spi,只要注意spi下的AddressResolver, MailProducer和MailSession就可以实现自定义的实现了。
org.jbpm.pvm.internal.env
包含Context, Environment, EnvironmentFactory, Transaction, WireObject。其中Context, Environment和EnvironmentFactory组成了jBPM4里的IoC系统。Transaction定义了通用事务。 WireObject用来做依赖绑定。下面保存着环境有关的实现类。包括Authentication权限认证,Environment与context 相关的各个类。
org.jbpm.pvm.internal.hibernate
下面的类是专门与hibernate进行交互的类,包含类型转换,命名策略和最主要的DbSessionImpl,所有与数据库的操作都来源于此。
org.jbpm.pvm.internal.history
下面是历史操作所需要的部分,其下还包含events和model包。
org.jbpm.pvm.internal.identity
包主要负责身份认证的操作。包含三个子包cmd, impl和spi,cmd下定义所用到的命令,impl下是实现类,spi下放着IdentitySession。
org.jbpm.pvm.internal.jms
包括JmsMessageSession和JmsMessageUtil,应该是用来处理jms的,JmsMessageSession与 org.jbpm.api.job.Message相关联。说明job下的Message是依靠jms发送异步消息的。
org.jbpm.pvm.internal.job
提供了对job, message和timer的实现
org.jbpm.pvm.internal.jobexecutor
提供了任务执行器,包括JobExecutorServlet和对应的线程池,以及一系列的命令和处理器。无论是job, message或是timer,最终都会被这里执行。
org.jbpm.pvm.internal.lob
主要用来处理流程发布时的文件内容,需要把jpdl.xml文件和图片,甚至是以后可能把class文件都以附件形式保存到数据库中,以备后用
org.jbpm.pvm.internal.model
这个模型包中包含了很多很多类,包括Activity, CompositeElement, Condition, ObservableElement, OpenProcessDefinitionTransition。简单分类一下。最底层的是ObservableElement,它是可以被事件监听的元素,并且可以继承,CompositeElement继承了 ObservableElement,它里面可以装填多个活动。再加上Event中定义了多个事件,这些就构成了最基本的事件模型。Activity和 ActivityCoordinates分别定义了活动类和活动位置。以这些为基础,OpenProcessDefinition继承了 ProcessDefinition和CompositeElement。最终,我们还有一个Condition类,它只有一个evaluate方法,接受OpenExecution作为参数返回boolean值,Condition和Activity组合成了Transition,这个转移包含了起点,终点,以及条件判断。最庞大的模型部分,活动,转移,流程定义,流程实例的实现类都放在这里。在它的op子包中包含的是流程进行中的各项操作。
org.jbpm.pvm.internal.query
History, Job, ProcessDefintion, ProcessInstance这四个query类的实现,还提供了一个Page类,但是其中只有firstResult和maxResults,所以没啥大用
org.jbpm.pvm.internal.repository
负责的是流程的发布,主要有Deployment和Repository对应的service, session和cache,这里使用的缓存,所以每次使用流程定义的时候可以利用缓存提高效率。
org.jbpm.pvm.internal.script
包含对脚本的支持,默认支持了JuelScriptEngine。
org.jbpm.pvm.internal.session
支持各种会话,DbSession, MessageSession, RepositorySession和TimerSession。
org.jbpm.pvm.internal.spring
只有一个CommandTransactionCallback用来实现从spring中获得事务,并用其执行jbpm中定义的各种命令
org.jbpm.pvm.internal.stream
用于从各种途径读取资源,无论是jbpm配置文件和流程资源都要通过这些来转换成流的形式,以供给jbpm处理。
org.jbpm.pvm.internal.svc
其中svc或许是service的缩写。这个包中除了包括org.jbpm.api包下定义的所有service接口的实现,还包括commandService的实现和认证拦截器。
org.jbpm.pvm.internal.task
代表了所有与任务,任务参与者相关的信息,包括Assignable, AssignmentHandler, OpenTask, Participation, Swimlane, Task, TaskDefinition。简单划分后,主要有任务,任务定义任务处理。剩下的都是与任务分配有关了。TaskDefinition从字面上来看是指任务定义,里边只有一个getName()。Task中保存了任务相关的一些内容,OpenTask主要用来处理历史事件。参与者部分基本分成三个部分,以Assignable和AssignmentHandler组成的自定义分配部分,Participation参与者和swimlane泳道。暂时没有发现三者之间与任务
分享到:
相关推荐
本文将深入解析jbpm4.4的相关知识点,帮助那些寻找优质学习资源的朋友更好地理解和应用这一技术。 一、jbpm概述 jbpm是一个开源的BPM(Business Process Management)框架,它允许开发者设计、执行、监控和优化业务...
#### 一、工作流基础知识 工作流,作为业务过程的部分或整体自动化,旨在通过计算机应用环境实现文档、信息或任务在多个参与者间的自动传递,以达到预期的业务目标。工作流管理系统(WfMS)在其中扮演关键角色,它...
"jBPM4.4.docx" 文件可能是关于 jbPM 4.4 示例的详细文档,它可能包含如何安装、配置、创建和运行流程实例的步骤,以及可能遇到的问题和解决办法,对于学习和使用 jbPM 4.4 是非常有价值的参考资料。 总结,jbPM ...
本篇文章将详细探讨JBPM4.4的基础知识,以及如何通过jsp和servlet来实现入门级的应用。 **1. 工作流管理系统介绍** 工作流管理系统(WfMS)是用于自动化业务流程的软件工具。它可以帮助组织定义、实施和监控复杂的...
本文将深入探讨JBPM4.4 API中的关键知识点,并分析其实现类的重要性。 首先,我们要理解JBPM4.4的核心概念。它是基于BPMN(Business Process Model and Notation)标准的,提供了一种图形化的方式来设计、部署和...
JBPM基础知识** 理解JBPM的基础概念至关重要,包括任务、事件、工作流实例等。流程定义文件(jpdl)用于描述业务流程,通过XML格式定义各个节点(如开始、结束、决策、用户任务等)和它们之间的连接。 **4. 整合...
jbpm 4.4是该框架的一个重要版本,它在先前版本的基础上进行了许多改进和增强。以下是jbpm 4.4的关键特性与知识点: 1. **工作流引擎**:jbpm的核心是其工作流引擎,它负责执行流程定义(BPMN 2.0格式)。这个引擎...
1. 阅读基础理论:先了解jbpm4.4的基本概念、架构和核心组件。 2. 学习流程设计:掌握BPMN 2.0语言,学习如何在jbpm中创建和编辑流程模型。 3. 实践操作:通过示例代码和项目实践,熟悉jbpm的部署、运行和管理工作...
jBPM 4.4 用户指南 jBPM 4.4 是一个功能强大且灵活的工作流引擎,可以运行在独立的服务器上或者嵌入任何...通过阅读该用户指南,用户可以快速了解 jBPM 的安装、配置、使用和开发,并掌握 jBPM 的基础知识和高级技术。
"JBPM4教程"则可能是面向初学者的一份详尽指导,涵盖了jbPM4.4的基础概念、安装步骤、核心组件、工作流实例和示例代码等。通过这份教程,读者可以快速理解jbPM4.4的基本操作,如创建流程模型、启动和管理流程实例、...
从给定的文件标题“jbpm4.4中文手册”及其描述、标签和部分内容中,我们可以提炼出关于jBPM4.4的关键知识点。jBPM(Java Business Process Management)是一个开源的工作流引擎,用于执行业务流程管理。下面将详细...
jbpm4.4是该框架的一个早期版本,它支持BPMN(Business Process Modeling Notation)2.0标准,这使得业务流程可以更直观地进行建模。 2. **BPMN 2.0**:BPMN是一种图形化语言,用于绘制业务流程模型,包括开始事件...
jbpm4.4版本的设计器文档主要介绍了基于GEF(Graphical Editor Framework)实现的一个WEB版流程设计器,文档内容覆盖了设计器的设计理念、组成结构、工作流程以及定制化开发和扩展功能等多个方面。 GEF是一个图形...
文件名称"JavaCode"表明代码主要是用Java语言编写的,因此开发者需要具备Java基础,理解面向对象编程和Spring框架等知识。 总之,jbpm4.4练习代码是一个深入学习和实践工作流管理系统的宝贵资源,涵盖了流程设计、...
总结起来,"itcast jbpm4.4工作流详细教程文档"主要涵盖了工作流的基础知识,jBPM4.4的介绍,以及如何在Eclipse环境下配置和使用jBPM进行流程设计。通过学习这个教程,初学者能够了解工作流管理系统的基本概念,并...