抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

书籍节选及简评:OSWorkflow

2008 年 4 月 28 日

OSWorkflow 一书中,作者 Diego Adrian Naya Lazo 对基于 Java 的开源工作流引擎—— OSWorkflow 展开了讨论。在其官方网站上是这样描述道:

该书覆盖了与 OSWorkflow 相关的所有方面。阅读此书,你不需要预先具备任何 OSWorkflow 的相关知识。你将从该书中了解到 OSWorkflow 的全部,本书涵盖了从 Business Process Management(BPM)技术的基础知识,到安装 OSWorkflow 并使该工作流引擎与类似 Drools、Quartz、Pentaho 等第三方组件相集成的各个方面。

该书的出版商—— Packt Publishing 向 InfoQ 提供了该书第四章的节选在你的应用中使用OSWorkflow (Using OSWorkflow in your Application)。

InfoQ 采访了作者 Diego Naya Lazo,就 OSWorkflow 的基本情况和这本书主要覆盖的内容与其进行了交流:

InfoQ:在我的应用中,为什么需要引入工作流引擎?

Diego Naya Lazo:当前大部分业务应用程序都是对现实生活中业务过程的模拟,这些业务过程由动作(activitie)以及动作间的流转(transition)所组成。

工作流引擎可以帮助开发人员建立一个业务过程的模型,使得应用能够按照过程所定义的信息流程来运行。

InfoQ:OSWorkflow 能为正在实现中的应用提供怎样的功能呢?

Diego Naya Lazo:OSWorkflow 可以管理工作流的状态、潜在的流转、条件检查、分支与合并以及过程中所有的业务限制。

InfoQ:您能举例说明一下,在应用中,哪些地方可以运用 OSWorkflow 吗?能否分别举例说明一下什么时候 OSWorkflow 可以作为工作流服务器应用,什么时候可以将它作为一个工作流层?

Diego Naya Lazo:比如 JIRA,它是一个流行的问题跟踪系统,在该系统中,OSWorkflow 作为工作流层被应用。系统将问题 ticket 流转完全交给 OSWorkflow 来处理。

而在公司环境中,当 CIO 想要一个业务过程信息中央存储库的时候,OSWorkflow 则常常被作为单独的服务器来使用。

InfoQ:如何将 OSWorkflow 与 Spring、Seam、Struts 等应用开发框架相集成呢?

Diego Naya Lazo:OSWorkflow 与 Spring 做到了无缝集成,并且可以从事务和 Hibernate 等持久性技术中获益匪浅。

Struts 和 OSWorkflow 经常一起被使用,但在 OSWorkflow 中并没有内建与 Struts 集成的类,Seam 也一样。

InfoQ:如何将 OSWorkflow 与 JBoss Drool 或 Codehaus Werkflow 类似工具做比较呢?

Diego Naya Lazo:OSWorkflow 可以弥补 JBoss Rules 类似的业务规则框架在业务过程建模方面的不足。很有希望的是,JBoss Rules 5 中的 Mark Proctor 将促使 OSWorkflow 用户在以流程、规则和事件为主的下一代环境中的流转更为流畅。你真应该试验一下正在开发中的 Mark。

Werkflow 是 OSWorkflow 的替代选项,但它缺少大量的用户基础。另外,事实证明,OSW 在伸缩性和性能特性方面更胜一筹。

InfoQ:工作流和一系列的业务规则有什么不同?

Diego Naya Lazo:严格来说,工作流和规则几乎是等同的。工作流是您根据业务逻辑想要用户去遵循的一系列步骤。而对于这里所说的逻辑,最好的表达方式是规则。

因而,一个工作流常常在每个步骤中都有内嵌的业务规则,规则本身可以是嵌套的工作流。

InfoQ:OSWorkflow 如何确保应用程序的可测试性?

Diego Naya Lazo:OSworkflow 在设计之初就考虑到了单元测试,因此,要测试您的业务过程相对来说还是很简单的。它甚至允许使用一个临时内存存储系统,这样一来,您的测试可以摆脱数据库的束缚。

InfoQ:OSWorkflow 如何与 Esper 和 Quartz 这样的组件相集成?

Diego Naya Lazo:Esper 是事件流程引擎,可以在 BPM 领域中运用。它主要通过让工作流步骤发出事件给引擎,从而使引擎可以处理这个事件或对该事件做出反应。一些工作流步骤,比如贷款审批,就是业务事件。上下文中给出的这些事件就是业务的相关信息。

事件处理引擎比较适合信号的实时处理流程。OSWorkflow 能够从多个业务过程中向引擎发出信号。然后,引擎能够将这些事件互相关联、侦测符合匹配模式的情况并在一些特定的业务条件被满足时发出警告,例如,同一个人在两个不同的国家申请贷款的情况。这是一个使用 CEP 引擎来侦测诈骗的典型应用。

另一方面,Quartz 能够使得 OSWorkflow 在某些特定的时间担当活(active)动代理的角色,例如,每天启动一个新的工作流、或触发流程中特定的步骤、再或者每两小时进行一次分支。

InfoQ:使用像 Pentaho 那样的报表工具的话,针对应用的当前状态能够生成怎样的报表?

Diego Naya Lazo:Pentaho 是一个非常不错的报表工具,将它与任何数据库结合使用都能够产生惊人的结果。OSWorkflow 有一个简单的关系模型,通过使用 Pentaho,您可以创建一个 BAM(业务动作监控 Business Activity Monitoring)portal。这使得执行业务的用户可以监控到他的流程中的任何变化。在特定情况下,直观表示是最有效的。

还有时候,一个简单的数据表格就是最具效率的数据报表形式,Pentaho 在这个方面也能对我们提供帮助。

InfoQ:您觉得 OSWorkflow 还缺少些什么?什么是覆盖这些领域的最好的方式?

Diego Naya Lazo:OSWorkflow 在文档方面还有待进步。我会花一些时间来更新 OSWorkflow 手册和 how-to 指南,这是我能在这个令人激动的项目上所能尽到的一丝绵薄之力。

查看英文原文: Book Excerpt and Review: OSWorkflow

2008 年 4 月 28 日 06:521479
用户头像

发布了 71 篇内容, 共 17.0 次阅读, 收获喜欢 3 次。

关注

评论

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

Vidyo整个产品架构是怎样的?

dwqcmo

音视频 集成架构 解决方案 智能硬件

上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间

Java架构师迁哥

架构师训练营第四周作业

Shunyi

极客大学架构师训练营

本周学习总结

饺子

如何设计一个牛逼的API接口

Java旅途

Spring Boot API

阿里云服务器搭建

时间是一个人最好的证明

阿里云 服务器 域名

通证、通证经济与区块链

CECBC区块链专委会

区块链 通证经济

架构师训练营第一期-第四周课后作业

卖猪肉的大叔

极客大学架构师训练营

Flink处理函数-6-4

小知识点

scala 大数据 flink

拯救深度学习:标注数据不足下的深度学习方法

华为云开发者社区

学习 AI 训练

MySQL-技术专题-SQL优化系列

李浩宇/Alex

大型互联网应用系统的技术方案和手段

饺子

数据库技术丨GaussDB(DWS)数据同步状态查看方法

华为云开发者社区

数据库 高可用

架构师训练营 1 期 - 第四周 - 系统架构

三板斧

极客大学架构师训练营

你掉进过“伪敏捷”的陷阱吗?

华为云开发者社区

项目管理 软件 敏捷

阿里内部绝密《百亿级并发系统设计》实战教程,冒着被劝退的风险免费分享

Java架构之路

Java 阿里巴巴 程序员 面试 编程语言

看看专科程序员与本科程序员之间,到底有什么区别?

Java架构师迁哥

区块链将这样影响你的生产生活

CECBC区块链专委会

区块链 信息发展

架构师训练营第 1 期第四周总结

Leo乐

极客大学架构师训练营

《Linux学习笔记》从常用命令、常用操作到网络管理、性能优化

Java架构之路

Java Linux 程序员 面试 编程语言

架构师训练营第一期-第四周学习总结

卖猪肉的大叔

极客大学架构师训练营

第四周学习代码系统架构总结

三板斧

5张表的sql整懵阿里p7:你们能看明白自己写的啥吗?

小Q

MySQL 数据库 学习 调优 mycat

Java 中的反射是什么

Rayjun

Java 反射

ARTS Week13

丽子

浅析 Golang 垃圾回收机制

郭旭东

go golang

《Java核心技术总结》+《面试题总结》PDF整理,阿里P8大牛熬了半个月肝出来的!

Java架构之路

Java 阿里巴巴 程序员 面试 编程语言

研发和测试在多国陆续展开 全球央行数字货币研发驶入快车道

CECBC区块链专委会

数字货币 金融

京东区块链之供应链应用篇:溯源应用结合区块链能碰撞出什么火花?

京东科技开发者

区块链 供应链

有符号类型引发的奇怪现象

jiangling500

从格力直播看品牌商的渠道变革

boshi

数字化转型 品牌 直播带货 优化业务

Study Go: From Zero to Hero

Study Go: From Zero to Hero

书籍节选及简评:OSWorkflow-InfoQ