信息化需要SOA

市场竞争愈演愈烈,新一轮经济环境下的市场博弈要求企业具备更多的能力。随着业务环境的日趋复杂和变动频繁,大型企业的信息化所面临挑战已经由效率和自动化议题转移到复杂性管理和业务敏捷性上来。常见的情形是由现存的大量应用和接口所构成的复杂网络产生了高度复杂的企业IT系统,使得企业IT系统的变更越发困难,并且这些变更对企业的影响也变得比以往更加难以预测和理解了。

为了应对这个问题,面向服务的架构SOA(Service-Oriented Architecture)以其高度的灵活性、开放性和可复用性引起了供应商和用户的高度关注和支持。SOA的概念最早由国际权威的IT研究与顾问咨询公司Gartner于1996年提出。著名IT调研机构IDC预测,到2013年,全球企业SOA的开支将增长25%。据主要行业商务智能研究公司Report Buyer发表的题为《2008-2014年SOA基础设施市场份额、战略和预测》的报告显示,2007年全球SOA市场的规模为20亿美元,全球SOA基础设施市场在未来六年里将扩大四倍,预计到2014年将达到91亿美元。

SOA的概念提供了一种架构风格,这种架构风格旨在简化业务以及不同业务单元之间的互操作性。将能力结构化为有意义、弹性粒度化的服务,而非不透明的、独立的业务单元,从而迅速地识别企业的能力,避免在企业的不同业务区域、部门、单元内重复构建相似的业务能力。通过进行服务行为和互操作的标准化,能够限制变更所导致的不良影响,也可以预先了解可能产生的影响。

从软件开发的角度来看,SOA专注的就是如何更为灵活、敏捷地构建应用系统,这在当今复杂、高速发展的业务环境中是非常必要的。SOA意在打破传统的应用竖井结构,形成以开放和可互操作的方式运作的更粗粒度服务的组合,同时将可商用的能力抽取到一个提供可共享和复用的效用服务的虚拟基础设施平台中去。

SOA导致的复杂性

保证企业的业务与IT之间的融合和匹配是SOA采用者所面临的最基本挑战。然而,即使在两者完全对齐的企内,SOA景观和传统IT景观之间仍存在诸多重大差异,引发了新的重点和关注点。

在过去,“应用”的概念是理解业务和IT之间关系的关键。在过去的历史中,应用与企业的竖井结构紧密相关,并且由于应用的数量很少,很容易对这些应用进行治理。然而,在SOA上下文中,应用的概念是由更细粒度应用服务的概念扩展而来的,这不可避免的导致了新的挑战和复杂性。

在提供更好的业务灵活性和敏捷性的同时,将竖井化的业务功能和应用分解为服务,需要付出一定的成本,因为这会产生出需要被有效管理的更为细粒度的IT景观。随着服务的使用和服务间交互的复杂性的增加,大量急速增长的服务必须得到有效的管控(数以百计、千计的服务相对比于原来数以十计、百计的应用),此时,需要重点考虑以下几个新的管理要点:


■  技术组合和服务组合之间关系的理解
■  服务等级协议(SLA)的定义、治理和影响管理
■  将业务追踪到IT
■  沟通、对齐和语义
■  平台和互操作性
■  绩效的可视化和优化

一般而言,技术可以提供工具手段对这些要点进行管理,从而解决服务的管控问题,但这里问题的真正症结点在于有效运作SOA需要对IT景观与它所支持的业务之间的关系有更规范的理解。如果这种理解缺失,很可能将出现由于SOA的采用反而导致成建制开发的IT景观存在实际的重大风险,这表现在以下几个方面:


■  在不适当的粒度级别上的非计划、非对齐的服务的增长。
■ 不能进行影响评估,以及由此所导致的基础设施的超支,或者服务质量低下。
■  多重技术堆栈的支持代价十分高昂,并且不能互操作,导致被实施细节束缚的服务孤岛的产生,进而由于服务管理和IT运营的更多复杂性导致整个IT景观的脆弱性以及高额的运营成本。
■  不能使潜在的服务客户识别可重用的服务,导致能力重复,缺乏可见度以及增加整合的复杂性。

因此,针对以上的这些非技术层面的问题,如何找到一条有效应对SOA的这种复杂性的途径,从而缓解和消除随之而来的一系列风险呢?近年来,产业界和学术界都对此进行了不懈的探索和实践。目前一个比较广泛的共识就是:通过发展企业架构,为SOA的成功实施提供有效的保障。

企业架构如同战略

企业架构(EA,Enterprise Architecture)是对企业多角度的一种描述,并综合反映企业中的人、流程以及技术,为企业中的不同参与者提供不同的视图,并用他们易于理解的方式和语言反映企业的状态。企业架构活动在企业的生命周期中将持续进行。企业架构将企业或行业价值链视作一个系统,是架构学科在端对端企业中的应用。企业架构是企业战略得以有效执行的核心基础。管理大师拉姆·查兰在风靡全球的《执行——如何完成任务的学问》一书中一针见血的指出:一家成功的企业,30%靠战略,30%靠运气,另外40%靠执行力,可见战略及其执行力对企业是何等的重要。企业架构开发协会(IFEAD,Institute for Enterprise Architecture Development)概括出了企业架构的重要指导原则:“没有战略眼光,就没有企业架构。”从这个角度来看,企业架构可以说是根据一个战略性的企业眼光结合业务和技术要素的整体规程。

尽管企业架构概念已经出现了二十多年,但是企业架构近年来又引起了业界广泛的关注。企业,特别是大型企业开始重视发展企业架构,主要源于当前大多数行业中各种规模的企业的运营环境的变更在不断加剧。业务灵活性,特别是技术基础架构及时响应变更的能力已经达到决定性的重要程度。导致人们对企业架构更加欣赏的另一个因素是,在美国、西欧及其他地方,近年来政府对企业更加严格的遵守某些规章制度的要求,这不仅推动企业提高其责任心及报告实践,还适度使企业中的每个业务过程更好的符合遵从性。就我国而言,根据IDC的调研报告《架构企业未来:2010企业架构中国管理者调查报告》,目前中国国内的企业架构的初期普及实施已经开始,超过73%的大型、超大型企业已经开始或已构建了企业架构,相当数量的大型企业已经意识到企业架构对企业业务及战略的支撑能力,并以此作为企业实现未来竞争力的关键。

企业架构如何支持SOA

特别的,针对SOA而言,企业架构提供了一系列的工具和技术,这些工具和技术能以健壮、可维护的方式,把自上而下的业务主导的SOA和自下而上的开发者主导的SOA连接起来,解决了采用SOA时所面临的相关非技术性的挑战。

经过业界近年的努力和实践,大量的技术规范、标准、产品和解决方案层出不穷,当前,SOA应用中的最主要症结已经不再纠结于纯技术层面的问题,而更多的汇集到了项目的规划和服务治理的层面。根据2010年全国信息技术标准化技术委员会(简称“全国信标委”)针对国内各个行业的信息化用户单位进行的“中国SOA应用与标准需求调研”的结果,当前用户最迫切的需要集中在SOA总体规划和实施和治理的方法论方面,其比例已经达到了70%以上。

事实上,企业架构聚焦的主要是企业在信息化建设过程中面临的如何科学的进行信息化项目的总体规划,以及如何进行服务治理等方面的问题。可以这么说,企业架构解决的绝不只是IT问题,更多的是管理问题。因而企业架构带给企业的核心价值不仅仅局限在IT的优化及能力提升方面,更多的则体现在对企业战略及业务的支撑价值上。特别地,针对基于SOA的信息化建设,企业架构学科提供以下工具和技术帮助企业更好的实施SOA:


■  企业架构为业务和技术定义了可追踪的结构化表示,它将IT资产和业务以清晰、可度量的方式联系起来。根据更丰富的上下文,这些模型可以有效的支持影响评估和项目组合管理。
■  企业架构对原则、约束、框架、模式和标准进行定义,这形成了设计治理的基础,确保了被对齐的服务、互操作性和重用性。
■  企业架构把对单一业务问题(例如,业务、数据、应用、技术、摘要和具体等)的许多不同观点连接起来,为处理各种问题域和广泛的完整性测试提供了一致的模型。
■  企业架构提供对高层战略以及项目交付物的一致的抽象,使得在共享储藏库内,自顶向下与自底向而上的输出能够进行比对,从而支持规划和分析。
运用这些技术,企业架构将成为企业实现面向服务的基础,其原因如下:
■  把SOA的所有利益相关者联系在一起,确保每个利益相关者群体的要求都能得到满足,并且确保他们对恰当的场景的了解。
■  提供从业务到IT的连接,可被用来根据业务价值对IT再工程的成本进行论证。
■  给出了应该建立哪些服务,以及如何对其进行复用。
■  给出了如何设计服务,以及如何实现平台的互操作性。
■  在持续演进的基础上,提供一个可保存和维护设计相关信息的储藏库。

作为企业发展变革的总体蓝图与路线图,企业架构使用一种统一、标准、广泛为各方利益相关者所理解和接受的沟通语言,将企业的战略、发展愿景、变更需求和驱动力、业务能力差距、IT资产等有机的联系在一起。企业架构明确识别出需要谁、在何时、何地、采取什么行动,以达成企业的战略目标。所有的战略和愿景、驱动力、业务能力和流程、支持业务的IT服务、支撑服务的软/硬件基础设施、乃至相关的服务等级协议和运营等级协议等内容都会在架构工作输出的制品中被详细描述,直观地表示业务和IT之间的关系,从而可以追踪、分析和确认IT对业务的支持程度,使得与业务完整对齐的多个企业基于SOA的信息化建设项目的设定、开发和管控变得脉络清晰且现实可行。因此,和聚焦于软件设计和实施层面的传统软件架构师不同,企业架构师的地位和作用更为高端和居于核心地位。

为了更直观的说明企业架构师和传统的软件架构师的分别,可以把企业的信息化建设类比于一个城市的现代化建设,企业架构师的角色和作用和城市规划师的十分类似,软件架构师的角色则类似于建筑师。城市规划师关注的不是具体每一栋楼房的框架、地基、管道、水电、煤气、门窗安装以及施工工期等问题,这些都是细节的技术和工程问题,是建筑师的责任。城市规划师关心的是城市发展愿景和战略是什么;城市的功能定位是什么;需要遵循什么样的法律、法规和准则;根据发展战略,城市需要发展哪些新职能;旧的职能是否需要改造和废弃;新城区如何开发;旧城区如何改造;城市变革之后该有什么样的布局;哪里是政治中心区;哪里是文化教育区;哪里是中央商务区;哪里是高新技术开发区;哪里是生活居住区;能源如何供应;垃圾和污水处理场建在哪里;飞机场和火车站如何选址;道路交通基础设施如何规划;所有的布局都各自发挥什么样的具体职能;这些职能相互之间如何协调和协同,共同为整个城市的发展战略做出积极的贡献,从而最终推进和实现城市的发展战略。可以看到,通过城市规划师的这些努力,城市的所有发展活动才能纳入一个目标清晰和有序治理的轨道,从而做到每条道路的修建,每座大楼的建筑,都是在有的放矢的为这个城市的整体战略服务,都在为城市的某个具体职能在做贡献,因此都有其建设的充分理由和依据;否则的话,可能会出现一些难以预测的不良后果,例如虽然建筑师将某栋房屋设计和建设得十分精美和牢固,但却可能成为了城市的违章建筑,而不得不被拆除等等。

简言之,对城市现代化建设而言,城市规划师的工作统领了建筑师的工作;而对企业信息化建设而言,软件架构师的工作则必须为企业架构师所引导。如果没有城市规划师的全局性的工作,建筑师将每栋房屋和每条道路设计和修建得再好,也不一定能保证城市发展战略能够得到切实的贯彻和有效的执行;同样的,如果没有企业架构师的总体规划工作,无论软件架构师将软件本身设计得多么完美和高效,其工作的最终价值也无从得以保证和体现。众所周知,企业的SOA信息化建设是一个长期而复杂的渐进过程,企业对信息化的良性可持续发展和有序管控的需求已经被提升到了一个前所未有的层次,因此,企业架构的作用将更为凸显。
根据以上分析,可以得出结论,企业架构师的作用对于企业的信息化建设,尤其是基于SOA的信息化而言至关重要,具有统领全局的重要性和核心性。通过企业架构提供的业务驱动的能力规划,企业可以把SOA当作一种由架构治理的信息化方式,从而更好的确保信息化项目的实施是在一个完整而有效的治理框架之下进行,使得企业信息化系统的开发、运营和管理跟企业的高层战略和发展愿景保持高度的一致性,使得企业从SOA信息化中获得其预期的商业价值。

小结

从发展企业架构出发,引领企业的信息化建设,是目前被广泛认可的更为有效的SOA落地途径。缺乏企业架构提供的信息化总体规划和业务方向指引,所谓的“SOA”将变成一盘无法真正解决各种开发和运营问题的技术和产品的大杂烩。优良的企业架构填补了企业战略、业务需求与实际信息系统以及基础设施设计之间难以逾越的鸿沟。它用统一、标准、易于理解的方式识别和验证高层的战略目标和业务需要,制定可执行的业务模型,从而推动对应的信息系统模型的设计,确保各个技术性解决方案(包括SOA或非SOA风格)真正满足业务需求,符合企业的变革和发展战略,并严格遵从内、外部相关的标准、规范、协议和法律法规。通过企业架构对SOA项目的实施过程进行的有效治理,可以确保企业围绕SOA信息化进行的所有活动都在一个可以管理和控制的范围之内进行,使得风险可预测,问题可追踪,从而大大降低风险和有效控制总体成本,提高信息化建设的总体收益。