`

选择JBPM的10个理由

    博客分类:
  • jbpm
阅读更多
选择JBPM的10个理由:
嵌入式的工作流引擎,减少硬件投入,降低网络复杂度,降低集群复杂度
图形化开发工具,可视化流程控制台,方便的随时调度运行时流程
轻量级框架,可以发布在任何应用服务器上,连接任何数据库
支持多种流程定义语言
严格而灵活的流程版本控制
支持JAAS的安全认证机制,保证商业流程的安全
基于订阅的技术支持,可以直接获得源码开发人员的直接支持
预留Web Service、JCA、JMS等Java EE标准接口,更容易和标准Java EE程序集成
完全的Java工作流引擎,无缝移植到多种操作系统
成熟度最高的开源工作流框架,稳定性和性能经过企业级的验证
JBPM 工作流引擎
JBPM简介
BPM是一个开源的、纯JAVA的、轻量级的支持多种可执行流程语言的商业流程 管理(BPM)工作流引擎。他可以运行在任何Java EE应用服务器或者简单的配置了 JDBC的JVM中。实际生产中有很多种可执行的流程语言,每种语言都是面向特定的 业务环境。jBPM允许这些不同的流程语言都在同一种技术上建立模型,也就是流程 虚拟机(PVM)。jBPM目前支持三种不同的流程语言:jPDL,WS-BPEL 和 Seam框 架的Pageflow。未来jBPM还会支持更多的流程定义语言。jBPM提供了开发流程、发 布流程、执行流程、管理角色任务、管理商业流程、协调Web Service等功能。
jBPM技术特点
JBoss jBPM 是一个支持复杂的企业级应用的可扩展的工作流管理系统。JBoss jBPM 有直观的流程语言来表示商业流程图的术语比如,任务,异步通讯的等待状态, 定时器,自动操作等等。把这些操作绑在一起,JBoss jBPM 就有了最强大和易扩展 性的控制流机制。对于企业应用来说JBoss jBPM 只有很小的倚赖性,可以很容易的 作为JAVA库来使用,当然它也可以用在吞吐量极为关键的J2EE集 群应用服务器环 境中。JBoss jBPM 可以同任何数据库配置,可以部署在任何应用服务器上。
为什么要使用jBPM
对于企业来说,随着商业环境的发展,企业的业务流程面临越来越多的变化和 挑战,业务设计面临更大的灵活性需求,流程设计人员和程序员之间需要一个更加灵活有效的沟通方式。对于使用jBPM的企业来说至少能从以下两个方面收益:
开发部署方便
工作流管理系统能够简化企业级软件开发和维护。
降低开发风险,通过使用状态和动作这样的术语,业务分析师和开发人员使用 同一种语言交谈。这样开发人员就不必将用户需求转化成软件设计了。
实现的集中统一,业务流程经常变化,使用工作流系统的最大好处是:业务流程 的实现代码,不再是散落在各种各样的系统中 。
加快应用开发,你的软件不用再关注流程的参与者,开发起来更快,代码更容 易维护。
部署更加方便,流程的改变不需要把全部的代码重新部署,而只是需要更改一 下商业流程的描述文件。
业务流程管理
使用jBPM可以提高业务流程管理的效率,可以更加灵活的控制业务流程,使流 程可以按照业务的需要重新设计。并且在开发过程中更加重点的关注流程,从而使流 程更加流畅和简单。同时使用jBPM可以提高对迭代开发的支持。如果软件中业务流程 部分不容易更改,企业就会花很大的精力在开发前的业务流程分析中,希望一次成 功。但是现实是,在任何软件项目开发中,这都很少能实现。工作流系统使得新业务 流程很容易部署,业务流程相关的软件可以一种迭代的方式开发,因此使用工作流 系统使开发更有效、风险更低。
jBPM可以完全的记录流程的执行情况,每一步的操作都是被记录到数据库中, 可以方便以后的审计和报表生成。
在您的JAVA应用中嵌入多种流程定义语言
jBPM开发工具中包含了不同的子项目,它包括了一个流程虚拟机(PVM),一 个可视化图形工具(GPD),jPDL支持包,BPEL支持包。

流程虚拟机(PVM)
流程虚拟机(PVM)是一组简单的JAVA类库,用来生成和执行不同流程语言 所定义的商业流程。它是所有类型工作流、商业流程管理(BPM)和流程语言的基础。 jBPM的流程虚拟机是嵌入式的,传统的工作流技术一般是提供一个独立的工作流服 务器,然后通过和工作流服务器建立连接交换消息。这种重量级的设计方案对于传统 的系统来说部署代价太高,不容易使用。PVM是建立在嵌入式的流程管理概念上的, 这就意味着工作流引擎是应用程序的一部分,在持久化工作流的时候jBPM的数据库 表结构可以是应用数据库中的一部分。并且PVM是运行在独立的,完全的JAVA环境 中,也就是说PVM可以是Swing程序的一部分,可以是Web应用的一部分或者是 企业级JAVA EE的一部分,可以使用或者不使用数据库的支持。PVM支持多种流程 定义语言,不同的语言在运行时被翻译为一组JAVA接口,所以对于jBPM来说开发 一种支持的流程定义语言是简单的,企业可以很方便的扩展PVM所支持的语言,来 实现特定领域和行业的流程定义语言。
jPDL(JAVA工作流定义语言)
jPDL是具有出色的建模框架、强大的任务管理的与JAVA完全集成的流程定义语 言。它是一种紧凑的、简洁的、可读性很强的XML格式的语言。jPDL支持商业分析师和 软件开发人员的合作。首先jPDL是可视化开发的,它可以简单方便的定义流程。其次, 开发人员可以完全不关注商业流程,而把注意力放在技术细节上。jPDL有一个图形开 发工具,它可以把图形表示的流程和XML语言实时的同步。jPDL可以在XML中嵌入 简单的JAVA代码,可以使系统在不重新编译的情况改变行为模式。

BPEL(SOA流程定义语言)
BPEL是面向服务(SOA)的流程定义语言的标准。它是基于WSDL和企业服务 总线的(ESB)强大的集成技术。使用BPEL,所有的应用通过企业服务总线进行沟 通和调用,可以通过简单的脚本在原有的服务的基础上定义新的Web Service,然后 把新的服务发布在企业服务总线上。


流程的图形设计工具
jBPM包含了一个图形化设计流程的工具(GPD)。它是一组eclipse插件,最 初是专门用来设计jPDL的图形化流程的,后来随着Seam使用jBPM来定义页面跳 转流程,GPD同时也添加了支持Seam PageFlow的功能。用户可以使用GPD来设计、 测试、发布、监控商业流程。另外程序开发人员可以利用GPD很方便的实现单元测试。
JBPM的特点和优势
嵌入式的工作流引擎
jBPM是完全的嵌入式的工作流开发平台,区别于传统的工作流平台,它不需要 独立的工作流服务器,减少了硬件的投入,同时减低了应用部署的网络复杂度,使 应用更加容易的实现集群。企业可以把jBPM作为企业应用的一部分,在它的基础上 开发自己的模块和功能。在应用部署时,只需要把jBPM作为JAVA Library发布就可以了。
图形化开发工具
jBPM提供了图形化的开发工具(GPD)。商业分析师可以简单的利用图形开发 工具画出商业流程而不关心具体实现。然后程序员可以在此基础上添加技术细节,包 括各种任务和节点的属性以及XML的源代码。开发人员可以利用图形化开发工具实时 的发布和测试商业流程。
轻量级、100%纯java实现
jBPM为100% java实现,不包含本地代码,最大限度的实现跨平台,跨数据 库的支持。
开源及独特的订阅服务模式
开放源代码。对源代码的访问可以帮助用户快速定位故障所在
产品的透明度。用户可以在 jira.jboss.com查看产品的发展路线图,并实时查看新特性和bug修复进展
用户对产品的影响力。用户可以在jira.jboss.com提交申请和投票决定jBPM产品的发展方向,需要增加哪些新特性
基于订阅的模式。降低了企业成本,提高了投资回报率。用户可以与产品的核心
开发人员得到直接的联系,得到开发支持
支持多种流程定义语言,灵活且易于扩展
jBPM目前支持jPDL,BPEL,Seam Pageflow三种流程定义语言。它具有开放 的扩展接口,用户可以很简单的通过实现这些开放的接口来支持其他的流程定义语言。
可视化管理工具平台
jBPM有一个基于浏览器的管理平台,它可以实时的监控工作流引擎内的流程运 行的情况,包括变量内容,流程状态,角色的任务列表等信息,并且可以实时的调 度流程。同时还可以管理不同版本的流程定义。
分享到:
评论
1 楼 xyz20003 2010-07-16  
呵呵,混着说jbpm3和jbpm4。

jbpm3里支持bpel, jpdl, pageflow。但是不支持pvm
jbpm4支持pvm,支持jpdl和bpmn2,但是不支持bpel和pageflow。

相关推荐

    jbpm选择理由及其优势

    ### jBPM选择理由及其优势详解 #### jBPM概览与核心优势 jBPM,作为一款开源的、纯Java的、轻量级的工作流引擎,为商业流程管理(BPM)领域带来了革命性的解决方案。它不仅能够在任何JavaEE应用服务器或简单的JDBC...

    jbpm简介\jbpm简介

    #### 二、选择jBPM的十大理由 1. **嵌入式的工作流引擎**:jBPM采用嵌入式设计,这意味着它可以作为应用程序的一部分运行,无需额外的硬件投入,降低了网络和集群的复杂度。 2. **图形化开发工具**:提供可视化...

    jbpm介绍jbpm介绍jbpm介绍jbpm介绍jbpm介绍

    #### 二、选择 jBPM 的十大理由 1. **嵌入式工作流引擎**:jBPM 作为嵌入式引擎减少了硬件投入,降低了网络和集群的复杂度。 2. **图形化开发工具**:提供可视化流程控制台,便于随时调度运行中的流程。 3. **轻量级...

    jbpm4jbpm5

    jbpm4jbpm5是关于jbpm流程管理框架的专题,涵盖了jbpm4和jbpm5两个主要版本。jbpm是一个开源的工作流管理系统,用于帮助开发者实现业务流程自动化。以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. *...

    jbpm的一个实例

    JBPM是一个扩展性很强的工作流系统,百分百用JAVA语言开发,持久层采用Hibernate实现,理论上说,只要Hibernate支持的数据库JBPM都支持。同时它还能被部署在任何一款JAVA应用服务器上 JBPM的工程文件,大家可以到...

    jbpm jbpm4.3.jar

    jbpm jbpm4.3.jar DDDDDDDD

    jbpm 数据库jbpm 数据库

    jbpm中的任务(Task)代表了流程中的一个工作单元。`ACT_RU_TASK`表存储任务的基本信息,如任务ID、任务名称、分配的用户或组、所属的流程实例等。任务可以被创建、领取、完成或转让。 4. **变量与执行上下文** ...

    jbpm4.0三个例子

    【jbpm4.0三个例子】是关于jbpm4版本的工作流管理系统实例的分享,主要在MyEclipse 7.5和Eclipse 3.42环境下运行。jbpm(Java Business Process Management)是一个开源的工作流和业务流程管理平台,它提供了一套...

    jbpm-3.1.2.zip_jbpm_jbpm 3.1.2_jbpm-3.1.2.rar_jbpm3.1.2_工作流

    jbpm-3.1.2.zip 文件包含...无论是对于企业内部的流程优化,还是为客户提供定制化的流程解决方案,jBpm都是一个值得信赖的选择。通过深入学习和实践,开发者可以充分利用其特性,构建出符合业务需求的复杂工作流系统。

    jbpm开发指南--jbpm全面介绍

    通过查看JBPM的表,我们知道要实现流程监控功能就是把JBPM当中的JBPM_PROCESSDEFINITION(已发布的流程表),JBPM_PROCESSINSTANCE(流程实例表),JBPM_TASKINSTANCE(流程产生的任务实例表)这三张表串联起来就可以...

    jbpm 案例 jbpm jbpm

    jbpm使用案例,非常不错,大家都来看看吧。

    jBPM3.2.rar_JBPM3.2_jbpm_jbpm 3.2_jbpm3_jbpm3.2教程

    4. **数据库连接**:jbPM需要一个数据库来存储流程实例、任务等信息,你可以选择MySQL、Oracle等常见数据库,配置相应的数据库连接信息。 5. **IDE集成**:jbPM可以与Eclipse、IntelliJ IDEA等IDE集成,安装对应的...

    MyEclipse 10 JBPM 配置

    在MyEclipse 10的安装目录下创建一个名为myPlugins的新文件夹,然后将JBPM安装目录下的`eclipse/features`和`plugins`两个文件夹复制到myPlugins文件夹中。 ### 第七步:配置MyEclipse插件链接 在MyEclipse的`...

    jbpm学习笔记jbpm学习笔记

    jbpm(Java Business Process Management)是一个开源的工作流和业务流程管理系统,它允许开发者设计、执行、管理和监控业务流程。在本篇jbpm学习笔记中,我们将深入探讨如何安装jbpm插件,配置运行环境,发布流程...

    jbpm

    总的来说,jbpm是企业级流程管理的强大工具,与Struts2的整合可以为企业提供一个灵活且可扩展的业务流程解决方案。通过深入研究提供的源码和相关工具,开发者不仅可以提升自己的技能,还能在实际项目中实现高效的...

    jbpm白皮书 介绍jbpm 入门

    jBPM 通过提供一个强大的执行引擎、一套丰富的服务组件和一套完善的工具链,使得开发者能够更加便捷地设计、实现和监控业务流程。 #### 三、jBPM 的三大核心组件 1. **执行引擎**:这是 jBPM 的核心部分,负责解析...

    jbpm4web-JBPM4的一个web版本的Demo

    "jbpm4web"是基于JBPM4开发的一个Web版本的示例项目,旨在帮助学习者更直观地理解和应用JBPM4的核心功能。这个Demo涵盖了业务流程的创建、发起、驳回和删除等关键操作,为初学者提供了一个实践平台。 1. **流程设计...

    一个Jbpm实例代码

    10. **工作流调试**:Jbpm提供了强大的调试工具,例如流程跟踪视图,可以帮助开发者在运行时查看和分析流程实例的状态。 学习这个Jbpm实例代码,你需要理解上述概念,并通过阅读源代码来了解如何将这些概念应用到...

    jbpm数据库表介绍

    jbpm 是一个基于 Java 的 workflow 引擎,用于管理和执行业务流程。jbpm 需要持久化流程部署、流程实例、任务、用户认证等信息,于是 jbpm 设计了一系列的数据库表来存储这些信息。在 jbpm 4.4 中,主要使用的数据库...

Global site tag (gtag.js) - Google Analytics