JBoss jBPM 是一个灵活的,易扩展的工作流管理系统。JBoss jBPM有一套直观的流程建模语言,这套语言能用任务(task),异步通信的等待状态(wait state ),定时器(timer),自动化的动作(automated action)等来图形化的表示业务流程。把这些操作集成在一起,JBoss jBPM拥有强大的,易扩展的控制流程机制。
JBoss jBPM对外依赖程度很小,你完全可以像用java的类库一样用它。并且它也可以被部署在高性能的J2EE集群应用服务器上。
JBoss jBPM能通过配置运行在任何数据库上,并且能被部署在任何的应用服务器上。
流程建模语言jPDL
jBPM业务程序定义语言jBPM Process Definition Language (JPDL),是jBPM使用的一套面向图表的流程建模语言。是一种特定领域语言(DSL)。
它是对WFMC(工作流管理联盟)提出的XML Processing Description Language (XPDL)语言的扩展,增加了一些jBPM自己的元素。
它的特点是,有几种状态节点。
1,State等待状态。进入这种状态,整个业务程序实例的执行就会中断。直到系统外参与者发起继续执行的命令,业务程序实例的执行才能够继续下去。
2,Node节点状态。这种状态和State相反。当业务程序实例执行到这个节点,不会停止执行。而是会继续往下执行。如果存在该节点存在多个离开转向。那么,就会执行其中的第一个离开转向。
在Node状态中,不需要外部参与者的参与,业务流程的这个部分是自动的、即时完成的。
3,Decision决定状态。Decision和Node一样,都是即时状态,而不是等待状态。Decision的多个离开转向transition中可以设置条件。业务程序实例执行到Decision状态时,会依次计算所有的离开转向的条件,遇到条件为真的转向时,就会立即执行这个转向。
如果没有为转向设置条件,那么这个转向的条件值就是true。
Decision是功能最强大的即时状态。
4,TaskNode任务节点。TaskNode和State一样,都是等待状态。TaskNode是功能最强大的等待状态。jBPM为TaskNode提供了强大的支持机制。所以,强烈建议用户使用TaskNode来处理等待状态!
TaskNode节点内,可以有多个Task任务。任务是由外部参与者负责处理的等待状态。任务需要由外部参与者结束。
默认条件下,一个任务节点的所有任务实例都结束之后,业务程序实例的执行才能继续下去。但是,你也可以设置成从不继续,或者立刻继续执行。或者第一个任务完成后就执行,等等。
也可以由外部参与者在结束任务实例时指定执行哪一个转向Transition,继续流程。
另外,注意:除了TaskNode节点能够包含Task外,Start-State也可以包含任务。但是它只能包含一个任务。这个任务的用途是,让业务程序实例的发起者创建管理的资源等任务。
在jBPM提供的Web管理应用程序中,使用了一种Web开发技术,这种技术我没有见过。它提供了一个管理业务程序实例,特别是管理任务的强大功能。
只要一个业务程序定义的Start-state中包含Task定义,那么就可以在Web程序中创建这个业务程序定义的一个实例。
这个Web程序还能够根据业务程序定义,自动创建对应任务实例变量的表单和对应离开转向的按钮。
这个Web程序尽管非常强大,但是,它使用的是一种我所不熟悉的非主流的技术。所以,在自己的应用程序中,最好自己写前台表示层,而不是使用它的技术。
jBPM的构造技术
jBPM是一个业务程序管理引擎,是一个工作流引擎。它实现了对jPDL的支持。它还实现了对BPEL的支持。关于jBPM对BPEL的支持,我还没有研究。
作为一个工作流引擎,就必须要处理“等待状态”。jBPM整合了Hibernate技术处理数据库,它创建了一系列的数据库表,持久化工作流引擎所需的“等待状态”。因此,jBPM支持所有Hibernate支持的数据库。
jBPM还能够把Java对象持久化到数据库中。它能够把Hibernate支持的Java类的对象保存到数据库中,还能够把实现了Serializable接口的类的对象持久化到数据库中!具体的实现机制不详!
另外,jBPM还使用了JBoss Seam这个IOC容器。JBoss Seam非常类似于Spring,能够管理Java类的对象。对于JBoss Seam,我没有研究。
目前的工作和未来的研究
目前,我对jPDL有了很多的了解,但是对于复杂的任务管理和身份验证管理,研究还不够。
1.需要研究出怎样用Struts开发出一套获取用户任务列表的页面。
2.任务的管理需要身份管理。jBPM提供了一套身份管理的机制。但是,显然我们不能把应用程序的身份管理交给jBPM的身份管理模块来维护。我们需要把jBPM的身份管理模块去除,把jBPM的任务和自己应用程序的身份数据库整合起来。
3.jPDL适合于Java。BPEL适合于WebServices。需要研究jBPM对BPEL的支持。
4.JBoss Seam容器在jBPM中有广泛的应用,也必须加以了解。

jBPM研究情况报告相关推荐

  1. 《中国基础研究竞争力报告2020》发布,6图表速览报告核心结论

    来源: 科学出版社 持续跟踪先进国家基础研究发展态势,准确研判我国基础研究竞争力,科学筹划基础研究发展,对于打造科技核心竞争力.构筑先发优势.蓄积长远发展原动力,具有重要战略意义. 为了支撑科技创新, ...

  2. python毕业设计开题报告-基于python爬虫的影评情感分析研究开题报告

    论文(设计)题目 基于python爬虫的影评情感分析研究开题报告 选题的背景.意义及研究现状: 研究现状: 文本情感分析又称倾向性分析.情感挖掘,主观分析或评论挖掘,是对带有情感色彩的评论文本内容进行 ...

  3. 全球及中国抗菌溶液行业深度调研与前景研究建议报告2022年

    全球及中国抗菌溶液行业深度调研与前景研究建议报告2022年 --------------------------------------- [修订日期]:2021年12月 [搜索鸿晟信合研究院查看官网 ...

  4. 中国生物质锅炉行业全景调研与投资前景研究分析报告2021-2027年

    中国生物质锅炉行业全景调研与投资前景研究分析报告2021-2027年 ***************************************************************** ...

  5. 大创中期报告怎么写_课题研究中期报告怎么写?这篇范文很说的很详细

    中期报告一般要求 1.课题简介:课题由来.课题界定.研究目标.课题研究内容.2.研究情况:按时间顺序或内容板块有条理地说明研究工作的开展情况:有详有略.有主有次地陈述研究过程中做了什么.怎么做的.3. ...

  6. 凝聚共识 聚力前行丨《数据库系统的分类和评测研究》报告发布

    近年来,应用需求的增多推动了数据库多元化发展,研发人员从不同角度出发,设计了各式各样的数据库,为用户提供多种选择.但不同的数据库产品在品类.特征.适用场景.评测标准上,不尽相同.面对市场上繁多复杂的数 ...

  7. 中国中老年服装市场投资前景分析及供需格局研究预测报告

    智研瞻产业研究院专注于中国产业经济情报及研究,目前主要提供的产品和服务包括传统及新兴行业研究.商业计划书.可行性研究.市场调研.专题报告.定制报告等.涵盖文化体育.物流旅游.健康养老.生物医药.能源化 ...

  8. 智源社区AI周刊No.101:DeepMind推出AlphaTensor登Nature封面;stateof.ai发布AI情况报告...

    汇聚每周AI观点.研究和各类资源,不错过真知灼见和重要资讯!欢迎扫码,关注并订阅智源社区AI周刊. 编辑精选 1. DeepMind推出AlphaTensor,利用机器学习发现新矩阵乘法,已登Natu ...

  9. 中国第三代半导体行业运行现状及十四五规划研究分析报告2022-2028年版

    中国第三代半导体行业运行现状及十四五规划研究分析报告2022-2028年版 mm&m&mm鸿**m&mmm晟&mm&mm信**m&mmm合&mm ...

  10. 碳中和背景下中国煤炭行业供需规模及投资战略研究分析报告2022-2028年版

    碳中和背景下中国煤炭行业供需规模及投资战略研究分析报告2022-2028年版 +++++HS++++HS+++HS+++HS++++HS+++++++HS++++HS+++++++HS+++HS+++ ...

最新文章

  1. HelloServlet
  2. Android控件系列之RadioButtonRadioGroup
  3. cartographer坐标系_cartographer 调参(1)-lua文件配置参考文档
  4. 深入探讨JS中的数组排序函数sort()和reverse()
  5. 剑指Offer——面试题30:最小的K个数
  6. springMVC从发送hello请求到响应的执行流程分析
  7. 搞副业,你离不开这个工具!
  8. 一个段子教你如何认识大数据
  9. MagicAjax C#版试用手记
  10. hdu7116 lowbit (线段树+lowbit的性质)
  11. 华硕老毛子Padavan使用IPV6+Aliddns远程管理路由
  12. 解决VScode中C语言中文乱码问题
  13. 安装.net补丁后mscorsvw.exe占CPU100%的问题
  14. 本人博客目录 [实时更新]
  15. 虚幻基础之Gameplay游戏框架之Level和World
  16. 计算机学院方阵入场词,运动会入场方队解说词
  17. Spring入门基础
  18. #pragma omp parallel for
  19. 中国国家气象局天气预报接口、爱帮网公交查询接口
  20. Web前端工程师必备的PS技能之切图

热门文章

  1. 三层架构(命名规则)
  2. *P1108 低价购买 dp
  3. Advanced DataStream API Low-latency Event Time Join
  4. JS获取键盘码并判断按键
  5. Java开发笔记(一百三十四)Swing的基本对话框
  6. windows 下访问bsd系统分区的小工具 ____FFS driver mount manager
  7. Linux高级命令及mysql数据安装
  8. 原生JS实现旋转轮播图+文字内容切换
  9. window无法启动windows Firewall
  10. 起来吧!不要做奴隶的ITproject师们!