`
gaojingsong
  • 浏览: 1210467 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【JAVA之工作流介绍】

阅读更多

理解JBPM(java Business Process Management)的基本概念:

 

JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。jBPM是公开源代码项目,使用它要遵循 ASL(Apache License Version 2.0)和EULA(JBoss End User License Agreement)协议。

 

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.

 

jBPM的另一个特色是它使用Hibernate来管理它的数据库。Hibernate是目前Java领域非常流行的一种数据存储层解决方案,只要是 Hibernate 支持的数据库, jBPM 也就支持。通过Hibernate,jBPM将数据的管理职能分离出去,自己专注于业务逻辑的处理



 

 

jPDL - JBPM Process Definition Language

 

JBPM简要过程:

1、定义流程(利用JPDL)

2、部署流程(部署到数据库)

3、创建公文并与流程实例绑定

4、可通过JBPM的接口,触发流程向下流动

5、可通过JBPM的接口,获得流动到某个用户那里的文档(即待处理任务列表)

6、可通过JBPM的接口,结束某个用户的任务(这将触发流程继续向下流动)

7、如此,直到结束

 

 

工作流是一项分离业务操作和系统流程的技术。工作流由实体(Entity)、参与者(Participant)、流程定义(Flow Definition)、工作流引擎(Engine) 四部分组成。

① 实体是工作流的主体,是需要随着工作流一起流动的物件(Object)。例如,在一个采购申请批准流程中,实体就是采购申请单;在公文审批流程中,实体就是公文。

② 参与者是各个处理步骤中的责任人,可能是人,也可能是某个职能部门,还可能是某个自动化的设备;

③ 流程定义是预定义的工作步骤,它规定了实体流动的路线。它可能是完全定义的,即对每种可能的情况都能完全确定下一个参与者,也可能是不完全定义的,需要参与者根据情况决定下一个参与者;

④ 工作流引擎是驱动实体按流程定义从一个参与者流向下一个参与者的机制

前三个要素是静态的,而第四个要素是动态的,它将前三者结合起来,是工作流的核心组成元素。



 

 

工作流程

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函数开发相应的工作流程。

  • 大小: 14.4 KB
  • 大小: 7 KB
0
0
分享到:
评论

相关推荐

    java实现工作流

    通过Java工作流,企业可以优化业务流程,减少人为错误,提高工作效率,同时增强业务流程的透明度和可追溯性。 总之,Java实现工作流提供了一种强大且灵活的方法来自动化和管理复杂的业务过程,结合Web技术和其他...

    Java工作流源码

    Java工作流源码是用于实现工作流自动化的一种编程资源,它可以帮助开发者构建高效、可扩展的企业级业务流程管理系统。在Java领域,工作流通常涉及到BPM(Business Process Management)技术,用于管理和优化组织内的...

    java实现工作流,有实例

    提供的“java实现工作流.doc”文档很可能是详细介绍了如何使用Java与Activiti或类似框架配合,逐步实现上述步骤的示例。文档可能包含如何创建和部署流程定义,如何在Java代码中启动和驱动流程,以及如何处理任务和...

    Java实现工作流技术简介

    工作流技术是组织内部自动...了解并掌握常见的Java工作流框架,结合Web技术,可以开发出满足不同需求的业务流程管理系统,提升企业的运营效率。通过学习提供的文档,可以从基础到实践,逐步掌握Java工作流的实现方法。

    java 实现工作流

    Java实现工作流的技术方案,为提高业务效率和客户服务体验提供了有效的工具。本文将深入探讨Java如何应用于工作流系统,以及这一技术的优势。 工作流(Workflow)是业务流程在计算机环境中的自动化体现,它涵盖了多...

    Java实现工作流 中文WORD版

    本资源主要介绍 Java 实现工作流的相关知识点,涵盖工作流的概念、MVC 工作模式、JSP 技术等。 工作流的概念 工作流是指在一个系统中,按照某种规则和顺序执行的一系列任务或活动的集合。工作流可以自动化业务流程...

    Java开源工作流引擎.pdf

    2. OpenWFE:OpenWFE是一个开放源码的Java工作流引擎。它是一个完整的业务处理管理套件,包括一个引擎、一个工作列表、一个Web界面和一个反应器(存放自动代理)。OpenWFE可以与用户的程序很好地集成。 知识点:...

    开发java工作流范例

    在IT行业中,Java工作流(Workflow)是一种自动化业务流程的技术,它允许开发者模拟和执行复杂的业务逻辑。在“开发java工作流范例”这个主题中,我们将深入探讨如何定义、生成以及实现工作流实例,特别是在Java环境...

    java 工作流简介

    Java工作流简介 工作流是一种自动化业务流程的技术,它定义了任务如何在不同参与者之间传递,以及这些任务如何根据预定义的规则和条件进行处理。在Java世界中,有许多开源的工作流引擎,可以帮助开发者实现复杂的...

    java实现工作流完整报告

    Java工作流解决方案能有效提升电信行业的业务处理能力,通过自动化流程管理降低成本,提高客户满意度。随着JSP和相关技术的普及,该系统具备良好的可移植性和可扩展性,适应未来的业务发展。 本报告详细介绍了Java...

    java工程中使用Activiti工作流技术

    在Java工程中使用Activiti工作流技术,我们可以实现复杂的业务流程自动化,从而提高效率和管理水平。首先,我们需要理解工作流的基本概念。工作流(Workflow)是指在计算机环境中自动化执行的业务过程,它涉及文档、...

    Java四大主流开源工作流引擎分析Shark,osworkflow,jbpm,jflow

    Java平台上的工作流引擎在企业级应用中扮演着至关重要的角色,它们帮助企业自动化业务流程,提高效率。本文将深入分析四个主流的开源工作流引擎:Shark、osworkflow、jbpm和jflow。 首先,Shark是Enhydra项目的一...

    Java开源工作流引擎snaker

    Java开源工作流引擎Snaker是一款高效、灵活且易用的工作流引擎,专为Java开发者设计。它提供了完整的流程定义、执行、监控以及管理功能,帮助开发者快速构建具有工作流功能的应用系统。Snaker1.01是非Maven版本,这...

    java 工作流定义 源码

    Java工作流定义(Workflow Definition)是企业应用中用于自动化业务流程的一种技术。它允许开发者创建、管理和执行一系列步骤,这些步骤按照预定义的顺序进行,以完成特定的业务任务。在Java环境中,工作流通常通过...

    Java自己开发的一个工作流引擎例子

    最近项目中需要使用到工作流,然后上网搜到一个大神用Javascript写的一个工作流,感觉写的很屌。然后我将Javasc代码用Java改写了,并且用mysql建了数据库表,进行了测试,可以处理一些简单的流程。我觉得代码很有...

Global site tag (gtag.js) - Google Analytics