业务流程管理(business process management,BPM)不仅仅只是作为一种工具,同时也作为一门科学,在2008年的时候,SOA解决方案提供商也许会面临更长的道路,也许并非如此。不过,SOA解决方案提供商总会有艰巨的任务。SOA产品是以一种IT结构为基础的产品。这种架构需要在同一个网页上得到管理和IT支持。
是什么原因开始让BPM和SOA联系到一起并受到了分析师们的更多关注甚至还成为了业界新闻的呢?毋庸质疑,SOA可以作为一个基础,用以整个企业范围的BPM管理。
企业的首席执行官和IT部门能够联手促进SOA应用的一个想法就是在SOA的基础之上采用商务流程管理(BPM)应用程序。BPM将成为机构的“杀手应用 ”。SOA将能够适应BPM。因此,位于德国Darmstadt的Software AG软件公司在去年6月收购位于美国弗吉尼亚州Fairfax的webMethods公司的时候也获得了自己的BPM产品。
知名咨询师和专栏作家Joe McKendrick在近期IT Business Edge的问答栏目中解释到了他对这两者关系的看法:
“没有SOA,BPM一样会出现并得到实现,但是,在SOA将更多标准和系统整合成为可能的基础上,通过SOA而在整体范围内实现BPM将会得到最大程度的简化。就我听到的最为形象的一个比喻则是,在脱离SOA协助下的BPM如同一个将一只手捆绑在背上的人努力想要去达到的目标。”
BPM将会带来什么样的具体好处?根据Aberdeen所发布的白皮书,best-in-class公司在报告中指出使用这种BPM工具的时候明显减少了手工工作流的集成点。同时,较低的经营成本和更为简洁的业务工作流有效的增加了他们的投资回报,让BPM工具的投入迅速带来了收益。
SOA解决方案中的治理需求来源于机构的复杂性,因为随着时间的推移,企业已经开发和重新使用了SOA环境中的服务。人们开始很容易地在一个机构中制作许多这种服务。这是很好的,并且推动了人们向SOA的方向发展。另一方面,这种做法也造成了某种程度的混乱。对于一个SOA项目来说,最糟糕的是让几项服务做同样的事情,但是却没有人知道哪一项服务实际上做什么。由于其面向服务的性质,SOA本身已经帮助了内部业务的运行。Totev举例说Software AG公司的客户北欧航空公司就把IT看作是一个重要部门。
一旦他们转向谈论拥有服务级协议和解释明确的功能的服务的时候,他们更容易向股东解释他们正在做什么工作,这个变化将产生什么影响,接触或者改变了哪一个具体的计划。
目前有一种倾向是将协同与OA对应起来,这种观点除了某些工具类协同软件在应用上尚显匮乏,从而给人以误解外,也不排除是传统OA对协同思想持排斥态度的结果。从国外同类产品横向分析来看,协同与OA虽然并不等同,但相互之间有很深的渊源。微软的协同软件产品名称Networks,就包含了网络办公的意思。 IBM的协同软件,也来源于广泛用于OA领域的Lotus。从国内协同软件产品来看,协同与OA也密不可分,如复旦协达等市场主流协同软件,不仅能够实现协同商务的应用,同时OA也是其基础应用之一。
从理论角度分析,协同是管理思想,OA是应用领域,两者虽不等同,但更不应对立;从实际应用角度分析,协同应用较早、较广的协同写作,与OA的公文管理中多人协作核稿、审稿等应用,所面向的具体事务和工作内容几乎吻合。OA与工作流的关系,就像与即时通讯、协同写作的关系一样:并非对立,而是交融。
新一代的BPM将会带来什么样的具体好处?根据Aberdeen所发布的白皮书,best-in-class公司在报告中指出使用这种BPM工具的时候明显减少了手工工作流的集成点。同时,较低的经营成本和更为简洁的业务工作流有效的增加了他们的投资回报,让BPM工具的投入迅速带来了收益。
业务流程执行语言
业务流程执行语言(Business Process Execution Language for Web Services,BPEL)是一种使用XML编写的编程语言。用于自动化业务流程,也曾经被称作WSBPEL和BPEL4WS。广泛使用于Web服务相关的项目开发中,优点为具有可移植性和有效保护了投资。这一标准的方法将流程的范围从业务分析落实到技术实现。许多组织正从面向对象的业务流程管理范例转移到面向服务的方法,实际上,服务正在成为业务流程建模(BPM)的基本元素。同时,业务流程执行语言(BPEL)已经成为编排这些服务和管理业务流程的无缺陷执行的事实标准。通过BPEL,SOA可以对服务化的业务系统实现:无需人工参与、自动化的处理和调用,从而实现更灵活、更经济、更高效地管理业务流程。
由于BPEL的标准性、先进性和自动化的特点,使得BPEL成为了构建在BPM和IT系统之间的桥梁,使得BPM可以和SOA架构技术很好地融合,SOA中的服务编排(Service Orchestration)通过对BPEL的执行来实现BPM。
SOA是创建更灵活的企业基础架构的架构方法,而BPM是一套协调的业务流程活动。SOA使用户可以轻松完成将业务流程连接到基础系统的任务,从而节省时间和IT资源。与之相比,将流程链接到传统的应用通常要依赖大量不同的专有技术。而且,在采用BPM的同时转向SOA可以促进SOA组件的再利用,从而最大程度地降低业务流程本身的复杂性。将BPM作为SOA的一部分进行部署,这意味着当一个业务流程连接到底层系统时,它连接到由企业服务总线所提供的代理服务,这样就隐藏了底层应用程序和数据库的复杂性。这具有以下优点。
1.将业务流程连接到系统的过程会更简单,因为IT可以公开更有用的接口,比如聚合的数据服务或使用标准协议,而不是专有协议的服务。这减少了实现流程所需的IT工作量,并允许流程人员将精力集中于流程,而不是粘合流程与底层系统所需的技术。
2.对底层IT系统的更改不必影响流程所使用的接口。
3.它在BPM工具之外提供了一个独立的控
制和管理层,这允许IT人员更好地管理他们所拥有和维护的服务和资源。