BPG-IT流程管理体系的最后一块拼图
时间:2010-01-29 11:48:41
来源:互联网
什么是流程?在李.克拉耶夫斯基和拉里.里茨曼合著的《运营管理-流程与价值链》第7版里有着明确的定义:“流程是一种或一组活动,这些活动利用一个或多个输入要素,对其进行转换并使其增值,向顾客提供一种或多种产出”。每一种业务都由一系列流程构成。从上边的定义中我们可以看出,企业运营的过程实际就是执行企业中众多流程的过程,企业中的所有工作都是与流程以及流程构成的价值链有关的。
对于企业来说,流程的重要性是不言而喻的,它是企业最重要的无形资产。也正因为如此,涌现出了各种各样的IT流程解决方案。典型的产品有工作流管理系统和业务流程管理体系。需要注意的是,流程本身是无法产生价值的,它需要人来执行。无论是工作流管理系统,还是业务流程管理体系,它们只是简化或替代部分人所要承担的工作,流程执行的核心是人。
但不管是工作流管理系统还是业务流程管理体系,它们都强调对流程的执行,即定义的流程本身需要由IT系统来解释执行。这存在很大的限制:对企业流程来说,有些是无法由IT系统执行的,有些使用IT执行的耗费太大,有些暂时不用IT系统支撑,这些流程都无法被工作流管理系统和业务流程管理体系所管理。此外,这些产品对流程管理体系化不够,这个系统化涉及到的内容包括如何挖掘流程即将不清晰的流通过数据采集分析定义为流程、如何根据流程建立起流程型的组织、如何让流程协调部门人员之间的工作、如何控制流程。很显然,对企业的流程管理体系来说,缺少了很重要的一块拼图。而业务流程治理(BPG)则是这最后一块拼图。
一、实际应用中的工作流管理体系
大多数的工作流管理系统实现是一个嵌入式的IT组件。它主要应用在需要多人协同工作的业务系统里。典型的有电子政务与行政审批、电信电力之电子工单等。尽管可以在自动节点里执行一些特定的逻辑,例如邮件、消息等,但是它的主要工作还是执行任务的分配,并把这些任务推送到特定的参与者手里。
从技术角度来说,工作流管理体系实际解决的是领域模型状态等待的问题。因为象Java这样的传统编程语言不支持可持久化的等待状态。这个等待包括了人工处理任务的反馈以及第三方IT系统的反馈。在没有应用工作流的业务系统里,业务对象往往需要内置一个状态位来标示当前业务对象被人工处理的状态。工作流将业务对象从任务状态属性里解脱出来。它实际是作为一个切面,解决的是业务系统的编程问题。
对于企业最终用户而言,工作流是无法直接使用的,它需要嵌入到业务系统中,透过业务系统提供价值。即工作流最大的价值实际是简化特定业务领域的编程工作,这个价值是提供给IT实施公司的,并非企业。实际就当前的工作流实现来说,不管是商业版本还是开源版本,因为其所设计的流程最终是需要被引擎所解释执行的,所以流程中每个节点的定义都要有着明确的含义,它需要被计算机明确而准确地解释,这导致对最终用户来说,这些流程的定义是繁琐的、复杂的,包含了太多与业务无关的技术细节,难以理解,也很难修改。
有两种方式解决这个问题。第一种是纯人工转换,首先是由业务人员对业务流程按照纯业务的表达方式进行建模,然后通过纸面和交谈,业务人员将自己的建模后的流程图讲解给IT技术人员,然后由IT技术人员根据交流和理解再重新建模为工作流引擎可以理解和执行的流程。第二种是自动转换,即业务人员可以直接使用建模工具对业务流程进行建模,然后通过编程技术结合业务特点在后台直接将业务流程转换为执行引擎可以执行的流程。这种方式的特点是:最终用户的业务人员可以对流程进行多次修改和优化,每修改一次就重新执行一次转换,这种方式对特定的很具体的业务领域来说,是可能的,但是没有通用性。
二、实际应用中的业务流程管理体系
BPM是一个很大的概念,它有着完整的流程生命周期管理理论。但是特定到IT产品里的业务流程管理体系而言,实现却并不令人满意(请注意BPM和业务流程管理体系之间的区别,前者是理论,后者则是当前的IT实现)。事实上,存在两种业务流程管理体系的实现,一种是原有的工作流厂商在以前的工作流产品中加入EAI的功能改名为业务流程管理体系;另一种是遵循BPEL规范的业务流程管理体系流程引擎。
查看BPEL的历史即可知道,它是用以编制Web服务的语言。当企业中存在多个业务系统,而这些业务系统需要进一步整合时,就需要Web服务暴露出相互的调用接口。所以,从根本上说,BPEL是一种EAI技术。
与工作流的嵌入式不同,业务流程管理体系通常是独立部署的。可以说,业务流程管理体系thldl.org.cn是IT发展到一定阶段的必然产物。和工作流一样,业务流程管理体系也是一种IT技术解决方案。相比工作流的流程定义,它的模型更加难以被最终用户理解,因为它涉及到更多的技术细节,例如数据转换、调用、逻辑判断等。正因为如此,为了最终用户能够理解流程,出现了BPMN,但是通过一个统一的标准来涵盖所有的业务场景是很困难的一件事情,更何况这个标准是IT公司提出的,而不是行业用户。由此而来的是BPMN到BPEL的自动转换工具,但目前实现上还存在很多困难。