业务流(BPM)与工作流(workflow) 的区别
在SOA 实践中,对于 BPM面临着不少困惑与选择,主要是工作流与业务流的架构区别。
有些项目把业务流产品用作工作流设计,而有些工作流为主的产品工具却作为业务流实现。
这里简单地讨论一下 BPM 中业务流与工作流的作用区别。
简要概述了工作流与业务流的主要区别。
工作流与业务流的主要区别
斯欧信息
简言之,业务流程管理主要包含业务建模,组装,部署及管理。
使用业务流或工作流工具似乎都能设计开发业务流程管理。
但从 SOA 的角度,服务的划分及交互通常是项目关注的重点。
所以, SOA 强调的是如何灵活组合业务服务。
而业务流的核心功能是编排流程服务,并且主要针对企业级应用整合。
同时利用 BPM 工作流的主要功能,诸如 : 活动(任务)节点的人工任务配置,流程运转时的活动节点调控等。
在 SOA/BPM 初始阶段,如果一个企业没有较深的 IT 或 ERP 根基,实施业务流会有相当的阻力。
因为业务流程管理并非主要是技术问题。
对于有些中小型企业或应用 ( 特别是那些没有规范支撑的人工流程模式 ),一些随意包干,或带有自由流功能的工作流系统一般更易于接受。
对于同样的一个较为复杂的流程应用项目, 如果使用工作流, 会显得很复杂, 结果是很多流程产出件, 而如果使用业务流,一般架构设计较为规范, 流程量骤然减少, 重用性提高。
值得一提的是,工作流与业务流的定义范围有相当程度的交叠与互斥,这取
决于采用的流程管理产品(或几个不同产品)及架构设计及理念。
工作流可以理解为技术层面的东西或办公自动化,而 SOA 关注业务流的实现,及与之相关的价值链,并且关注流程的生命周期管理。
其实,工作流或业务流本身并无绝对优势,在SOA/BPM 都要用到,如何用好用对才是关键。