SOA(面向服务的架构)是一种企业级的IT架构方式,它把IT资源作为与业务协调的服务来提供,从而满足业务要求。但大部分的业务领导者并不关心SOA具体是一种什么理念,可以实施什么新技术,而只关心能不能改善他们的BPM(业务流程管理)。现在早已过了SOA的概念普及阶段,对用户来说,拿什么做SOA的切入点才是他们所关心的。
再来看看BPM,与其说它是一项技术,不如说是一门商业学科,要确保 SOA能够提供商业价值,它就必不可少。BPM在经历了数十年的发展后,如今,正悄然掀起一场流程管理的热潮。
BPM效益在哪里?
以前,其他部门人员去财务部门报销时,要么就是少了发票,要么就是少了审核人或者审核人不对,甚至有时候没有采购单等相关工具。财务人员不给审核,他们就跟财务人员吵架,说财务人员臭摆架子,有的还去老总那边打小报告。久而久之,同事之间渐生龃龉。
再举一个例子。某家生产企业样品管理很不规范,有时候,为了能及时把货交给客户,销售人员竟然直接把订单拿给研发人员生产。我们都知道,研发部分的耗费都是不直接计入到生产成本中去的。到了年底,研发人员一统计费用,吓了一大跳,怎么会这么多?不仅如此,这个费用还影响到了研发人员的考核,他们自然不愿意销售人员把本来应该是生产部门生产的订单,拿到研发部门来生产了。长此以往,两个部门的扯皮现象就越来越严重了。
第三个例子:一家从事电线电缆的制造企业从国外进口了几件全自动的生产机器,可以生产不同颜色、规格的电线。因为同一台机器放入的PVC颜色不同,生产的电线颜色也就不同。为了防止色差,要求在换PVC进行生产前,必须对机器进行彻底的清洗,同时,对于换过PVC后生产出来的电线,要进行首件检测。虽然管理人员多次强调这个流程,但却一直很难实施。
BPM怎么改善这些矛盾?
首先规范报销的相关制度,规定具体哪个部门的费用要由谁审核才能报销,再根据报销费用的多少设置从部门经理到财务总监、总经理等多道审批权限,并且设置代理人制度,以确保当相关领导人出差时,相关的费用也能得到及时报销;再者,对于报销的单据也要进行详细设置,如给差旅费用的报销单据规定下限等。
这些流程和制度在全集团范围内推广、培训之后,财务部门就少了许多吵闹声,当员工再拿着手续不全的单据来报销时,财务人员只要拿出相关的报销流程与制度,员工自然没话说,只好回去补全手续。
第二个例子则是这样解决的:对样品的制作流程进行详细描述,对于那些走样品流程的订单也作了严格的限制,销售人员、研发部门都按照这个规定操作。从此以后,销售、研发、生产各个部门的权限明确,避免了很多不必要的冲突。这也是BPM最直观效果。
对于那家生产电线电缆的企业,管理者们终于在BMP实施之后,决心强力推行清洗和首件检测的流程。他们特意把流程制成卡片,塑封后挂在机器上及相关作业人员的工作牌上,随时提醒他们严格按照流程操作。对于不及时按照这个操作的员工,都会给予严厉的处罚。从此以后,生产人员每次换PVC之前,都会进行机器的清洗并进行首检。
所以,采取标准化的流程作业,可以在一定程度上减少由于流程不规范所造成的损失,这也正是实施BPM的目的之一。当然,光靠业务流程管理软件本身还是不行的,还要靠配套的管理才能把这些流程彻底落实。
走的人多了便成了路
有一个聪明的大学校园规划专家,他设计道路时并未贸然动手,而是先等待学生们在各个建筑之间自己用脚走出路线,再根据他们的习惯,在这所新大学里浇筑水泥人行道。
传统的IT基础设施很大程度上是在沿着同样的道路演进:现在经验丰富的操作者在铺设自动化设备之前,会尝试先透彻理解用户需求(这些设备可比混凝土难对付多了),然后再进行设计和施工。完全不考虑旧系统而重新设计流程和围绕应用进行开发的传统方法,已经不能再满足领导者对速度和正在进行的流程变革的需求。
一旦更容易的集成技术发展最终赶上了管理对经营提高的持续推动,就不必再等待人为踏出人行道,BPM在此时发挥了作用。尽管很多供应商可能对BPM作了不同定义,但是大部分都认同BPM给组织提供了定义流程、执行流程和管理流程的能力。
没有SOA之前,BPM产品已经出现并成功应用,BPM的主要应用场合有如下几点:
业务流程自动化(BPA)。BPA按照业务需求,自动化流程,这是现在工作流技术还在继续做的事情。
整合应用系统(EAI),实现异构系统之间无缝交流。不过实现方法和老的EAI技术是完全不同的。
企业流程建模分析(BPM)。在详细了解企业流程划分之后,用全局的视角,对一堆流程进行梳理,并给出企业流程全局图。
业务活动监控(BAM),实现企业流程持续改进。BAM需要用前面的企业流程全局图,分析企业流程效果和效率,提供优化方向,实现企业级的流程管理。
在上面描述的BPM的四大应用场合中,每个都和SOA有千丝万缕的关系。
不过,BPM和SOA的驱动因素大不相同:BPM是业务驱动型计划,而SOA是IT驱动型计划。是什么原因开始让BPM和SOA联系到一起,并受到了分析师们的更多关注,甚至还成为了业界新闻呢?
SOA作为BPM的一个重要基础,用以整个企业范围的BPM管理,使流程服务能够快速组合,从而编排成更大的端到端流程。这是因为企业需要基于 服务 来设计可以灵活更改的流程,这些流程并没有被 写死 到应用程序的代码结构中,不会导致以后无法更改。
SOA让用户可以轻松地将业务流程连接到基础系统,从而节省时间和IT资源。但将流程链接到传统的应用通常要依赖大量不同的专有技术,而在采用BPM的同时转向SOA,可以促进SOA组件的再利用,从而最大程度地降低业务流程本身的复杂性。
企业的首席执行官和IT部门能够联手促进SOA应用的一个想法,就是在SOA的基础之上采用BPM应用程序。让SOA适应BPM ,让BPM成为机构的 杀手应用 。
没有SOA,BPM一样会出现并得到实现,但是,在SOA将更多标准和系统整合成为可能的基础上,通过SOA而在整体范围内实现BPM将会得到最大程度的简化。就我听到的最为形象的一个比喻则是,在脱离SOA协助下的BPM如同一个将一只手捆绑在背上的人努力想要去达到的目标。