`
- 浏览:
15006 次
- 性别:
- 来自:
南京
-
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.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泳道。暂时没有发现三者之间与任务的联系。
org.jbpm.pvm.internal.test
包下放了一个JobTestHelper,显然是可以帮助在测试环境下运行job的,个人认为它放在pvm中似乎有点儿不妥。
org.jbpm.pvm.internal.tx
其中负责处理事务,JtaTransaction啦,SpringTransationInterceptor 啦,StandardTransaction啦,这些需要根据实际环境具体选择。jta的实现部分已经单独放到子包jta中了。希望spring中的事务也能这样处理就好了。
org.jbpm.pvm.internal.type
用来进行类型转换,主要是加载jbpm.cfg.xml对流程引擎进行初始化时,还有就是发布流程的时候进行类型转换。子包包括converter,matcher和variable,类型转换器,类型匹配器和变量。
org.jbpm.pvm.internal.util
包含常用工具。
org.jbpm.pvm.internal.wire
用来在ioc里进行依赖绑定。子包包含binding, descriptor, operation和xml,个人认为这是很麻烦的绑定方式,而且默认的绑定方式是使用field,而不是常见的setter绑定方式。
org.jbpm.pvm.internal.xml
包主要用于解析xml的,主要解析jbpm.cfg.xml和流程定义文件。
配置文件
jbpm 配置jbpm.default.cfg.xml,流程引擎的默认配置文件。
jbpm.identity.cfg.xml, jbpm.jboss.idm.cfg.xml身份验证配置文件。
jbpm.jbossremote.cfg.xml远程调用jboss实现命令模式。
jbpm.jobexecutor.cfg.xml任务执行器的配置。
hibernate映射jbpm.execution.hbm.xml, jbpm.history.hbm.xml, jbpm.identity.hbm.xml, jbpm.repository.hbm.xml, jbpm.task.hbm.xml这五个是hibernate映射文件。
任务生命周期jbpm.task.lifecycle.xml任务的生命周期,包括启动,暂停,继续,完成,取消之类。
事务配置jbpm.tx.hibernate.cfg.xml默认的hibernate事务配置。
jbpm.tx.jta.cfg.xml使用jta的事务配置。
IoC配置jbpm.variable.types.xml变量类型映射。
jbpm.wire.bindings.xml依赖绑定映射。
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
下面将详细介绍JBPM4中各个表的作用及相关字段说明。 #### 1. **JBPM4_DEPLOYMENT** - 流程定义表 - **描述**: 此表用于存储部署到系统中的流程定义信息。 - **字段说明**: 通常包括流程ID、名称、版本号等基本信息...
- **环境准备:** 讲述如何搭建jBPM4开发环境,包括下载jBPM4的发行包,配置开发工具和运行时环境。 - **基础概念:** 介绍工作流、BPMN(业务流程建模符号)、jBPM4中的关键术语和概念,帮助开发者建立基础知识...
1. **流程定义(Process Definition)**:这是业务流程的蓝图,用BPMN(Business Process Model and Notation)语言编写,描述了流程的各个步骤、决策点、事件和参与者之间的关系。在请假流程中,可能包括请假申请、...
jbpm4是一款强大的工作流管理系统,它提供了流程定义、流程实例管理、任务处理以及流程监控等一系列功能。在“jbpm4流程提交及执行完整代码”这个压缩包中,包含了实现jbpm4流程提交和执行所需的若干关键文件。下面...
【jbpm4之HelloWorld实例】是一个初学者入门教程,主要介绍了如何在Java环境中使用jbpm4(Business Process Management Suite 4)框架构建一个简单的"Hello World"流程应用。jbpm4是一个开源的工作流和业务流程管理...
jbpm4支持Business Process Modeling Notation (BPMN),这是一种标准的图形化流程建模语言,用于描述业务流程。通过BPMN,开发者可以清晰地表达出业务流程的各个环节,包括任务、决策、事件等。 2. **流程引擎** ...
【JBPM源码包详解】 JBPM,全称Java Business Process Management,是一个开源的工作流管理系统,主要用于业务流程的建模、执行和管理。它提供了一套完整的框架,使得开发者能够轻松地实现工作流驱动的应用程序。这...
**jBPM4工作流应用开发指南** jBPM4是一款强大的开源工作流管理系统,它为业务流程管理和执行提供了一套完整的解决方案。本指南将深入探讨jBPM4的特性和使用方法,帮助开发者实现高效的工作流应用开发。 **1. jBPM...
【jbpm4web请假例子】是一个基于JBPM4工作流引擎的示例应用,它演示了如何在Eclipse环境中开发和部署一个简单的请假流程。这个例子可以帮助开发者理解工作流管理系统的基本概念,以及如何将它们集成到实际的Web应用...
例如,Jbpm4可能包含如"process_definition"(流程定义)、"task_instance"(任务实例)、"node_instance"(节点实例)等表,这些表用于存储流程实例、任务和流程图中的各个节点的状态信息。注释可能解释了每张表的...
在这个例子中,可能会有一个请假流程定义文件(如:leaveRequest.bpmn),描述了从员工提交请假申请到审批完成的整个过程,包括各个步骤、决策点和可能的分支路径。 2. **工作流引擎**:JBPM4的核心是一个强大的...
- **ProcessDefinition**: 描述了整个流程的结构和逻辑,包括各个活动(Activity)及其之间的转换(Transition)。 - **Activity**: 流程中的基本单元,它可以是一个任务(task)或决策(decision)等。 - **Transition**...
1. 流程定义文件(.bpmn2或.xml):描述请假流程的各个步骤和转移条件。 2. 请假实体类:表示请假申请的数据模型,通常由Hibernate管理。 3. 请假服务类:实现请假流程的业务逻辑,包括启动流程实例、查询审批状态等...
总结:jBPM4作为一款强大的业务流程管理工具,其灵活性和可扩展性使得它在各个行业中都能找到应用。通过理解jBPM4的安装配置、对象执行模式以及主要组件,开发者能够有效地利用jBPM4构建和管理企业级的业务流程。
jbpm显示执行位置demo是基于jBPM4的一个实践示例,主要目的是为了展示如何在jBPM系统中可视化地追踪流程实例的当前执行状态。jBPM(Java Business Process Management)是一个开源的工作流和业务流程管理系统,它...
这些文件描述了流程的各个阶段、任务、决策节点、事件等,为业务流程的自动化提供了基础。 **4. 任务管理与工作流执行** jbPM 提供了任务服务,使得用户可以分配、接收和完成工作任务。在 jbPM 4.4 中,任务管理...
jPDL(jBPM Process Definition Language)是jBPM用来描述和执行业务流程的一种专用语言,它基于XML,简洁且易于理解,允许开发者以声明式的方式定义流程逻辑。 1、系统环境部署: 在开始jBPM-jPDL的学习之前,首先...
在jbpm4中,一个processDefinition通常对应一个XML文件(*.bpmn或*.bpmn2),该文件使用Business Process Modeling Notation(BPMN)语言进行编写,用于描述流程的开始、结束、分支、并行、用户任务、服务任务等元素...
4. **jbpm-gwt**:这部分源代码涉及到jbpm5的GWT(Google Web Toolkit)前端组件。GWT是一个开发富互联网应用的框架,允许使用Java编写客户端代码,然后自动转换为JavaScript。jbpm5的GWT模块提供了用户友好的Web...