知识卡片

私有工作流平台/自建facade几乎必然失败的教训

普通读书笔记卡

内容

公司围绕流程自动化提供总体指导是合理的(精选厂商列表、共享最佳实践、建立专家中心),但一些公司会走得更远:在特定厂商的工作流引擎之上预建自己的软件组件和平台。轻一点的做法是搭一个facade来降低对厂商的依赖,让开发人员针对定制facade开发、真正的工作流引擎API藏在平台之下;更极端的做法是为了避免厂商锁定并附赠额外功能,把不同厂商的多个组件整合成一整套自建的SOA或集成技术栈。作者观察到的现实是:他见过的所有此类自建平台举措都遇到了阻碍——搭一个定制平台本身不难,难的是让这个平台持续跟上底层引擎的新版本、修复内部报告的所有缺陷、通过自定义facade暴露引擎的全部能力;平台用户仍然会撞上死胡同,因为平台功能通常覆盖不全底层引擎的能力;更麻烦的是,遇到问题时你无法像搜索知名商业产品或开源项目那样直接搜到答案,因为整个坑都是自己公司独有的。结论是这类投入总体上不值得,尤其是”为了避免厂商依赖”这个理由站不住脚——除非你本身就是一家专门做流程自动化的公司,否则不该走上构建自己的流程自动化平台这条路,作者明确说即使团队非常聪明努力,也曾亲眼见证这类努力失败。

参考来源

- 位置:《流程自动化实战:系统架构和软件开发视角》第6章《解决方案架构》"6.2.6 私有工作流平台"(源文件:_epub-src/EPUB/xhtml/Section0001_0010.xhtml) - 结论依据:原文明确指出自建facade/平台在保持与新版本同步、修复内部缺陷、覆盖引擎全部功能三方面持续遇阻,且遇到问题时无法像成熟产品一样被搜索到,因此建议除非本身是流程自动化公司否则不要构建定制平台,直接支撑本卡片结论。 - 原始内容:我见过的所有此类举措都遇到了阻碍……你无法像搜索知名商业产品或开源项目一样,通过谷歌搜索在自己的定制平台上遇到的问题……除非你是一家流程自动化公司,否则不要构建流程自动化平台。