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 | 管理与检测, 用户交互,系统交互 |
工作流XML(WfXML) | 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中国
作者
相关推荐
-
API管理工具能否弥补REST与Web服务之间的鸿沟?
随着企业学习如何通过RESTful利用现有服务,API管理工具正在引起轰动。API管理工具能否弥补REST与Web服务之间的鸿沟?
-
支付宝分布式事务测试方案
基于SOA架构,整个支付宝系统会拆分成一系列独立开发、自包含、自主运行的业务服务,并将这些服务通过各种机制灵活地组装成最终用户所需要的产品与解决方案。
-
解读阿米巴:用友U9克服“包干到户”的复杂性
日本实业家稻盛和夫提出的阿米巴经营模式备受我国企业的推崇,企业学习阿米巴经营模式蔚然成风。然而,阿米巴经营使得企业的核算模式变得复杂。
-
SOA架构:为什么需要API管理?
为什么我需要API管理?它能带来哪些好处?其实只是术语变了,但需求还是一样的。在SOA炒作的鼎盛时期,厂商们都宣扬他们的产品支持SOA治理。