`

jBPM5 RFC译

阅读更多

jBPM5 RFC(请求评论文档)

原文:http://community.jboss.org/wiki/jBPM5RequestforComments

译:liuu 2010-05-06

 

本文论述关于jBPM5的整体架构和关键特性,我们热烈欢迎并感谢关于本文的任何反馈(包括那些你认为应该包含,但在文档中没有提到的内容)。让我们了解你最关心的,找出最重要的,以便我们安排优先级。这将作为创建jBPM5路线图的基础,是时候给出你们的反馈了。

 

jBPM5将基于jBPMDrools Flow经验的结合。这次组合,将结合两个方案的优点。

 

声明:本文并未描述jBPM5路线图,根据反馈情况,可能会增减一些特性。

 

架构

下图描述了(计划的)jBPM5架构,每个组件将在后面详细解释,并说明关键特性。

 

 

核心流程引擎

核心流程引擎(工作流)能够执行你的流程,引擎将强烈关注BPMN2(以XML格式保存流程定义)。BPMN2不仅定义一套业务流程的图形化表述标准(如BPMN1.1),现在还包含了所定义元素的执行语义,和如何保存(和共享)流程定义的XML格式。这套标准化的格式将作为主要的流程定义语言,我们将尝试提供一种(半自动化的、用户辅助性质的)迁移方式,将jPDL3.x)转换为BPMN2

 

(核心引擎)提供API来发起和推进流程实例、管理你的流程实例等,并可以配置和集成到不同的上下文环境。

 

关键特性:

1、  干净的API

2、  原生的BPMN2执行

3、  可嵌入(从类似一个简单的Java POJO组件在应用中嵌入运行,到作为一个独立的服务运行)

4、  基于流程虚拟机(PVM),支持在同一个流程引擎上定义多种流程语言

5、  其他非功能性需求,如持久(JPA)、事务(JTA,其他)、性能等

6、  集群

7、  事件监听,审计,历史日志

8、  流程实例迁移,让你可以升级正在运行的流程实例到新的流程定义版本

 

在支持完整的BPMN2规范之前,作为中间的里程碑,我们将首先尝试支持BPMN2规范中的“公共可执行”子类(它们是可执行流程规范中的所有已定义元素的子集,只支持最常用的节点类型)

 

人工任务

在有任务需要人工参与者来交互执行时,人工任务非常重要,它包括如下及个部分:

1、  人工任务服务:管理任务生命周期的后端服务。流程引擎自身并不绑定某个特定的实现,而是支持插接这种实现。默认将提供一个基于WS-HTWS-HumanTask)规范的独立实现,该规范描述了像生命周期(分配、获取、完成、释放(release)等)之类的内容,也包括群组分配、扩大(escalation)、分配规则等

2、  人工任务控制台:一个基于Web的应用,可用来查询任务列表,填写任务表单等。这个控制台的目标,是最终用户(那些将在流程中执行任务的参与者)。延续现有BPM控制台中已有的人工任务管理部分。

3、  表单编辑器:支持创建自定义任务表单(在需要完成任务时显示)。该编辑器的目标是开发人员,将提供基础的(类HTML的)任务表单辅助创建功能。可以集成不同的任务表单方案,默认将提供基于xforms(或类似方案)的表单编辑器。

 

流程仓库

(逻辑)集中的流程仓库可以保存和管理流程(和相关的交付件),它同样也包括一个基于Web的控制台,提供个业务用户,用于管理流程。他们可以检视流程,甚至可能动态的更新流程,创建和重新部署更新的知识库。支持对交付件的分类、检索、协作和部署前的场景测试等特性。另外也包括通过Eclipse或文件系统与该仓库集成。延续Drools项目中当前Guvnor仓库部分的功能。

 

BPM控制台

这是一个用于管理流程实例的基于Web的控制台。它包含如下特性:管理流程实例(启动、停止)、检查它们的状态和变量等。这个控制台的目标用户是开发者(希望快速的测试他们的流程)和管理员(管理在运行的流程)。延续现有BPM控制台的流程管理功能。

 

基于Eclipse的流程工具

这是一个Eclipse插件,帮助用户定义他们的BPMN2流程。它包括一个图形化编辑器,定义你的业务流程为流程图(使用拖拽方式和属性面板),目标用户是开发者。当然,它也提供验证、测试、调试等附加功能。

 

基于Web的流程工具

一个基于WebBPMN2流程定义工具,目标用户是业务人员。该工具延续Oryx/Signavio合作团队提供的基于WebBPMN2流程编辑器。

 

仿真

提供仿真执行流程的能力。比如,你可以(手动或自动)模拟流程的某条路径(或其他替代路径),也可以基于历史数据或统计输入,测量流程的时间和资源使用情况。这部分是jBPM3项目的实验性仿真模块的延续。

 

BAM/BI

这部分可划分为下面几个部分:

1、  报表编辑器:使用Eclipse BIRT插件创建报表,展示关键性能指标。使用预定义的数据集,可以很容易定义你自己的报表,这些数据集包含所有的流程历史信息,也可以包含你自己需要加入的其他数据集。Eclipse BIRT框架允许你定义数据集,创建报表、图表等。这部分是BPM控制台报表部分的延续。

2、  报表控制台:基于Web的控制台,可以动态生成和展示BIRT报表。目标用户是业务人员,这部分也是BPM控制台报表部分的延续。

3、  BAM引擎:业务活动监控(BAM)将实时监控你的流程的执行,并能够即时响应事件。BAM引擎允许你组合各种来源的事件,搜索事件模式,产生高层事件,响应关键场景等。这是服务活动监控项目(SAM)的一部分,基于Drools Fusion作为负责事件处理(CEP)引擎。

4、  BAM控制台:基于Web,用来获取系统的实时状态概貌。包括仪表盘概览、图形等,目标用户为业务人员,也是SAM项目的一部分。

 

可用性

领域特定流程:通过领域特定阶段,可以容易地扩展流程工具箱。它允许用户使用自己更熟悉的领域特定概念,来建立他们的流程模型。

 

安装脚本:简化引擎安装,包括Eclipse插件和Web工具,可以用来快速的生成一个安装好的示例。

 

持续集成和质量保证:基于Hudson,就像jBPMDrools现在做的。

 

文档:(暂无内容)

 

OSGI:(暂无内容)

 

集成

与各种其他项目集成:

1、  Drools:与其强制用户在流程中定义他们的业务知识(如使用一种面向流程的方式),我们支持用户组合使用业务流程、业务规则和事件处理来建立他们的知识模型。通过集成流程、规则和事件,用户可以选择最适合他们自己需求的方式,并组合他们。这也意味着用户只需要学习一种统一的方案,因为工具提供了无缝的集成,无论你使用的是流程、规则还是事件处理。最后,你会看到一种转变,从面向流程的方式,到更面向知识的方式(包括API、工具等)。

2、  认证/授权:要对系统提供不同级别的访问时,必需要有一套含可配置访问许可的安全模块。这需要集成现有的认证授权服务(如PicketLink

3、  JBoss ESB:流程引擎可以作为服务部署到Jboss企业服务总线(ESB)。这样,流程引擎可以作为不同服务之间的编排引擎,这些服务可以都通过服务总线访问到。

4、  JOPR:对JMX标准的支持,使得用户可以使用任何JMX控制台,监控和检查流程定义和运行时。

 

关于本提议的任何反馈,我们都非常欢迎,可以使用jbpm-dev@lists.jboss.org邮件列表,或者将你的意见建议,以私人方式,反馈给你的JBoss联系人。如果你想订阅jbpm-dev邮件列表或浏览归档邮件,请使用:http://lists.jboss.org/mailman/listinfo/jbpm-dev

 

 

liuu9@163.com

liuu.iteye.com

3
2
分享到:
评论
1 楼 chenchuan 2011-07-12  
不错,但是感觉jbpm5给开发人员的的上手时间比较长,不想jbpm4或者以前的版本那个快和简洁

相关推荐

    jbpm4jbpm5

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

    jbpm5安装DEMO

    ### jBPM5安装与配置详解 #### 一、引言 jBPM5是一款开源的工作流和业务流程管理(BPM)框架,基于Java语言,由JBoss提供支持。它提供了一套全面的工具和服务,用于设计、执行和监控业务流程。本文将详细介绍jBPM5...

    jbpm5环境配置、中文文档

    **jbpm5环境配置** jbpm5是一款开源的工作流管理系统,它提供了强大的业务流程管理和工作流功能。在开始使用jbpm5之前,首先需要进行环境配置。以下是对jbpm5环境配置的详细步骤: 1. **Java环境安装**:jbpm5基于...

    jboss jbpm 5 developer guide

    本书《jBPM5 Developer Guide》是一本专注于JBoss jBPM5框架的Java开发者指南,由Mauricio Salatino和Esteban Aliverti撰写,2012年由Packt Publishing出版。jBPM5是JBoss企业业务流程管理(Business Process ...

    JBPM5基于tomcat web的应用

    【JBPM5基于Tomcat Web应用详解】 JBPM5是一个开源的工作流管理系统,它提供了全面的业务流程管理和工作流解决方案。这个项目是一个基于Web的JBPM5.2实例,特别设计用于在Apache Tomcat服务器上运行。理解这个应用...

    JBPM5工作流引擎 S2SH+JBPM4.4开发工作流的一个完整的请假流程例子

    JBPM5工作流引擎 S2SH+JBPM4.4开发工作流的一个完整的请假流程例子。带有文档教程和所有源码+JAR包。在网上找了半天jbpm6\jbpm7的资料,都很少。所以 环境:Myeclipse2015 JDK1.7 mysql 5.0 Struts2+Spring3.1 1...

    jBPM5_用户手册-中文版

    jBPM5 用户手册 jBPM5 是一个开源的工作流和业务流程管理(BPM)框架,专注于灵活、可扩展且与Java平台紧密结合的解决方案。这个用户手册旨在为用户提供全面的指南,涵盖从安装、建模、部署到执行和监控整个业务...

    jbpm5入门学习

    jbpm5入门学习资料

    JBPM5入门学习.doc

    ### JBPM5入门学习知识点详解 #### 一、JBPM5简介 **1.1 什么是JBPM** JBPM(Java Business Process Management)是一个开源的业务流程管理框架,旨在为开发者提供一个简单、灵活且可扩展的平台来设计、执行和...

    JBPM5 整合Spring3经典案例

    **JBPM5 整合Spring3经典案例** JBPM5是一个功能强大的工作流管理系统,而Spring3则是一个广泛使用的Java企业级应用框架。将这两者整合可以实现灵活的工作流程管理和强大的业务逻辑处理。本案例主要关注如何在JBPM5...

    jbpm4.1和jbpm5开发手册

    jbpm4.1和jbPM5是两个不同版本的Java Business Process Management(业务流程管理)框架,主要用于构建和管理业务流程。jbPM是Talend公司的一个开源项目,它提供了全面的工作流和业务流程管理解决方案,深受Java...

    JBPM5请假实例,完整版

    JBPM5是一个开源的工作流管理系统,它允许开发者设计、执行和管理业务流程。在这个"JBPM5请假实例,完整版"中,我们将深入探讨如何利用JBPM5来实现一个具体的请假流程,以及在这个过程中可能遇到的关键配置问题。 ...

    JBPM5 插件安装

    【JBPM5 插件安装】 JBPM5(JBoss Business Process Management)是Red Hat公司推出的一款开源工作流管理系统,它允许开发者设计、部署和执行业务流程。在JBPM5中,插件的安装是扩展系统功能的重要手段,能够帮助...

    jbpm5源代码

    jbpm5是一款非常著名的工作流管理系统,其源代码的开放为开发者提供了深入理解工作流引擎运作机制的机会。jbpm5的核心在于提供一个可扩展且灵活的业务流程管理平台,允许开发者设计、执行、管理和监控业务流程。以下...

    jbpm5_持久化及流转流程剖析

    jbpm5是一款基于Java的企业级工作流管理系统,它在企业应用中主要用于管理和自动化业务流程。持久化和流转流程是jbpm5的核心功能,对于理解其工作原理和实际应用至关重要。 一、jbpm5简介 jbpm5是Business Process ...

    JBPM5用户指南

    **jBPM5用户指南** jBPM5是一款开源的工作流管理系统,专为处理业务流程自动化而设计。它提供了一套全面的工具和框架,帮助开发者实现复杂的业务流程管理(BPM)解决方案。本用户指南将详细介绍如何使用jBPM5进行...

    jbpm5完整的例子

    【jbpm5完整的例子】是针对企业业务流程管理(Business Process Management, BPM)的一个实践教程,其中涵盖了jbpm5框架的多个核心功能和用法。jbPM是一个开源的工作流管理系统,它提供了强大的流程定义、执行和监控...

Global site tag (gtag.js) - Google Analytics