再谈BPM系统实施

标签: IT咨询 | 发表时间:2014-11-23 19:20 | 作者:人月神话
出处:http://blog.sina.com.cn/cmmi
前面一瓶文章参考: http://blog.sina.com.cn/s/blog_493a84550102v3e8.html

在前面一篇文章中已经从全新业务应用构建和端到端流程整合两个方面来探讨了BPM系统实施的方法和问题,也给出对于一个遗留的IT系统,由于相关的IT遗留系统已经成型,对于BPM实施来说更加重要的是端到端流程的整合和监控,解决端到端流程中的断点问题。这篇文章还是想从一个理想化的场景来谈下比较理想的BPM建设和实施的方法,即基于SOA参考架构思想,如何在企业内部构建松耦合和服务化的SOA架构,并基于SOA架构来构建上层的BPM业务应用。

分析和建模方式的改变


从这几天的思考来看,个人认为对于一个BPM项目的成功实施,最重要的就是分析和建模方法的转变,如果仍然是按照传统的方法已经将业务分解到多个业务系统,那么面对的又将是遗留系统流程整合问题,而不是直接通过BPM+SOA方式来构建业务系统的问题。

流程驱动IT是分析建模中的一个重要点,从流程开始自顶向下分析和分解,划分组件和识别服务;在从组件开始自底向上进行服务组合和编排,形成应用或流程。这是一个完整的闭环路线,没有前者我们就很难真正的保证我们最终划分的组件,识别的服务能够真正应用到后续的服务组合和编排上面。

不应该太早的进入到业务系统的概念,对于SOA整个咨询和建模方法论里面的,我们是弱化业务系统的概念,而是进一步强化了业务组件和技术组件的概念。这样做的目的主要是在SOA参考架构里面原有的业务系统已经变成一个弱边界,业务系统仅仅是多个组件的灵活组合或组装;其次当我们以业务系统出发进行考虑的时候,我们思维里面仍然是纵向架构模式,但是当我们以组件,服务和流程角度来考虑的时候,思维里面是一种横向分层架构模式。对于横向架构模式本身重要的目的就是要打破传统业务系统纵向的强划分。

上面谈的是BPM实施中相当关键的一点,把这点想清楚了就清楚了BPM流程建模的真正意义。在流程建模过程中我们是按照流程驱动的思路在分解流程,在规划流程应该涉及到的流程环节和活动节点,在设计每个流程节点应该业务自动化和人工化处理的事情,在考虑相关的流程节点是否应该有前台的展现和交互界面,表单所涉及到的数据对象结构;这块想通了我们才会进一步考虑这些需要的数据或业务规则逻辑处理能力究竟应该由下层的哪些业务组件或技术组件来提供这些服务。

上面这句话如何理解?即就业务组件或技术组件本身来说还是按业务域,数据或技术域分开的,底层是组件化和服务化的,但是这些组件本身更偏服务能力提供,这些组件并不关系前端对应了什么流程,应该有什么样的人机界面交互,这些组件的职责相当简单,就是提供业务或技术服务能力而已。但是在组件或服务的上层,我们最终涉及完成的前端或业务流程流转所需要的界面却是不分业务组件或系统的,其本身就是流程化和一体化的,这些前端界面,交互和展现不属于任何一个业务系统,而应该属于BPM系统。

这就是一个理想化的BPM构建的方法和思路,把这个思路想明白后做过传统IT系统开发的就比较容易理解为啥BPM系统实施如此困难,为何BPM系统实施看到的很多都是单纯的HWF人工工作流引擎的实施。这个的本质就是分析和建模思路没有转变,没有从传统围绕业务系统为核心转换为横向的围绕组件和服务为中心来思考。

BPM构建和实施层面

当前各个国际大厂商的BPM工具和产品套件已经相当成熟,但是在这里要说明的是BPM软件产品虽然可以灵活的通过配置和可视化建模设计和方式来构建业务系统前端流程,但是其配置的繁琐和复杂程度往往超过了直接写代码的模式。也就是说很多时候可配置的方法虽然开似很美好,能够灵活的应对业务的变化,但是很多时候往往开发配置效率是降低的,同时对于BPM本身新设计完成的流程仍然涉及到需重新发布的过程,也远远无法达到我们期望的零部署模式。

一个BPM建模和执行工具平台,更多的是从服务层开始流程整合,而不是从遗留系统的界面层。如果已经有成熟的业务系统和前端功能界面,那么实际问题仅仅是两个系统的两个功能间的业务或数据交互问题,这类问题是不需要用BPM工具来解决的,直接用到ESB服务总线这层就足够了。

对于BPM平台一定要注意到其擅长的并不是单个业务系统内部的功能构建,如果一个业务系统本身不涉及到外部交互,仅仅涉及到内部功能或数据流转,我们其实强烈不推荐采用BPM产品和建模方法,能够有人工工作流引擎就足够了。一个稍微复杂点的业务如果全部用BPM可视化建模和配置来实现出来,超过几十个节点是常事。这种BPM建模文件文件维护的难度反而不如逻辑清晰的源代码。不要把BPM产品理解为快速开发平台,虽然很多BPM产品想朝这个方向走,但是确实不是BPM擅长的事情。

而真正BPM产品最擅长的还是在跨系统的业务流程场景出现的时候,这种业务场景显然放在任何一个已有的业务系统都不合适,但是这种端到端流程本身在业务上又需要统一管理和管控。在这种场景下是最需要BPM的能力,即前端交互和流程流转统一规划和设计,原有的业务系统仅仅为上层提供数据和业务服务能力。

大家可以考虑下,如何我们要构建一个企业电商的客户自服务平台,这个自服务平台需要能够方便客户实现对从订单到交互的全流程跟踪和管理。这种平台往往本身并不产生大量的基础数据和存储逻辑,而是需要大量的调用或系统企业内部已有的CRM系统,ERP系统,PDM系统,MDM系统的能力。对于这些遗留系统能够提供的能力根据客户需求和流程的需要进行组合和编排。同时基于这些能力,重新设计端到端的前端界面交互和流程流转,这就是一个BPM相当理想的实施环境。从这个层面来说企业内部常见的风险管控系统,合同端到端跟踪系统,财务共享服务平台等都是比较适合BPM的应用场景。

  青春就应该这样绽放   游戏测试:三国时期谁是你最好的兄弟!!   你不得不信的星座秘密

相关 [bpm 系统] 推荐:

谈BPM系统实施

- - 人月神话的BLOG
前面已经写过很多BPM和工作流,BPM和SOA关系的文章,在这里主要谈下一个BPM软件系统在实施过程中的一些关键问题和注意点. 对于BPM软件前面已经谈到过一定是包括了自动化的业务流和人工工作流引擎两部分的内容,同时为了更好的处理在业务流程建模中的业务规则往往还需要有单独的规则引擎子系统或模块. 一个完整的BPM系统往往包括了流程建模和设计,数据建模,界面设计,基础数据和权限设计,流程执行和监控,流程仿真,流程绩效评估多个方面的内容.

再谈BPM系统实施

- - 人月神话的BLOG
前面一瓶文章参考: http://blog.sina.com.cn/s/blog_493a84550102v3e8.html. 在前面一篇文章中已经从全新业务应用构建和端到端流程整合两个方面来探讨了BPM系统实施的方法和问题,也给出对于一个遗留的IT系统,由于相关的IT遗留系统已经成型,对于BPM实施来说更加重要的是端到端流程的整合和监控,解决端到端流程中的断点问题.

整合Activiti Modeler到业务系统(或BPM平台)

- - 咖啡兔
Activiti 5.10版本把原本独立的Activiti Modeler模块整合到了Activiti Explorer中,两者相结合使用起来很方便,通过Modeler设计的流程模型可以直接部署到引擎,也可以把已经部署的流程转换为Model从而在Modeler中编辑. 在实际应用中也有这样的需求,把Modeler整合到业务系统中可以供管理员使用,或者作为BPM平台的一部分存在,很遗憾官方没有给出如何整合Modeler的文档.

BPM实施交流总结

- - 人月神话的BLOG
最近陆续和朋友和客户交流了BPM产品和实施的内容,简单总结如下:. 首先还是再次重申下BPM和传统工作流引擎的区别,BPM是跨了多个业务组织和业务系统的端到端流程建模和整合,其中既包括了自动化的业务流也包括了人工审批流. 而工作流引擎往往是局限在一个业务系统内的单一的处理人工审批流的流程引擎. 对于BPM的成功实施有两个重要的前提,一个是需要有企业架构和流程建模思想的引入和导入,业务和流程驱动IT,从顶层的端到端流程逐步分解到四级和五级流程,再到业务架构和数据架构,最终再朝上追溯端到端的流程整合和集成.

Activiti - 新一代的开源 BPM 引擎

- - Web前端 - ITeye博客
Activiti 其核心是 BPMN 2.0 的流程引擎. BPMN 是目前被各 BPM 厂商广泛接受的 BPM 标准,全称为 Business Process Model and Notation,由 OMG 组织进行维护,2011 年 1 月份发布了其 2.0 的正式版. BPMN 2.0 对比于第一个版本,其最重要的变化在于其定义了流程的元模型和执行语义,即它自己解决了存储、交换和执行的问题.

对BPM软件的再思考

- - 人月神话的BLOG
这篇主要进一步反思原有相关工作流引擎和BPM软件的一些看法. 我曾经谈到过,BPM应该包括了自动化业务流和人工审批流,同时BPM关注的是跨系统流程,而对于工作流引擎往往重点是单系统内的流程. 正是基于这个思考,一直很难真正想清楚一个完整的端到端流程的发起和处理是否可以完全靠BPM系统来进行从建模,设计,开发和发布的全过程.

架构 - 业务流程管理介绍(BPM)

- - 博客园_知识库
  最近公司准备采用外部的开发平台,其中就有BPM厂商. 以前也看过一些BPM相关的资料,为了加深对BPM的理解,本篇我将对以前对BPM的理解进行一个简要的整理,也希望能给大家一个参考.   维基百科中说,业务流程是为特定的对象(客户) 创造价值的过程,这一过程由一系列 相关联、有组织的 活动或任务组成.

BPM流程管理软件的五大创新

- - 博客园_知识库
  业务流程管理软件既是一种载体,也是一种应运而生的工具. 业务流程管理(BPM)软件是大部分企业的重要工具,有助于企业进行集成和自动化梳理内部流程. 随着技术的不断创新不断进步,BPM的功能也随之不断完善. BPM出现的新功能是否为企业进行流程管理带来变化,当中是否存在发展瓶颈. 下面介绍BPM软件的五大创新:.

壳系统

- Vernsu - It Talks-魏武挥的blog
经常有人被我问到“你用什么浏览器”时的答案是:傲游啦360啦,但事实上,这些都不是真正的浏览器,从技术角度讲,充其量只是在IE浏览器上加一个壳罢了. 在国外,壳浏览器是以“皮肤”的形式存在,纯属为了美化浏览器而用. 但在中国,壳浏览器成了一门生意. 奇虎的主要收入来源并非来自那个由于一场商战而赫赫有名的安全卫士,而是来自于360浏览器(它有两个版本,分别以IE和Chrome为内核).

秒杀系统

- - 开源软件 - ITeye博客
秒杀系统架构分析与实战. (反馈非常好的文章,推荐). (1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货. (1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;. 假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要面对的技术挑战有:.