NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

要不要自建工作流引擎?

  • 2009-07-17
  • 本文字数:1083 字

    阅读完需:约 4 分钟

现在,越来越多的人意识到在解决方案中引入工作流的重要性。然而,在面临如何具体实现的时,自建亦或是使用(现有工作流)?争论仍在继续。在 Bernd Rücker 的新博文“工作流引擎?动手整一个……”中,他重拳出击,讨论了围绕在这个问题周围的一些常见误解。

在 Bernd 看来,支持开发“自产的”工作流引擎的典型论点包括以下几个方面:

  • 我们仅有非常基本的需求,简单的状态机。用工作流引擎是用大炮打蚊子。
  • 引擎应该是应用的一部分,而不是独立的。
  • 我们已经对工作流产品 X 做了评估,它并不适合我们的需求。

尽管乍一看这些论点似乎有道理,但是这些论点很少能为开发“自产的”工作流引擎而付出的努力和开销提供充分理由。

我们仅有非常基本的需求,而且,为此而学习新技术或(工作流的)实现而花费时间和努力是不值得的。结果很多实现一开始是基于简单的数据库表,在其中维持每一个流程的实例及其状态。但是,如果现在还需要支持以下方面的需求呢?

  • 存储实例变量的等待状态?
  • 超时处理?
  • 事件上报?
  • 决策网关?

Bernd 指出,根据他的经验,尽管工作流引擎的实现的确始于简单的需求,但随着时间的推移需求一定会不断增长,而且,到最后公司往往“陷入”维护和支持这个日益丰满的工作流系统。

引擎应该是应用的的一部分,因此我们不希望招惹对增加的硬件、软件、集成以及安装过程等的依赖(而这些是很多商业引擎的典型需求)。

Bernd 对这种场景的建议是考虑使用轻量级的 Java 工作流引擎,它们很容易集成到用户的产品中去。这样的工作流有 JBoss jBPM,Nova Bonita,Enhydra Shark 等,这些工作流一般都包含很多配置选项,使得它们可以非常容易地适配具体的应用需求。

我们已经评估过工作流产品 X,它不适合,这是最难应付的理由。Bernd 认为,问题在于,即使是轻量级的开源工作流引擎,也需要时间和精力才能得出合理的评价。对于一个工作流,如果没有足够的时间去检验它,得到的结论往往不充分的;而如果能够花足够的时间去了解技术的话,几乎没有哪个工作流不能提供所需的功能。Bernd 举了个例子,他的客户们无不发现,使用 jBPM 可以很容易地实现他们所需要的任何功能。问题在于要花时间去了解技术。

Bernd 以这样的方式总结他的博文:

请不要再自己开发了![这是项很昂贵的工作]。[理解一个引擎的] 学习曲线往往磨刀不负砍柴工!……[一旦你知道如何使用] 使用引擎的优势就不辩自明了。

今天的人们已经很少自己实现他们的数据库,O/R 映射工具或应用服务器了。为什么人们总是要想着自行开发工作流引擎呢?工作流引擎已经成为商品,而且,使用现有的实现总是比自开发省钱的多。

查看英文原文: Workflow Engine – To Build or Not to Build One?

2009-07-17 01:5017911
用户头像

发布了 184 篇内容, 共 76.8 次阅读, 收获喜欢 7 次。

关注

评论

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

一文解析 Copycat Dex与 Bitcat Dex的区别

股市老人

云手机:私域运营的黑科技

Ogcloud

私域流量 私域运营 云手机 海外云手机 跨境电商云手机

从源头出发,浪潮信息智能备电控制方案提升数据存储可靠性

财见

Illustrator 2024 for Mac v28.1中文激活版下载

iMac小白

体育视频在线观看-赛事直播平台,源代码降低开发复杂程度

软件开发-梦幻运营部

从抖音API看电商行业的未来趋势

技术冰糖葫芦

API

用原型实现Class的各项语法

快乐非自愿限量之名

Java class 开发语言

泛微与用友NCC的无缝对接,释放企业运营潜能!

聚道云软件连接器

案例分享

一文介绍VR虚拟现实汽车展厅看车体验

3DCAT实时渲染

VR虚拟现实 汽车虚拟仿真 汽车VR展厅

低代码开发应用解锁旅游业的创新潜力

不在线第一只蜗牛

低代码 低代码开发 旅游业

云计算与低代码开发:提升软件开发效率的完美组合

快乐非自愿限量之名

云计算 低代码

倒计时1天|解锁「PolarDB开发者大会」正确打开方式

阿里云瑶池数据库

数据库 阿里云 云计算, 开发者大会

WBTT:“Fair Launch”如何做到更加公平

大瞿科技

AZ逃生:容灾部署最佳实践

焦振清

服务部署 弹性伸缩 机房容灾 AZ 逃生 同城多活

MATLAB R2023a for Mac 中文激活版下载

iMac小白

海外视频直播APP/多语言语聊APP提交Google Play,Easy Done详细步骤

山东布谷科技胡月

源码 视频社交APP开发 直播平台源码 社交直播APP开发 海外直播App开发

外贸网站建站:如何选择合适的外贸网站设计方案

九凌网络

软件测试|探索Flask接口路由技术:构建灵活可拓展的Python应用

霍格沃兹测试开发学社

WBTT:“Fair Launch”如何做到更加公平

长安区块链

Navicat Premium 15 for Mac(数据库开发工具)v15.0.36中文激活版

iMac小白

WBTT:“Fair Launch”如何做到更加公平

西柚子

海外云手机:跨境养号的新趋势

Ogcloud

云手机 海外云手机 跨境电商云手机 tiktok云手机

社媒引流对跨境电商的重要性

Ogcloud

云手机 海外云手机 跨境电商云手机

Macs Fan Control Pro for mac v1.5.16中文激活版下载

iMac小白

Redis Desktop Manager for Mac中文激活版下载(Redis桌面管理工具)

iMac小白

XMind for mac (XMind思维导图)v24.01中文版

iMac小白

抖音获取抖音视频详情 API (douyin.item_get_video)

技术冰糖葫芦

API

从0到1:实验室设备借用小程序开发笔记

CC同学

现货比特币 ETF 的批准将如何重塑加密货币世界

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发

【第七在线】打破传统束缚:智能商品计划助力服装企业创新发展

第七在线

深入探索智能问答:从检索到生成的技术之旅

不在线第一只蜗牛

人工智能 机器学习 深度学习 大数据

要不要自建工作流引擎?_SOA_Boris Lublinsky_InfoQ精选文章