选择JBPM的10个理由

选择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有一个基于浏览器的管理平台,它可以实时的监控工作流引擎内的流程运 行的情况,包括变量内容,流程状态,角色的任务列表等信息,并且可以实时的调 度流程。同时还可以管理不同版本的流程定义。

你可能感兴趣的:(应用服务器,jboss,jbpm,企业应用,seam)