JBPM简介
JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。jBPM是公开源代码项目,使用它要遵循 ASL(Apache License Version 2.0)和EULA(JBoss End User License Agreement)协议。
jBPM在2004年10月18日,发布了2.0版本,并在同一天加入了JBoss,成为了JBoss企业中间件平台的一个组成部分,它的名称也改成JBoss jBPM。随着jBPM加入JBoss组织,jBPM也将进入一个全新的发展时代,它的前景是十分光明的。
jBPM最大的特色
就是它的业务逻辑定义没有采用目前的一些规范,如WfMC´s XPDL, BPML, ebXML, BPEL4WS等,而是采用了它自己定义的JBoss jBPM Process definition language (jPdl)。jPdl认为一个业务流程可以被看作是一个UML状态图。jPdl就是详细定义了这个状态图的每个部分,如起始、结束状态,以及状态之间的转换,通过图型化的流程定义,直观地描述业务流程。
jBPM的另一个特色是它使用Hibernate来管理它的数据库。Hibernate是目前Java领域非常流行的一种数据存储层解决方案,只要是 Hibernate 支持的数据库, jBPM 也就支持。通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于业务逻辑的处理。
编辑本段
使用jBPM开发工作流的一般流程
1) jBPM的运行需要数据库的支持,因此系统设计时要选定所用数据库。只要是Hibernate支持的数据库,jBPM就支持。数据库的初始化可以由jBPM自动完成,也可以通过ant generate.ddl任务生成SQL语句,在jBPM外部自己创建所需的表。
2) 使用jPdl定义工作流,生成processdinination.xml文件。可以采用GUI工具gpdl,但目前只支持jBPM1.0,而且bug很多。XML的DTD定义文件在jBPM下载包中。
3) Ant create.pde生成pde包的工作目录。将processdinination.xml文件和其它需要的文件放在指定的目录下,使用ant build.precess.archives生成pde包。pde包的格式采用jar。
4) 更改pde工作目录/src/config/jbpm.properties的相关属性,主要是设定相关的数据库连接信息。注意要将数据库的JDBC驱动放在pde工作目录的lib目录下。
5) Ant deploy.process.archives将刚才生成的pde部署到数据库。实际上就是向数据库插入一些相关数据。
6) 利用jBPM API函数开发相应的工作流程。
jBPM能否适应“中国国情”的流程应用?
——以下内容摘自《jBPM4工作流应用开发指南》第20章 “中国特色工作流的jBPM实现”: 目前,中国内地对于工作流管理系统的应用主要还是集中于“人工流程”,也就是以人工任务密集型的工作流应用为主。主要原因在于国内的信息化系统建设还远不及欧美发达国家成熟,系统多是以新建和推倒重来为主,很少有经过长期稳定运行的“沉淀”系统,因此工作流管理系统中用于应用集成的相关自动活动功能就很少能得到施展,工作流管理系统大部分的应用还是集中在需要人工干预的“任务”上。这也可以解释为何在欧美国家大行其道的EAI(企业应用集成)产品在国内市场并不普及的原因。 …… 同时从jBPM项目本身来说,其作为一款基于西方业务流程管理思想设计的工作流框架,更多的是关注“如何辅助开发者更容易的让流程运行完成”,而不是关注“记录流程运行的历史和轨迹”。 因此,jBPM项目从设计上就没有考虑“回退”、“取回”、“会签”、“委派”等业务场景。这也是因为东西方文化的差异之所在:例如回退,西方人认为“往回流转的情况肯定也是一种业务流程规则的定义,那么肯定可以通过分支或条件流转的设计来解决”,而国内则常常把回退作为一个“人性化管理和处理的潜在规则”来看待,并且认为这是一个合理的需求。 本章的目的就是:提出这些具有中国特色的(当然这并不是中国所特有的)业务流程问题,在jBPM4的架构基础上分析解决这些问题的思路,并给出一种解决方案供参考。
JBPM发展状况
工作流系统 (workflow management systems) 还处于技术发展曲线( technology hype curve ) 上的初级阶段。 在这个领域我们将面临一个激动人心的阶段。 为了描述这一点, 可以和关系数据库系统(RDBMS) 做一个对比。 当在软件开发团队中谈论RDBMS 时,大部分人会有一个清晰的概念, 在你和他们交流的时候, 人们会通过轻微的点头表示认可或理解你所说的。 可当使用工作流术语讨论工作流时, 他们会摇头表示不同意, 因为每个人对工作流术语都有不同的理解。 导致形成这种状况的原因之一, 是在工作流中使用了过多的概念。 在这个领域中的大量规范和工具没有一个是相似的。 当然, 它们相互之间有重叠并且会相互参考引证。 在介绍工作流时有一个话题必须包括, 那就是工作流和业务流程管理(BPM) 的关系。 术语“工作流” 通常描述人与计算机系统的一系列相关交互。 在开发人员中, 工作流经常被提及。 有时, 工作流的意思是指一些不同的UI 界面。业务流程管理的范围比较广, 相比之下工作流多半局限于技术领域。 业务流程管理还从管理人员的角度涉及了非技术问题, 比如分析、 组织的效率。 在本文中, 我首先解释什么是工作流管理系统, 然后介绍业务流程管理的优点。 接下来描述一下为什么工作流市场乍看起来如此混乱。 本文给出的主要结论是: 选择工作流系统是想用工作流系统的公司, 将要面对的最困难的事情。 为此, 本文的核心部分描述了一个流程定义(process definition) 的四个层次, 为你选择工作流提供一个基础。
JBPM举例
表达了一个抽象的流程定义,之所以说是抽象,因为她没有表示确切的执行者,比如某借款人被具体化为张三,部门主管成为张三的部门经理李四,而财务明确为王五的时候,这个流程定义就被具体化,成为一个流程实例。此外过程中的相关人员我们称之为参与者Actor,过程需要参与者介入的环节称之为Task,每—个任务在流程实例中的具体化称之为任务实例,从一个任务结点到另一个任务结点转为叫做流转(Transition),在流程中,由程序预先设定的行为如发邮件,我们称之为活动Action
分享到:
相关推荐
jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版jboss jbpm 5.0 最新版
jbpm4jbpm5是关于jbpm流程管理框架的专题,涵盖了jbpm4和jbpm5两个主要版本。jbpm是一个开源的工作流管理系统,用于帮助开发者实现业务流程自动化。以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. *...
JBPM5.3最新版帮助文档(chm格式)
jbpm jbpm4.3.jar DDDDDDDD
### jBPM简介与关键技术知识点 #### 一、jBPM概述 jBPM是一个开源的、纯Java的、轻量级的商业流程管理(Business Process Management, BPM)工作流引擎。它支持多种可执行流程语言,并且可以在任何JavaEE应用...
jbpm使用案例,非常不错,大家都来看看吧。
jbpm-3.1.2.zip 文件包含了 jBpm 的一个重要版本——jBpm 3.1.2,这是一个开源的工作流管理系统,专为构建灵活且可扩展的业务流程解决方案而设计。jBpm 提供了一种方式,使得开发者能够用简单而强大的语言来表达业务...
**jbPM 3.2 知识点详解** jbPM,全称为Java Business Process Management,是一个开源的工作流管理系统,主要用于企业级应用中的业务流程管理。jbPM 3.2是该系统的一个版本,它提供了丰富的功能,包括流程设计、...
通过查看JBPM的表,我们知道要实现流程监控功能就是把JBPM当中的JBPM_PROCESSDEFINITION(已发布的流程表),JBPM_PROCESSINSTANCE(流程实例表),JBPM_TASKINSTANCE(流程产生的任务实例表)这三张表串联起来就可以...
【深入浅出JBPM最新源码第七章-报销实例】是一个关于企业流程管理(Business Process Management,简称BPM)的实战教程,主要聚焦在JBPM框架的使用上,结合了myeclipse集成开发环境、SQL数据库、Tomcat6.0应用服务器...
【jbpm】是一种开源的工作流管理系统,全称为Java Business Process Management。它主要用于处理业务流程的自动化,通过定义和执行工作流程来协调应用系统中的不同组件。jbpm不仅提供了流程建模、部署、执行的能力,...
《jBPM4.4开发指南》与《jBPM4.4中文用户手册》是深入理解jBPM4.4这一开源工作流管理系统的重要参考资料。jBPM,全称Java Business Process Management,是一个用于执行业务流程的轻量级、灵活的开源框架,它为业务...
jbpm是Java Business Process Management(Java业务流程管理)的缩写,它是一个开源的工作流管理系统,主要用于企业级应用中处理业务流程的自动化。jbpm3和jbpm4是该系统的两个重要版本,提供了丰富的功能来支持流程...
jbpm 数据库表介绍 jbpm 是一个基于 Java 的 workflow 引擎,用于管理和执行业务流程。jbpm 需要持久化流程部署、流程实例、任务、用户认证等信息,于是 jbpm 设计了一系列的数据库表来存储这些信息。在 jbpm 4.4 ...
### jBPM 白皮书:介绍 jBPM 入门 #### 一、引言与背景 在当今数字化转型的时代背景下,业务流程管理(Business Process Management,简称 BPM)成为了企业提升效率、优化流程的关键技术之一。BPM 提供了一种程序...
JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...
JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS 希望对大家有帮助。
jbpm(Java Business Process Management)是一款开源的工作流管理系统,它为业务流程自动化提供了一套全面的解决方案。jbpm不仅支持工作流的建模、执行,还提供了监控和管理功能,使得开发者可以方便地构建和部署...