`
xinklabi
  • 浏览: 1590905 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

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
JBPM案例流程图

  JBPM案例流程图

,成为了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将数据的管理职能分离出去,自己专注于业务逻辑的处理。

编辑本段工作流程

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函数开发相应的工作流程。
jBPM能否适应“中国国情”的流程应用?
——以下内容摘自《jBPM4工作流应用开发指南》第20章 “中国特色工作流的jBPM实现”: 目前,中国内地对于工作流管理系统的应用主要还是集中于“人工流程”,也就是以人工任务密集型的工作流应用为主。主要原因在于国内的信息化系统建设还远不及欧美发达国家成熟,系统多是以新建和推倒重来为主,很少有经过长期稳定运行的“沉淀”系统,因此工作流管理系统中用于应用集成的相关自动活动功能就很少能得到施展,工作流管理系统大部分的应用还是集中在需要人工干预的“任务”上。这也可以解释为何在欧美国家大行其道的EAI(企业应用集成)产品在国内市场并不普及的原因。 …… 同时从jBPM项目本身来说,其作为一款基于西方业务流程管理思想设计的工作流框架,更多的是关注“如何辅助开发者更容易的让流程运行完成”,而不是关注“记录流程运行的历史和轨迹”。 因此,jBPM项目从设计上就没有考虑“回退”、“取回”、“会签”、“委派”等业务场景。这也是因为东西方文化的差异之所在:例如回退,西方人认为“往回流转的情况肯定也是一种业务流程规则的定义,那么肯定可以通过分支或条件流转的设计来解决”,而国内则常常把回退作为一个“人性化管理和处理的潜在规则”来看待,并且认为这是一个合理的需求。 本章的目的就是:提出这些具有中国特色的(当然这并不是中国所特有的)业务流程问题,在jBPM4的架构基础上分析解决这些问题的思路,并给出一种解决方案供参考。

编辑本段发展状况

工作流系统 (workflow management systems) 还处于技术发展曲线( technology hype curve ) 上的初级阶段。 在这个领域我们将面临一个激动人心的阶段。 为了描述这一点, 可以和关系数据库系统(RDBMS) 做一个对比。 当在软件开发团队中谈论RDBMS 时,大部分人会有一个清晰的概念, 在你和他们交流的时候, 人们会通过轻微的点头表示认可或理解你所说的。 可当使用工作流术语讨论工作流时, 他们会摇头表示不同意, 因为每个人对工作流术语都有不同的理解。 导致形成这种状况的原因之一, 是在工作流中使用了过多的概念。 在这个领域中的大量规范和工具没有一个是相似的。 当然, 它们相互之间有重叠并且会相互参考引证。 在介绍工作流时有一个话题必须包括, 那就是工作流和业务流程管理(BPM) 的关系。 术语“工作流” 通常描述人与计算机系统的一系列相关交互。 在开发人员中, 工作流经常被提及。 有时, 工作流的意思是指一些不同的UI 界面。业务流程管理的范围比较广, 相比之下工作流多半局限于技术领域。 业务流程管理还从管理人员的角度涉及了非技术问题, 比如分析、 组织的效率。 在本文中, 我首先解释什么是工作流管理系统, 然后介绍业务流程管理的优点。 接下来描述一下为什么工作流市场乍看起来如此混乱。 本文给出的主要结论是: 选择工作流系统是想用工作流系统的公司, 将要面对的最困难的事情。 为此, 本文的核心部分描述了一个流程定义(process definition) 的四个层次, 为你选择工作流提供一个基础。

编辑本段JBPM举例

表达了一个抽象的流程定义,之所以说是抽象,因为她没有表示确切的执行者,比如某借款人被具体化为张三,部门主管成为张三的部门经理李四,而财务明确为王五的时候,这个流程定义就被具体化,成为一个流程实例。此外过程中的相关人员我们称之为参与者Actor,过程需要参与者介入的环节称之为Task,每—个任务在流程实例中的具体化称之为任务实例,从一个任务结点到另一个任务结点转为叫做流转(Transition),在流程中,由程序预先设定的行为如发邮件,我们称之为活动Action
分享到:
评论

相关推荐

    jbpm工作流引擎总结文档

    jbpm工作流引擎基于J2EE的轻量级,纯java,开源的工作流管理系统。

    jbpm工作流引擎介绍

    在`jbpm工作流引擎介绍.ppt`文件中,可能包含了对这些步骤的详细图解,展示了每个步骤如何在jbpm中建模,以及流程实例在不同阶段的变化。此外,还可能涵盖了如何配置工作流规则、如何定义和分配任务,以及如何使用...

    JBPM工作流引擎内核设计思想及构架笔记分享

    JBPM 工作流引擎内核设计思想及构架笔记分享 上文提到,工作流引擎内核是一种微内核的流程引擎架构,它只包含最基本的对象和服务,以及用于解决流程运行问题的调度机制和执行机制。引擎内核的设计思想是围绕着如何...

    jbpm工作流引擎介绍.ppt

    【jbpm工作流引擎介绍】 工作流引擎是用于自动化业务流程的软件,它负责定义、执行和管理这些流程。在企业环境中,常见的业务流程包括请假、报销、公文审批等。工作流引擎通过内置的人工任务功能,确保在流程自动化...

    李腾飞JBPM工作流引擎代码test01到test04

    【李腾飞JBPM工作流引擎代码test01到test04】是一系列关于使用JBPM工作流引擎进行程序开发的示例代码。JBPM(Java Business Process Management)是一款开源的工作流管理系统,它允许开发者设计、执行和管理业务流程...

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

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

    Jbpm工作流引擎使用例子

    在这个"Jbpm工作流引擎使用例子"中,我们可以深入学习如何利用Jbpm进行流程的创建、流程实例的启动与管理,以及如何将其与Java、Hibernate等技术结合使用。以下是关于这些知识点的详细讲解: 1. **Jbpm工作流引擎**...

    JBPM工作流引擎

    JBPM工作流引擎是一种基于Java的开源工作流管理系统,它允许开发者和企业构建、部署和管理业务流程。JBPM提供了全面的工作流解决方案,包括流程设计、执行、监控和优化,旨在提高工作效率,简化复杂的业务操作。 ...

    jbpm工作流引擎——jbpm-3.1.4.jar

    jbpm-3.1.4.jar,jbpm工作流引擎jbpm工作流引擎

    jbpm工作流整合

    jbpm工作流整合是一个关键的主题,它涉及到企业级业务流程管理(BPM)系统的实施与集成。jbpm是一个开源的工作流管理系统,它提供了一套全面的工具和框架,用于设计、执行、监控和优化业务流程。这个压缩包可能包含...

    jbpm 工作流引擎

    ### jBPM 工作流引擎关键知识点解析 #### 一、概述 - **jBPM**:全称为 JBoss Business Process Management,是由 JBoss 开发的一款开源工作流管理系统。该系统提供了高度灵活且易于扩展的功能,适用于各种复杂的...

    JBPM工作流引擎技术内幕

    我写的一份工作流教程,ppt格式。 JBPM工作流引擎技术内幕2.1。 介绍了主流的开源工作流引擎,并深入探讨了JBPM工作流引擎的技术内幕。 这篇文档是为了向我逝去的工作流岁月致敬!

    工作流引擎开发包jbpm

    jbpm工作流引擎是一款强大的开源工作流管理系统,用于构建企业级的应用程序,它允许开发者定义、执行和管理工作流程。jbpm的核心功能包括流程定义、流程实例管理、任务管理和监控。这款开发包是针对版本3.2.GA的,这...

    jbpm和shark工作流引擎对比.doc

    jbpm和shark工作流引擎对比 本文对jbpm和shark工作流引擎进行了深入的比较,涵盖了稳定性、易用性、灵活性、可监管性、扩展...jbpm和shark工作流引擎各有其优缺,选择哪一个需要根据企业的具体需求和业务流程来决定。

Global site tag (gtag.js) - Google Analytics