随着 BPM 软件提供商的快速增长,很多企业级应用系统也提到他们的产品中也有业务流程管理功能。 BPM 软件的市场一片繁荣但又显得非常混乱,这是由于市场的需求非常广泛(从建模到自动化到优化)以及 BPM 能够提供的 ROI 机会越来越被认可。非常少的 BPM 产品能够包括 BPM 需求的各个方面。通常情况下,所谓的 BPM 软件只是提供一个完整的解决方案很少一部分功能。如果您的企业只是考虑使用 BPM 功能的一部分,那么这些产品可能是很好的选择。但是,如果您希望为您的企业达到端到端 BPM ( End to end BPM ),那么只有完整的端到端解决方案才是您必须考虑的。
在本文中我们提供了一种评价 BPM 产品的框架。我们并无意给所有的产品评分以确定它们的优劣,这一工作应该留给消费者在详细地比较了产品功能和自身需求之后来做。我们的目的是让用户把精力集中在 2-3 个产品上做出更详细的比较,而不是对所有产品都做一番研究。
在对 BPM 产品做出评估时,有两个关键的问题是用户必须考虑的:
i. 功能:产品能够提供多少满足业务流程管理需求的功能?
ii. 完整性:对与业务流程管理而言,该产品是否是完整的解决方案?
评估一个产品的业务流程管理功能通常采用一种 20 个关键 BPM 功能列表比较的方法。这些关键功能以及他们的描述和为什么是关键的解释我们会在后面给出列表。在对一个 BPM 产品给出评价之前,应该确认这些关键功能是软件即买即用( Out-of-the-box )的,很多号称是 BPM 解决方案的产品也许能够通过编程或编写脚本能够实现这些功能,但如果通过其他方法来实现这些功能,整体拥有成本在产品生命周期中会变得很高。
BPM 关键功能
1 . 强大的规则引擎
2 . 基于 Web 架构
3 . 安全及验证
4 . 流程文档化
5 . 基于角色流转
6 . 基于关系流转
7 . 相对关系流转
8 . 平行会签
9 . 特殊流转
10 . 支持队列及工作组
11 . 流程反转 (rollback)
12 . 子流程
13 . 异常处理
14 . 第三方应用代理
15 . EAI
16 . 支持弹性化表单
17 . 自定义视图
18 . 实时监控状态
19 . 分散式用户管理
20 . 任务指派和协商
评估一个 BPM 产品的完整性通常可以将产品功能模块与下述模块列表对比。如果该产品缺少一个或几个功能模块都将给用户造成额外成本,这样的产品通常是不完整的。
BPM 的完整性
1 . 图形化流程设计
2 . 管理器
3 . 协同式设计
4 . 建模及模拟仿真
5 . 组织结构及整合目录
6 . 多样化客户端界面
7 . 流程监控
8 . 可扩展性
9 . Web 服务及整合
10 . 数据库连接及流程交易处理
通过上述比较,我们可以建立一个如下的功能 / 完整性的矩阵图,四个象限分别表示四种不同的产品。
I . 支持 BPM 的产品
II . BPM 引擎
III . 专业 BPM 应用产品
IV . 通用型 BPM 应用方案
I . 支持 BPM 的产品
这类产品功能较少,完整性也较差。正因如此,这类产品不能被视作 WFA 的产品,而是可通过二次开发从而实现 BPM 需求的技术架构或核心模块。当然价格也比较便宜,用户可以通过在这类核心模块上建立逻辑和应用,建立一个完整的 BPM 解决方案。这类产品比较适合独立软件开发商和应用系统提供商。
II . BPM 引擎
BPM 引擎类产品功能上往往非常齐全,但完整性不够。通过 BPM 服务器或 BPM 引擎提供 BPM 实现的核心逻辑引擎。通常这类产品不提供完整的客户端,也不提供报表和管理的工具。 BPM 引擎通常被大型客户和系统集成商采用,以提供按照用户需求开发客户端的 BPM 解决方案。通过编程可以提高完整性,当然程序开发的成本也比较高。
III . 专业 BPM 应用产品
很多业务应用方案把 BPM 功能作为他们系统增值内容的一部分。这类应用中的 BPM 部分完整性方面做的都不错,因为必须要和应用的其他功能很好地整合。然而这类 BPM 在功能方面往往比较差,因为他们设计的目的知识为业务应用系统增值,而非成为独立的 WFA 解决方案。
IV . 通用型 BPM 应用方案
这类产品的功能和完整性都比较强,因为最初的设计就是以 BPM 自动化为核心。这类软件往往提供适应大量 BPM 需求的软件包。