【Java】工作流框架JBPM
2017-02-02 19:26
316 查看
【工作流基础】
工作流(Workflow),就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使
在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标,或
者促使此目标的实现”。
工作流管理系统(WfMS,Workflow Management System)的主要功能是通过计算机技术的支持去定义、执行
和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实
现。工作流管理系统是定义、创建、执行工作流的系统,应能提供以下三个方面的功能支持:
1) 定义工作流:包括具体的活动、规则等
2) 运行控制功能:在运行环境中管理工作流过程,对工作流过程中的活动进行调度
3) 运行交互功能:指在工作流运行中,WfMS与用户(活动的参与者)及外部应用程序工具交互的功能。
采用工作流管理系统的优点
i. 提高系统的柔性,适应业务流程的变化
ii. 实现更好的业务过程控制,提高顾客服务质量
iii. 降低系统开发和维护成本
工作流框架有:Jbpm、OSWorkflow、ActiveBPEL、YAWL等。
【开发环境准备】
此次学习接触的框架是JBPM,下面就看看利用JBPM需要准备哪些开发环境。
1. 添加JBPM的jar包。注意不要添加Servlet-api.jar和Junit.jar。因为junit是3.8.2版本的,与我们使用
的junit4.0版本冲突。
2. 添加jbpm.cfg.xml/logging.properties/jbpm.hibernate.cfg.xml配置
3. 初始化数据库,执行jbpm.*.create.sql。
【核心概念】
1. Process definition,流程定义:一个流程的步骤说明。如一个请假流程、报销流程等,是一个规则。
2. Process instance,流程实例:代表流程定义的一次执行。如张三昨天按请假流程请了一次假。一个流程
实例包括了所有运行阶段, 其中最典型的属性就是跟踪当前节点的指针。
3. Execution,执行:可以把一个流程实例看做一个根节点,而其下的子节点便可看作是执行。
【ProcessEngine与Service API】
我们与JBPM交互主要是通过它所提供的的services。而我们要想获取到这些services,就需要通过默认的配
置文件(jbpm.cfg.xml)生成Configuration去构建ProcessEngine。此工作流引擎是线程安全的,并且可以作为静态
成员。
JBPM包括6个Service,如下:
1. RepositoryService:管理流程定义
2. ExecutionS ervice:管理执行的,包括启动、推进、删除Execution等操作
3. TaskService:管理任务的
4. HistoryService:历史管理(执行完的数据管理,主要是查询)
5. IdentityService:用户、组管理
6. ManagementService。
可通过processEngine.getService()获取Service,如RepositoryService repositoryService=processEngi-
ne.getRepositoryService();
【学习心得】
在.net阶段,就多多少少对工作流有些接触,所以对于工作流的一些理论知识和大体实现思路都还比较熟
悉。而这次学习接触到的java的jbpm这个框架,实现步骤也都大体相同,加上有了这个框架,给我们实现了很多东西
,感觉实现也是简单了许多。
相关文章推荐
- JBPM(Java Business Process Management)工作流管理系统
- java 工作流开发框架比较
- java 工作流开发框架比较
- 工作流框架JBPM的基本应用
- jbpm工作流框架与Spring整合的步骤
- java 工作流开发框架比较
- jbpm工作流框架
- JBPM工作流 引擎;java.lang.NoSuchMethodError: antlr.collections.AST.getLine()I
- JBPM框架全称Java Business Process Management(业务流程管理框架)
- 宅急送 项目第八天 JBPM工作流框架
- 工作流框架JBPM的基本应用
- python调用Java代码,完毕JBPM工作流application
- jbpm_工作流框架笔记
- python调用Java代码,完成JBPM工作流application
- JBPM工作流框架应用
- jbpm_工作流框架笔记
- 最近一段时间的java框架学习总结
- JavaWorld:基于Mule框架构建事件驱动服务的SOA
- All About Java 关于Java的一切 : 工具, 类库, 框架
- Java.NET --一个基于Java的Microsoft.NET框架的实现