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。
What is jBPM?
jBPM is a flexible Business Process Management (BPM) Suite. It makes the bridge between business analysts and developers. Traditional BPM engines have a focus that is limited to non-technical people only. jBPM has a dual focus: it offers process management features in a way that both business users and developers like it.
What does jBPM do?
A business process allows you to model your business goals by describing the steps that need to be executed to achieve that goal and the order, using a flow chart. This greatly improves the visibility and agility of your business logic, results in higher-level and domain-specific representations that can be understood by business users and is easier to monitor.
The core of jBPM is a light-weight, extensible workflow engine written in pure Java that allows you to execute business processes using the latest BPMN 2.0 specification. It can run in any Java environment, embedded in your application or as a service.
On top of the core engine, a lot of features and tools are offered to support business processes throughout their entire life cycle:
- Eclipse-based and web-based editor to support the graphical creation of your business processes (drag & drop).
- Pluggable persistence and transactions based on JPA / JTA.
- Pluggable human task service based on WS-HumanTask for including tasks that need to be performed by human actors.
- Management console supporting process instance management, task lists and task form management, and reporting.
- Optional process repository to deploy your process (and other related knowledge).
- History logging (for querying / monitoring / analysis).
- Integration with Seam, Spring, OSGi, etc.
BPM makes the bridge between business analysts, developers and end users, by offering process management features and tools in a way that both business users and developers like it. Domain-specific nodes can be plugged into the palette, making the processes more easily understood by business users.
jBPM supports adaptive and dynamic processes that require flexibility to model complex, real-life situations that cannot easily be described using a rigid process. We bring control back to the end users by allowing them to control which parts of the process should be executed, to dynamically deviate from the process, etc.
jBPM is also not just an isolated process engine. Complex business logic can be modeled as a combination of business processes with business rules and complex event processing. jBPM can be combined with the Drools project to support one unified environment that integrates these paradigms where you model your business logic as a combination of processes, rules and events.
工作流程
1) jBPM的运行需要数据库的支持,因此系统设计时要选定所用数据库。只要是Hibernate支持的数据库,jBPM就支持。数据库的初始化可以由jBPM自动完成,也可以通过ant generate.ddl任务生成SQL语句,在jBPM外部自己创建所需的表。
2) 使用jPdl定义工作流,生成processdinination.xml文件。可以采用GUI工具jPdl,但目前只支持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函数开发相应的工作流程。
工作流管理系统的分类
目前已有上百种声称具有工作流管理功能的商品化软件或原型系统。为了对这些系统的功能、特点等有一具清晰的认识,可以根据工作流过程本身的特点、系统建模的方式、所使用的底层支撑技术、以及工作流过程的执行方式等的不同而对它们进行相应的分类如下:
结构化的与即席的
结构化工作流指的是在实际工作过程中会反复重复、严格按照某个固定的步骤进行的业务过程。定义此种工作流所需要的各种类型的信息可以通过对业务过程进行详细的分析而得到,从而得到完整的过程定义并在以后的应用过程中反复使用。大量的办公程序,如公文处理、审批等都属此类。即席工作流则是针对那些重复性不是很强或没有重复性的工作流程的,关于这类流程执行所需的有关参数(如参加者等)事先无法确定,而必须推迟到过程实例运行时才能确定,同时在执行过程中间还可能会发生一些意外的情况。这种动态多变的特点在提供更高灵活性的同时,也为过程的建模与执行带来更多的复杂性。
面向文档的与面向过程的
前者的侧着点在于将电子形式的文档、图像等在有关的人员之间进行分发,以便能够得到不同人的处理与审阅。现有的文档管理与映像管理系统均属此类。在面向过程的WfMS中,工作流被描述成一序列执行环节。与各环节相应都有待处理的数据对象。各环节的数据对象可以按不同的方式分发到其他环节中去,如可以将数据对象的值作为控制条件、或者依此数据对象组装成其他的数据对象等。高端的WfMS一般都属此类系统。
基于邮件和基于数据库
前者使用电子邮件来完成过程实例执行过程中消息的传递、数据的分发与事件的通知。低端的系统所使用的经常就是此种方法,它可以充分发挥电子邮件系统在广域环境下的数据分发功能,但整个系统将运行于一种松散耦合的模式下。在基于数据库的WfMS中,所有的数据都保存在某种类型的DBMS中,过程的执行实际上就是对这些数据的查询与处理。高端的大规模系统所使用的一般都是此种方法。
任务推动的与目标拉动的
前者指的是从过程的开始逐步地一个环节一个环节的执行,当某个活动实例被处理完之后,后续的有关活动将被创建并被激活,由此直至整个工作流程的完成。这是目前大多数面向过程的WfMS所使用的执行方式。而在目标拉动的WfMS中,一个业务流程被看成是一个目标。过程实例执行时,该目标将被分解得到多个相互之间按一定约束条件的关联起来的可执行的多个环节,其中各环节还可以当成是子目标而进一步进行分解。在各环节均执行完毕之后,整个过程也就完成了。目标拉动是一种全新的执行方式,下一代的WfMS将具有此种特征。应该说明的是:上述分类只是从不同的角度入手的。一般来说,后面那些特点将给WfMS带来更好的灵活性,同时也将成为那些能够支持跨机构的大规模复杂工作流管理、面向关键任务的WfMS不可缺少的特征。
工作流管理系统优势
1、快速、高效、稳定的流程引擎,引擎支持大并发访问。
2、兼具人工和自动流程,具有明显的“中国流程”特色的柔性工作流。
3、灵活的部署方式,支持集中部署、分布式部署。
4、高效的流程集成、整合框架;同时支持嵌入式流程开发。
5、国内数十个行业,拥有近千个成功的客户案例。
工作流管理系统的意义
由于信息技术的发展和日趋激烈的商业竞争,人们不再满足于独立、零散的办公自动化和计算机应用,而是需要综合的、集成化的解决方案。作为一种对常规性事务进行管理、集成的技术,WFMS的出现是必然的。它可以带来以下收益:
1.改进和优化业务流程,提高业务工作效率;
2.实现更好的业务过程控制,提高顾客服务质量;
3.提高业务流程的柔性等。
4.规范行为,落实制度;
5.协同内外,快速响应;
6.监控全面,提升执行。
相关推荐
在本篇博客“用java web start来发布jbpm(三)”中,博主将深入探讨如何使用Java Web Start来发布JBPM(Business Process Management System,业务流程管理系统)。 JBPM是一个开源的工作流和业务流程管理框架,它...
【标题】"chen-jbpm_websale.zip_jbmp_jbmp_java_jbpm_jbpm_websale_网上销售系统" 提供的是一个基于JBPM(Java Business Process Management)技术的网上销售系统的示例项目。JBPM是一个开源的工作流管理系统,它...
jBPM 是一款开源的、纯 Java 的、轻量级的工作流引擎,它支持多种可执行流程语言,为商业流程管理(BPM)提供了一个强大的平台。jBPM 可以在任何 JavaEE 应用服务器或配置了 JDBC 的 JVM 上运行。 #### 二、选择 ...
【安装和配置jBPM4.pdf】则详细介绍了如何在你的开发环境中设置和启动jBPM4。这通常包括以下几个步骤: 1. 下载并解压jBPM4的最新版本。 2. 配置开发环境,如导入必要的库到IDE(如Eclipse)。 3. 创建数据库连接,...
JBPM设计之初就考虑到了与Java环境的无缝集成,其API提供了丰富的功能,便于开发者在Java应用程序中嵌入工作流逻辑。例如: 1. **流程实例的启动**:通过调用JBPM API,可以在Java代码中启动一个流程实例。 2. **...
**jbpm**,全称是Java Business Process Management,是一个开源的工作流管理系统,它提供了一整套解决方案来管理和执行业务流程。jbpm集成了工作流、规则引擎和事件处理,为企业的业务流程自动化提供了强大的工具。...
JBPM,全称JBOSS Business Process Management,是一个基于Java的开源工作流管理系统。它提供了一种灵活且可扩展的方式来设计、执行和管理业务流程。JBPM利用直观的流程语言,如任务、异步等待状态、定时器、自动化...
jBPM(Java Business Process Management)是一个开源的工作流和业务流程管理系统,它允许开发者设计、执行、管理和监控业务流程。在jBPM4中,通过图形化界面查看执行位置对于理解和调试复杂的流程至关重要。 jBPM4...
“ITcastOA_jbpm”和“java_jbpm”标签暗示了本项目中可能采用了Java语言和JBPM框架进行开发,这表明系统具备良好的可扩展性和可维护性。而“权限”标签则强调了对权限控制的重视,这是企业信息系统安全的基础。 总...
【jbpm_websale.rar】是一个包含JBPM(Business Process Management)网上销售示例的压缩包,这个实例对于初学者理解和掌握JBPM技术及其在Java Web应用中的实践非常有帮助。该实例结合了JSF(JavaServer Faces)前端...
本示例中的"python调用java,开发jbpm6.0.0工作流Application"就是一个典型的跨语言交互案例,它结合了Python和Java两种语言的优势,以实现对JBPM6.0工作流引擎的高效管理。 首先,我们来了解一下Python调用Java的...
【jbpm4.3 工作流实例与Java结合详解】 在信息技术领域,工作流管理系统(Workflow Management System,简称WfMS)是用于自动化业务流程的软件系统。jbpm(Business Process Management)是一款开源的工作流引擎,...
jbpm 数据库表介绍 jbpm 是一个基于 Java 的 workflow 引擎,用于管理和执行业务流程。jbpm 需要持久化流程部署、流程实例、任务、用户认证等信息,于是 jbpm 设计了一系列的数据库表来存储这些信息。在 jbpm 4.4 ...
jbpm是一款开源的工作流管理系统,主要面向Java开发者,它提供了强大的流程定义和执行能力,帮助企业或组织实现自动化的工作流程。jbpm-2.0-beta1是该系统的早期版本,其核心功能包括工作流引擎、流程建模工具以及一...
jbpm,全称Java Business Process Management,是一个开源的工作流管理系统,用于处理业务流程自动化。它提供了一套完整的框架,包括流程定义、执行、监控和管理等,帮助企业实现流程的灵活配置和优化。在这个"我写...
### jBPM 白皮书:介绍 jBPM 入门 #### 一、引言与背景 在当今数字化转型的时代背景下,业务流程管理(Business Process Management,简称 BPM)成为了企业提升效率、优化流程的关键技术之一。BPM 提供了一种程序...
jbpm是Java Business Process Management(Java业务流程管理)的缩写,它是一个开源的工作流引擎,主要用于管理和执行业务流程。这个“jbpm-console.rar”压缩包包含了一个基于Java的企业级OA(Office Automation)...
【jbpm jar java】——深入理解jbpm与Java的整合应用 jbpm,全称是JBoss Business Process Management,是一款开源的工作流管理系统,主要用于处理业务流程的建模、执行和监控。jbpm的设计目标是提供一个灵活且强大...
JBPM,全称Java Business Process Management,是一种开源的工作流管理系统,用于设计、执行和管理业务流程。它提供了强大的流程建模、执行、监控和管理能力,适用于各种复杂的企业级业务流程自动化场景。JBPM以其...
**JBPM介绍** JBPM是一款非常成熟且灵活的BPM(Business Process Management)解决方案,它允许开发者通过定义工作流模型来实现复杂的业务流程。JBPM的核心特性包括流程定义、流程实例管理、任务管理、规则集成、...