一步一步学JBPM(1)——JBPM简介

研究JBPM,已经有一段时间了,从开始的一无所知,到逐渐的了解,让自己获得了很多东西。学习JBPM是从学习OA开始的,当时看的是李腾飞的OA视频,看起来很吃力,视频录制的质量不是很高。看完OA以后,对JBPM有了一定的了解,开始做一些demo。现在做了几个demo,大体掌握了JBPM的工作流程和基本原理。现在正在设计教务工作流管理系统。

本文首先介绍一下JBPM的基本知识。

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

JBPM使用Hibernate进行数据库操作,也就是说只要Hibernate支持的数据库它都可以使用,数据库主要是存放流程的定义,流程实例的信息,还有用户的信息等。

工作流

JBPM是一个工作流管理系统,那么什么是工作流呢?工作流通俗的说就是多个人在一起合作完成某项工作的技术,把这些步骤定义一个标准,变成计算机能够理解的方式。它解决的问题就是一个组织之间协作完成一个业务,这个业务要利用计算机传递和控制信息,文档,任务的走向和规则。

工作流管理系统

工作流管理系统就是基于JBPM开发的系统,最典型的就是OA里面的工作流管理。我们这次的目的就是开发一个工作流管理系统,工作流管理系统的功能一般包括:定义流程,发布流程,控制公文流转等。

JBPM的结构

JBPM的顶层结构图如下:

一步一步学JBPM(1)——JBPM简介_第1张图片

从顶层服务图中我么可以看出,JBPM主要是为三种角色服务:

第一个是Actor,这个角色可以是组织、个人、也可以使系统。Actor负责选择相应的流程并定义公文,启动流程实例。

第二个是Process Desinger即流程定义人员,这个可以是开发人员在开发设计的时候设计,也可以是客户的系统管理员,这就要求提供供客户定义流程的客户端,这个客户端一般是web方式的。我们这次也就是要实现这个功能,这个功能在jbpm中没有实现,但是底层接口都已经给出。

第三个是Business Analyst,业务逻辑分析师,他主要负责分析业务逻辑,辅助对流程的定义和优化。

这三个角色的工作顺序一般是先分析业务逻辑,然后再定义流程,最后用户使用流程。

总体说来jbpm给人的感觉就是结构轻巧,但是功能强大,工作流是OA的核心,jbpm是工作流的核心。jbpm目前已经有jbpm5版本,因为考虑到兼容性等原因,我么这次采用的是jbpm4.4。接下来会一步一步的介绍JBPM和我们的教务工作流管理系统。

你可能感兴趣的:(jbpm)