1 术语和词汇
本文涉及的术语和词汇如下:
BPM:Business Process Management,业务流程管理;
ROI:Return On Investment,投资回报率;
EAI:Enterprise Application Integration,企业应用集成;
SOA:Service Oriented Architecture,面向服务架构;
XML:EXtensible Markup Language,可扩展标记语言;
WfMC:Workflow Management Coalition,工作流管理联盟;
SPDL:Software Process Definition Language,软件过程定义语言;
BPEL:Business Process Execution Language,业务流程执行语言;
KPI:Key Performance Indicators,关键业绩指标。
2 评估对象
本次评估分析的对象是由美国Ascentn公司研发的BPM产品AgilePoint BPMS。
3 评估目的
随着BPM软件供应商的快速增长,很多应用系统都提到能够支持业务流程管理功能。BPM软件市场一片繁荣但又显得非常混乱,这是由于市场需求非常缺乏(从建模到自动化到优化),而BPM能够提供的ROI机会越来越被人们认可。本文将就什么是BPM、如何评价BPM软件产品等进行分析,进而结合软件需求对AgilePoint BPMS软件产品进行综合的评估。
4评估依据
4.1什么是BPM
全球最具权威的IT研究与顾问咨询机构美国Gartner在2006年2月对BPM如此定义:“…将流程管理/工作流和系统集成技术绑定 … 提供丰富的用户交互和底层系统连接功能…”“…嵌入到常规的程序中的流程需要迅速改变是不切实际的。… 需要具备让管理人员也可以设计业务流程,需要把流程的逻辑从底层的代码中抽取出来并且能够直接改变他们”。
从Gartner对BPM的定义中,我们可以得出以下结论:
1) BPM既能处理工作流中的人到人的流程,有能处理人到系统、系统到系统的流程,即Workflow+EAI=BPM;
2) BPM能提供管理人员直接操作的工具进行业务流程的设计;
3) 流程逻辑应该从业务逻辑抽取出来,以便快速适应业务流程需求的变化;
4) BPM不是单纯的一个软件系统,而是一个能提供完整解决方案的框架产品体系。
4.2如何评估BPM产品
基于Gartner对BPM的定义,我们可以从两个关键性问题对BPM软件产品做出全面评估:
1) 功能性:产品能够提供多少满足业务流程管理需求的功能?
2) 完整性:对业务流程管理而言,该产品是否已经提供完整的解决方案?
5评估办法
5.1BPM产品评估指标
首先,从BPM产品的功能性角度看,通常采用20个关键功能性指标比较的方法,应该确认这些关键功能必须是软件即买即用(Out-of-the-box)的。20个关键功能性指标如下:
1、强大的规则引擎
2、基于Web架构
3、安全及验证
4、流程文档化
5、基于角色流转
6、基于关系流转
7、相对关系流转
8、平行会签
9、特殊流转
10、支持队列及工作组
11、流程反转(rollback)
12、子流程
13、异常处理
14、第三方应用代理
15、EAI
16、支持弹性化表单
17、自定义视图
18、实时监控状态
19、分散式用户管理
20、任务指派和协商
其次,从BPM产品的完整性角度看,通常采用10个关键完整性指标比较的方法。如果该产品缺少一个或几个功能模块都将给用户造成额外成本,这样的产品通常是不完整的。10个关键完整性指标:
1、图形化流程设计
2、管理器
3、协同式设计
4、建模及模拟仿真
5、组织结构及整合目录
6、多样化客户端界面
7、流程监控
8、可扩展性
9、Web服务及整合
10、数据库连接及流程交易处理
5.2评估办法
根据上述提供的功能性和完整性指标,我们通过建立如下矩阵图进行分析,四个象限分别表示四种不同的BPM产品。
I.支持BPM的产品:该类产品功能较少,完整性也较差,仅仅提供对BPM的支持能力,常用的应用软件均支持。
II.BPM引擎:该类产品功能上往往非常齐全,但完整性不够,通常不提供完整的客户端工具,也不提供专门的流程设计和管理的工具,如BizTalk。
III.专业BPM应用产品:该类产品把BPM功能作为系统的一部分,在完整性方面做的都不错,提供了与其他应用系统的整合能力。但在功能方面往往比较差,非成为独立的BPM解决方案,如ERP。
IV.通用型BPM应用方案:该类产品的功能和完整性都比较强,其设计以BPM自动化为核心,提供适应大量BPM需求的软件包。
6评估过程和说明
6.1 AgilePoint BPMS介绍
AgilePoint BPMS是一个基于SOA架构的BPM 套件,它提供了业务流工具和开发框架,是一个完整的面向各层次用户的解决方案,它可以按需求实现流程自动化,并充分利用工业标准和客户当前的IT投资。AgilePoint BPMS系统架构如下:
AgilePoint BPMS产品由AgilePoint Envision、AgilePoint Server、AgilePoint Enterprise Manager、AgileParts、AgilePoint Developer共5部分组成,功能如下:
1) AgilePoint Envision是一个基于Office Visio的图形化流程设计工具。业务人员可以使用它直接进行流程的创建、模拟运行、部署和改进。
2) AgilePoint Server是高度可适应性的BPM引擎。它基于.Net, Web Services和XML技术、WfMC标准的流程引擎,应用了 SPDL的扩展集,执行BPEL模型,能够直接执行在AgilePoint Envision里创建的业务流程,并支持网络负载均衡和集群。
3) AgilePoint Enterprise Manager是一个ASP.NET应用系统。它提供给高级人员或系统管理人员对流程进行管理,并监控流程的运行活动和进度。
4)AgileParts是流程设计过程中的可重复使用的功能部件。技术人员开发的AgileParts可直接交给业务人员使用,使流程所见即所得。
5) AgilePoint Developer是一个基于Visual Studio.NET集成开发环境的项目框架。它提供给技术人员为开发AgileParts功能部件提供强大的扩展性。
6.2 AgilePoint BPMS功能性和完整性分析
评价项目 | 评价指标 | AgilePoint BPM说明 |
业务流程运行功能 | 1、 强大的流程规则引擎* | 在流程设计与部署过程中不必代码编译; |
2、 基于Web架构和SOA架构* | 完全基于网页浏览器方式运行,采用SOA架构; | |
3、 流程回滚 | 可根据用户需求实现任意回滚 | |
4、 实时监控状态(图形化) | 用户能对业务流程的进展情况进行实时监控,并以直观的图形方式显示出来; | |
5、 任务指派和协商 | 提供临时任务委派和预先任务委派功能; | |
6、 基于角色审批* | 通过对用户按照角色管理,并对角色进行授权,只有属于此角色的用户才能对业务流程中涉及的业务进行审批操作; | |
7、 基于关系审批 | 业务流程可根据岗位关系、上下级关系进行运行。如某一工作人员拟一份文件,必须经由该工作人员所在部门的负责人审核,业务流程必须能自动发送到相应的上级领导。 | |
8、 特殊审批 | 适应各种动态审批流程。 | |
9、 异常处理 | 软件提供异常处理,并且通过系统自动生成日志信息; | |
10、支持任务队列和任务群组 | 提供任务池、队列管理功能; | |
11、平行会签* | 允许多个用户同时对同一审批任务处理,如多个领导同时收到同一公文审阅; | |
12、多样化客户端界面 | 对用户端的操作界面来说,可支持webform、winform或其他形式(如微软的InfoPath)。 | |
13、数据库连接及流程交易处理 | 可以支持多种常见数据库。流程执行过程中中系统应具有事务处理机制。 | |
14、历史流程查询、统计 | 可查询历史流程,并且通过图表方式分析统计; | |
业务流程设计功能 | 1、 图形化流程设计* | 提供直观的图形化的操作单元,业务专业人员可很方便的通过拖拽方式进行业务流程设计,而不需要软件开发人员参与; |
2、 流程文档化* | 业务流程设计完成之后,且以标准的XML文件格式存在,避免流程变更时需要重新编译程序代码; | |
3、 建模及模拟仿真 | 提供流程仿真或流程模拟功能,考量业务流程设计的合理性,达到优化流程的目的; | |
4、 子流程* | 针对复杂的或有特殊业务需求的流程,需要能通过子流程方式对总体业务流程进行解化; | |
5、 支持弹性化表单 | 支持多种用户界面的表单,可以实现表单、业务数据与流程分离; | |
6、 协同式设计 | 提供流程设计及开发的协同,如流程模板版本管理、沟通管理机制; | |
7、 可扩展性* | 提供开发框架,具有很好的系统扩展能力。 | |
8、 应用系统集成(EAI)* | 作为软件系统的基础平台,提供不同方式、不同环境的整合组件; | |
9、 Web服务及整合 | 提供丰富的系统接口,以方便各软件系统之间的整合及数据交互; | |
10、第三方应用代理 | 对业务流程中的用户进行身份验证,以保证软件系统的安全,且支持第三方软件的身份认证; | |
11、支技DLL调用 | 可以调用DLL | |
对用户的管理功能 | 1、系统安全及用户验证 | 对业务流程中的用户进行身份验证,以保证软件系统的安全,且支持第三方软件的身份认证; |
2、组织结构及整合目录 | 适应复杂的组织机构管理; | |
3、分散式用户管理 | 已提供用户管理的功能,也能允许其他各软件系统对用户进行管理; | |
4、并发用户数量 | 并发用户数量可达到500至1000个,并提供网络级、流程级、任务级的负载均衡。 |
6.3 AgilePoint BPMS比同类产品突出优势
从目前软件市场中,AgilePoint BPMS比同类产品主要突出的优势如下:
1) AgilePoint BPMS是新一代智能化的业务流程管理平台。它可以让业务人员能够方便的创建并改进流程,让技术人员更专注于提供技术服务。
2)AgilePoint BPMS的流程设计工具AgilePoint Evision是基于Office Visio的图形化流程设计工具。它让业务人员使用原本熟悉的工具进行流程的创建,并快速地在Visio流程图中链接技术人员为软件功能、数据库操作及其他服务功能所开发的AgileParts图型组件,使流程所见即所得。
3)AgilePoint BPMS完全基于.NET和XML,并与微软的Visual Studio、SharePoint、 BizTalk、 Exchange、 OpenXML,、Windows Workflow Foundation and Web Services实现完全整合。
4) AgilePoint BPMS是由元数据驱动(Metadata Driven)的动态框架(Dynamic Framework)构成的架构,与昂贵的J2EE下的BPM产品相比,具有微软.NET平台的易用性和性价比。
5) AgilePoint BPMS不仅仅为了实现业务流程的计算化,而且融入了很多先进的管理思想和管理理念,体现了对业务(如:KPI考核)和流程(如:流程效率分析)的可管理性。
7 评估结果
参照Gartner对BPM的定义,结合BPM的评价指标,我认为,AgilePoint BPMS在功能性及完整性方面均比较成熟,具有比同类产品较突出的优势,应该是一个通用型BPM软件产品。