业务流程管理BPM选型策略

日期: 2011-12-05 作者:BPM 来源:TechTarget中国 英文

  BPM是一个流行了很多年的概念,其相关的产品也比较多。在新的SOA架构下,各个厂商都推出了基于新的规范的BPM产品套件,这些产品套件包含一个或者多个独立产品。但是对于刚接触BPM产品的人难免会多一些疑惑。另外很多CIO都在各种平台和产品之间也犹豫不决。因此对BPM平台的框架体系有全面的理解,对各个厂家产品所提供的功能有深入的认识才能为平台选型的决策提供可靠的保证。

  最近一个阶段由于新一代BPM产品的推出,很多大的企业也开始了基于BPM平台的系统建设。我参与了几个大的电信运营商的BPM平台的咨询和设计工作,在这些工作中,研究了很多新的技术方向和产品,下面我主要讲一下BPM平台的架构和主要的功能模块。

  作为应用集成平台的核心功能平台,业务流程管理平台(BPM)应该具有流程分析和建模工具、流程运行环境、流程监控和管理三个主要部分。

  BPM平台的组件和工具

  流程分析和建模工具

  这些工具方便了业务流程的分析和建模,同时可以把这些流程和实现技术相对应。另外,还有一些产品可以提供模拟流程的功能。

  业务流程建模工具应该提供如下功能分析、设计和修改业务流程,可以定义错误回复机制,审计模型和业务事务等。

  业务评估工具:定义评估业务流程主要指标(KPI),这些指标是流程执行后的数据结果。

  技术流程建模工具:把业务人员定义的流程映射到技术组件,比如消息流、数据转换、事务等。

  技术评估映射工具:把主要的KPI指标和具体的技术指标对应。

  流程仪表盘设计工具:可以把业务流程监控对应的用户界面和性能指标和具体的技术数据对应。

  模拟引擎:可以通过历史数据设计好的流程进行优化、测试,自动化的模拟流程的运行。

  对于一个BPM平台产品,可以不提供以上全部工具,但是必须要借助其第三方的工具来实现对应的功能。

  流程执行引擎

  运行业务流程的实际平台。包含执行流程的核心流程控制模块,支持外部定义规则的规则引擎和定时任务控制器。另外还有个业务流程知识库用来保存元数据、数据、规则定义、业务指标定义,访问历史记录等。

  另外由于业务流程系统要和外部系统交互,与其他流程交互的分布式流程协调器和接口管理器都是BPM平台需要提供的功能。

  活动监控和管理

  流程的管理:启动,停止,暂停流程。重新定义,修改流程。修改数据和消息,重新分配资源,性能监控等。

  业务活动监控(BAM)

  仪表盘:用于展示业务对象,业务评估指标的用户界面

  分析引擎:从实时运行数据和历史数据中获得KPI,并基于KPI做复杂的,基于规则的分析。

  事件管理:对于业务事件和技术事件进行检测和分类。在事件发生时触发对应的流程和分析规则。

   BPM的标准和体系

标准

组织

类型

业务流程执行语言

Business Process Execution Language(BPEL)

OASIS

执行语言

业务流程建模标记

Business Process Modeling Notation (BPMN)

Business Process Management Initiative (BPMI)

标记语言

业务流程建模语言

Business Process Modeling Language (BPML)

BPMI

执行语言

业务流程查询语言

Business Process Query Language (BPQL)

BPMI

管理与监控接口

业务流程语义模型

Business Process Semantic Model (BPSM)

BPMI

流程元模型

业务流程执行层

Business Process Extension Layer (BPXL)

BPMI

BPEL 扩展

UML 活动图

OMG

标记语言

工作流参考模型

Workflow Management Coalition (WfMC)

架构

XML 流程定义语言

XML Process Definition Language (XPDL)

WfMC

执行语言

工作流API (WAPI)

WfMC

管理与检测,

用户交互,系统交互

工作流XMLWfXML)

WfMC

编排 (或与之类似)

业务流程定义元模型Business Process Definition Metamodel (BPDM)

OMG

执行语言,标记语言

业务流程运行时接口

Business Process Runtime Interface (BPRI)

OMG

管理与检测,用户交互,系统交互

Web 服务编排描述接口

Web Services Choreography Interface (WSCI)

World Wide Web Consortium (W3C)

编排

Web 服务编排描述语言

Web Services Choreography Description Language (WS-CDL)

W3C

编排

Web 服务转换语言

Web Services Conversation Language (WSCL)

W3C

编排

XLANG

Microsoft

执行语言

Web 服务流语言

Web Flow Language (WSFL)

IBM

执行语言

业务流程设计规范

Business Process Schema Specification (BPSS)

OASIS

编排(及协作)

  按照以上的BPM组件和规范的说明,一般来讲BPM至少要支持流程设计和分析工具、和流程执行平台,而BAM可能是单独的产品。在BPM选型中可以根据以下大的方面来评测,由于篇幅原因,我只列出了一些大的方向,具体评测点就这里省略,有兴趣的朋友可以直接联系我。

  1.流程分析工具

  1)流程建模

  a)产品自带的可视化的流程建模工具

  b)如果产品无自带建模工具,请说明建模工具的名称和与BPM集成的方式

  c)流程建模支持多组织,多用户,多角色

  d)支持基于角色的泳道建模

  e)支持多种流程结构,必须支持串行、分支、合并等基本流程结构,支持自定义流程模板及已有模板:支持基本控制模式(Basic Control Patterns).高级分支和同步模式(Advanced Branching and Synchronization Patterns).结构模式(Structural Patterns) 多实例模式(Patterns Involving Multiple Instances).

  ……

  2)流程的测试

  a)有流程模拟运行引擎

  b)支持对流程运行情况的追踪,观测

  ……

  3)集成能力

  a)支持与MS Office的互操作(Word,Excel,Visio)

  b)支持精确的导入和导出BPEL,支持XPDL方式的人工流程WorkFlow:ASAP/Wf-XML(WFMC), XPDL(WfMC),支持BPEL方式的自动化流程Business Process:WSBPEL,WS-CDL

  ……

  4)BPMN规范支持

  a)支持BPMN,可以使用BPMN设计XPDL标准流程:支持基本业务活动单元、事件、路由、适配器等方式的拖拽式流程建模

  b)支持基于BPMN的图形展示

  5)多用户多版本的支持

  a)支持唯一集中式的资源文件(Repository)(基于文件或数据库)

  b)支持多版本和版本锁定

  2.流程设计

  1)事件处理

  a)支持商业事件的管理(支持事件的产生和提醒)

  ……

  2)编制(Orchestration)和编排(choreography)       支持基于编制的开发和部署

  a)支持基于编排的开发和部署,即支持从已有流程、服务和组件设计和开发复杂应用的能力

  b)支持长生命周期流程

  c)支持Web Service

  d)支持事务处理

  3)集成能力

  a)支持多种传输协议HTTP(S), TCP/IP , FTP,JMS等

  b)支持数据转换

  c)支持对各种Portal平台、各种Java Web页面技术(JSF,JSP,Servlet)的集成,并在开发阶段对开发商提供免费的技术支持

  d)支持对数据库的集成

  e)支持对其他流程平台的集成

  f)支持对SAP,Oracle等套装软件的集成

  g)支持多种流程建模工具,请列举支持的工具名称。

  h)支持多种流程监控工具,请列举支持的工具名称。

  4)易用性

  a)支持在一个工具内完成BPM解决方案的快速开发,部署和测试

  b)简单的开发语言和基于各种应用场景的完整的示范用例

  3.流程运行环境

  1)流程的管理

  a)支持流程的部署和管理

  b)支持对流程状态的修改,暂停、恢复和终止。

  c)支持在业务需求变化时对已部署的流程进行快速修改

  ……

  2)支持SOA

  a)支持ESB

  b)支持UDDI

  c)支持WS*规范

  d)支持集群(负载均衡和错误切换)

  3)安全性评估

  a)支持基于角色的管理

  b)支持审计功能

  c)支持和其他安全产品的集成

  4)平台支持(支持多种平台,IBM AIX,HPUX,LINUX,Windows等支持多种数据库平台,Oracle,DB2,SQLServer等)

  5)性能要求

  a)支持高并发的实时业务,满足以下技术需求,并提供满足以下技术需求的软硬件容量计划:并发流程处理能力为200笔交易/秒,每天处理业务量为500万以上。

  b)提供基准测试数据

  c)稳定性、扩展性:支持7×24的不间断服务提供:提供Active/Active方式的集群,保障较高的执行性能及稳定性;在多节点(Multi-Node)上支持程序的分布式部署,并支持节点间的程序连接以此进行有效的资源分散处理

  6)流程监控

  a)实时的流程状态的监控,支持对业务流程各指标的监控,例如:流程执行频率、流程执行平均时间、流程完成率等:用户对参与的业务流程及目前状态进行确认。操作结束后,根据客户样式,按流程单位自动创建report。为了管理程序,管理员可以确认全部的统计数据。可以事先将这些数据定义为业务上有意义的数值进行分析。

  ……

  7)容灾要求

  a)请说明系统备份和恢复的方案,备份恢复的时间。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

BPM
BPM

相关推荐