蝴蝶效应是一种混沌理论原则,该原则认为不同的一个系统初始条件会影响到整个系统今后的行为规范。目前没有哪个企业比依靠信息技术(IT)行业维系的企业局面更为混乱了。因此,业务决策的细微差别会在整个IT行业导致千差万别的结果。只要在手机、传真和电子邮件的手动领域,IT和业务之间仍然存在通信,蝴蝶效应就不会成为一块绊脚石。但是,高效的IT可以为业务决策者提供所需的工具,并以自动化方式交换决策。有时候一些对那些毫无戒心的业务经营者采取的一些无意的行为很有可能会导致IT发生难以预料的后果。
面向服务架构(SOA)显然也是组织IT资源的一种方法,这样,业务就可以更好以自动化方式灵活利用资源–很显然这种方法增大了蝴蝶效应发生的几率。有些人认为业务灵活性可能会引发新的危机,这种观点颇具讽刺意味。但是,我们曾多次警告过架构设计师,如果SOA实施不当会遇到许多风险。但是,蝴蝶效应却暗示我们,即便SOA得到妥善处理,还是无法避免这种固有的风险。从本质上来说,正确实施SOA可以给予人们更大的灵活性,同时也给人们带来很大风险。
SOA治理的两个方面
幸运的是,这些公司可以在实施SOA之初就采取有力措施,防止这些混乱阻碍业务的发展。大体上来说,这些公司为了避免员工把事情弄糟能够采取的方法就是实施一个治理框架,该治理框架为在机构中建立,通信,并强制执行原则提供了一个基础设施。尤其是IT治理,当前滋生了很多活动。不仅是因为公司要管理他们的IT操作,而且业务也需要IT为业务提供尽可能多的治理工具。因此,在公司实施SOA的同时,IT治理采取的面向服务架构方法受到众人瞩目也就不足为奇了。
SOA治理包含两个方面,一方面,SOA意味着管理一个SOA实施措施–例如,将共有原则传给实施服务的开发者,当开发者将SOA实施的各要素结合在一起时,给予开发者执行这些原则所需的工具。另一方面SOA治理还有一个广义定义:SOA环境下的IT治理。毕竟,SOA不是你在角落里所应用的唯一的方法。SOA应当被看做是企业架构,服务定向原则应该贯穿整个业务和IT的互操作过程。正如ZapThink SOA Roadmap所示,建立一个治理框架是SOA成功实施的一个关键步骤–不只是用于SOA实施的治理框架,而是能够在整个机构中描述治理实践的框架。机构将会利用服务的灵活性和力量而这些服务则是SOA实施的核心。因此,只要我们坚持对SOA广泛的战略定义,通过利用SOA治理实施,SOA蝴蝶效应问题,一定可以得到解决。
蝴蝶振翅
让我们看一个蝴蝶效应的实例。例如,考查销售报告的管理者要求其数据的实时性比公司CRM系统的数据要强。传统意义上来讲,在还没有实施SOA以前,管理人员可能会调来一名IT部门的数据分析师,或者要求一份含有更多最新数据的报告。数据分析师知道生成报告的分析软件可以利用询问处理数据仓库,该数据仓库只有上个星期六的总计数据,然而管理者并关心具体技术是如何操作的,他们只需要报告来做决策。在这种情况下,数据分析师就要知道要用多长时间才能建立,测试,并运行一个交易系统数据库的查询。并将信息译为要求额外资金和时间的请求。管理者必须做出决断,是否这篇报道能够保证生成一个请求。
现在让我们转向后SOA方案。在同样的状况下,管理者可以通过公司门户站点应用政策管理工具。这种工具利用构成SOA治理框架的服务,但是管理者并不了解具体细节,他们只知道通过公司访问门户更改某些公司制度,例如,管理者可以在访问门户调整服务层面协议(SLA),以便公司制表能够包含全部所需的报告,为公司数据调整转向时间,从"一个星期"到"一天"。
现在IT所面临的问题是,我们为蝴蝶效应付出了极高的代价,IT机构能够自动对管理者做出的调整有所回应吗,或者会要求IT人员进人工干预。IT是不是无法满足新的SLA?,甚至是,如果不同的管理者在同一时间更改了不同的制度,会发生什么样的事呢?IT首先要解决的是什么呢?在前SOA时代,自动化的匮乏借助人力改善受到影响的IT, 所以当遇到突发事件时,人为因素很可能在业务更改方面起了很大的作用。由于SOA治理指向了更多的自动化制度管理,但是许多公司却在铤而走险,将人为判断智能化。
元策略解决方案
幸运的是,当一个公司注意到蝴蝶效应时,解决方案就简单的多了。很明显,业务要实施的制度改变和要求手动解决的IT之间是有一定的差别的。换句话说,SOA治理不仅要求管理策略,还要求管理策略的策略–你也可以称之为元策略,这样的元策略可能对策略改变是有边界条件限制的。例如,SOA策略不仅要求被授权管理人员可以得到IT的同意就可以改变策略,这种策略的改变最多可以达到10%,但是,任何超过10%的策略改变都需要经过特定经理的批准。
事实上,没有所谓额度全自动治理框架。从某种程度上来说,人必须直接管理策略变更。但是这个条件并不代表策略是一个骗局,但是,由于高效的SOA治理工具能够为公司如何建立,通信管理策略,提供极大的自动化和充足的灵活性,但是和其它强大的工具一样,人们必须要清楚他们使用的是什么,而且要小心慎用。蝴蝶效应带给我们的另一个启示就是IT必须拥有一定的管理权,以确保可以调用策略做出决策,如果负责策略变更的管理者不了解这些变化的内涵,那么这个问题依然存在。
ZapThink采取的措施
当一个公司实施SOA后,负责批准策略变更额度IT管理人员就会架构实施的相互依赖性有了更为深刻的了解。在前面的SOA实施前的例子中,只有数据分析师需要了解数据查询所需的时间和成本。在SOA实施后,策略改变可能会影响更多额度应用,数据源,旧系统。因此,不管策略变化有没有什么意料之外的结果,分析师也不像是进行呼叫的人。这个进行呼叫的人必须对IT有着深刻的了解,也知道用业务术语描述一个复杂策略的成本和收益。因此,这个任务非架构设计师莫属。