InfoQ Geekathon 大模型技术应用创新大赛 了解详情
写点什么

使用 JBoss jBPM 进行业务流程管理的 7 种形式

  • 2008-11-18
  • 本文字数:1886 字

    阅读完需:约 6 分钟

在他的那篇关于流程组件模型和 JBoss 流程定义语言(jBPM)的优秀文章之后,Tom Baeyens 趁热打铁地又推出了另一篇,通过 7 个截然不同的用例对业务流程管理(BPM)的 7 种形式进行了解释

根据 Tom 的说法:

BPM 一词已经承载过多含义,并应用于许多不同事物,最终引起了大量混淆。这些用例具体描述了 BPM 这一术语的不同解释。

第一个用例试图探索“BPM 即戒律(BPM as a discipline)”:

“BPM 即戒律”是指对描述组织内人员和系统合作方式的工作程序的分析、记录和改进。要知道到,大多数 BPM 实际是以这种方式完成的,甚至连任何形式的软件或 IT 支持都没有。MS Visio 是使用最广的业务流程记录工具之一。

这一定义与广为人知且被广泛采纳的 BPM 定义略有不同,如 Van der Aalst 及其同事的定义

BPM 是一门汇集管理和信息技术的知识,包含了方法论、技术和设计工具、颁布、控制,以及对涉及人类、组织、应用、服务、文档和其他信息源的经营性业务流程的分析。

维基百科的定义

BPM 涉及组织管理和(如果必要的话)改进业务流程的活动。所谓的业务流程管理系统(BPM 系统)将使这种活动更快更廉价地进行。BPM 系统监视业务流程的执行,以便管理器能根据数据,而不是直觉,分析和改变流程。

两个定义都强调了成熟 BPM 系统三大主要组成:流程设计、实现和监视,而最后一个则在 Tom 的定义(及剩下的用例)中完全消失了。由于无法度量的就无法改进,因此流程监视是 BPM 的基本组成。

这一用例的余下部分集中在业务流程设计,设计模型到实现模型的转换,以及保持两者的同步。说到设计,Tom 的文章只关注了 BPM 设计的一个侧面——流程的图形化表示:

原始分析图应该作为软件需求剩余部分的输入。接着,开发者应该构造一个尽量符合原始分析图的可执行流程。

尽管很难反驳这一观点,但问题是图表是否就真的代表了流程设计。更能让人接受的定义是:除了图表支持,流程设计是还具有以下特性的工具:

  • 流程验证,确保被设计流程是“可实现的”。
  • 流程模拟,通过模拟流程变更的影响,它使得流程改进以一种更加受控的方式进行。

诚然,大多数这类工具都使用的流程模型完全不同于流程执行模型,这往往使得两个模型之间的转换成为整个方法的一个弱点。尽管 Tom 的“纯分析模型和可执行流程模型之间的自动转换一般是不可行的”这一论断很容易让人接受,但是“使用一个模型完成两个目的”(jBPM 方式)并不是唯一的解决方案。例如, Oracle 的实现就提供了“部分”支持 BPMN 和 BPEL 间的双向转换。

第二个用例集中讨论了以人类交互管理(Human Interaction Management,HIM)模型为基础的非正式(Ad hoc)任务管理。在主流 BPM 实现中包含非正式协作流程无疑会扩展现有 BPM 系统的作用范围。

HIM 的故事反映了人们为一个将创建的非正式流程而创建的任务(译注:即整个流程不是预先定义好的,而是根据实际情况,由人来判断下一步的走向。换句话说是“人驱动”的流程。)。人员可以参与不同角色。使用任务管理系统跟踪这一工作有巨大的好处。首先,参与这一任务的人会很快看到整个故事的历史。其次,审计留痕的日志会自动生成。

两个联系紧密的用例,服务编配和事务异步架构,讨论了作为流程执行基础的流程活动的实现和调用。笔者完全不明白 Tom 讨论这两个模式的意图:阐述 jPDL 和 BPEL 的区别?解释技术细节?以 Java 为基础的 jPDL 诚然提供了极大的灵活性,但是 Tom 却未解释这个灵活性的代价——开发者不得不编写额外的代码。简单地说,jPDL 和 BPEL 的区别在于:BPEL 是专为实现业务流程而设计的一种领域特定语言(DSL);而 jPDL 则是一个以 Java 为基础的框架,可以构建流程或新的 DSL,包括 BPEL。结果是,BPEL 向开发者屏蔽了线程问题,而 jPDL 往往要求明确的线程控制(见用例 6)。因此,在 jPDL 和 BPEL 之间做选择,基本相当于是选择高级语言,还是选择低级语言——即灵活性和开发简化(尽管 BPEL 编程并不总是简单)之间的权衡。

最后,谈到可视化编程(用例 5),BPEL 和 jBPM 是旗鼓相当,尽管使用“命名”活动(jBPM)似乎要比使用“命名”服务要更加显得用户友好些。

并不是所有人都同意 Tom 的用例很好地代表了 BPM 场景。根据 Oracle 企业管理器分部应用和中间件部门架构师 William Vambepene 的说法:

就“BPM 一词已经承载过多含义,并应用于许多不同事物,最终引起了大量混淆。”来说,Tom 是对的。但是,据我所知,增加一些别人以前从未把它们归为 BPM 这一类的用例,他是在制造更多,而不是减少,混淆。

文章虽然非常值得一读,但其重点是 jBPM 及其未来,对于 BPM 则是泛泛而谈。

查看英文原文: Seven Forms of Business Process Management with JBoss jBPM

活动推荐:

2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。

2008-11-18 22:481870
用户头像

发布了 255 篇内容, 共 53.0 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

Android 可能你想要的APK瘦身笔记,2021最新安卓大厂面试题来袭

android 程序员 移动开发

客户端稳定性异常检测:函数接口“扫雷”实践

阿里巴巴终端技术

函数式接口 稳定性测试 异常检测 客户端 APP稳定性

Python代码阅读(第54篇):斐波那契数列

Felix

Python 编程 斐波那契 阅读代码 Python初学者

Android 内存性能优化,灵魂一问-如何彻底防止APK反编译

android 程序员 移动开发

Android 单元测试之 Mockk,idea开发android教程

android 程序员 移动开发

Android 可控制概率家务转盘,移动端跨平台开发大型项目

android 程序员 移动开发

使用桥接模式设计复杂的消息系统

Tom弹架构

Java 架构 设计模式

Android 实现双Launcher的无缝切换,flutter免费视频教程

android 程序员 移动开发

android 对不同日期和时间的格式方法的封装,46道面试题带你了解高级Android面试

android 程序员 移动开发

高风险IP究竟来自哪里?IP定位带你反欺诈

郑州埃文科技

Android 启动优化: JetPack App Startup 使用及源码浅析

android 程序员 移动开发

Android 屏幕适配方案,安卓开发

android 程序员 移动开发

WordPress站点快速集成腾讯数字身份管控平台CIAM,免开发实现登录认证

腾讯安全

模块二作业

ks

Android 使用Face++ SDK进行人脸识别和年龄检测,android开发网络框架

android 程序员 移动开发

Android 应用层开发 Drawable 的一些叨叨絮(1),androidstudio中文社区

android 程序员 移动开发

Android 应用层开发 Drawable 的一些叨叨絮,跨平台移动开发答案

android 程序员 移动开发

CDP客户数据管理平台体系化搭建

知了一笑

CRM 客户数据平台 CDP DSP DMP

软件测试面试屡屡失败,面试官总是说逻辑思维混乱,怎么办?

六十七点五

学习方法 面试 软件测试 自动化测试 测试工程师

Android 存储进化:分区存储,2021最新Android笔试题及答案

android 程序员 移动开发

Android 常见的数据存储方式,腾讯T2大佬手把手教你

android 程序员 移动开发

通过Rainbond的团队管理去管理已有的组织架构

北京好雨科技有限公司

最佳实践 多租户 开源软件 rainbond

JWT、JWS与JWE

喵叔

11月日更

Android 使用微信开放平台分享内容到微信,apm性能监控系统

android 程序员 移动开发

Android 四大组件全解读,kotlin极简教程

android 程序员 移动开发

Android 存储空间的最佳实践,【金九银十】

android 程序员 移动开发

Android 如何从应用深入到Framework (一),2018移动应用开发前景

android 程序员 移动开发

优酷小程序优化实战

阿里巴巴终端技术

小程序 ios android 客户端 包大小

资产管理系统是管钱的吗?不完全对

低代码小观

企业管理 资产配置 资产管理 管理系统 企业资产

Android 实现水印背景效果,kotlin教程

android 程序员 移动开发

Android 开发市场是盛是衰?你应该知晓,android音视频开发面试题

android 程序员 移动开发

  • 扫码添加小助手
    领取最新资料包
使用JBoss jBPM进行业务流程管理的7种形式_SOA_Boris Lublinsky_InfoQ精选文章