SOA与企业级系统构建过程绝非坦途

日期: 2009-08-25 作者:佚名 来源:TechTarget中国 英文

  由于服务无处不在,SOA(Service Oriented ArchITecture)的理念和方法完全有可能帮助企业夺取商业制高点,金融企业也不例外。从长远看,国内金融企业有必要为满足客户需求、适应业务转型、管理变革的要求,而构建兼具前瞻性和适用性的IT架构。同时,国内金融企业面临着外部环境的巨变,要求企业IT架构为业务发展提供战略容纳和战术柔性,使得企业可以对变化的环境作出快速反应,满足竞争的需要。简而言之,就是要实现柔性架构或者敏捷IT,其中,柔性侧重于灵活性和重用能力,敏捷侧重于交付效率。

  柔性架构或敏捷IT均强调在IT的支持下,企业具备迅速提高产品(服务)供应量的能力或迅速创造出新产品(服务)的能力。柔性架构能够为企业创造价值,它的价值创造过程可刻画为:柔性架构一因需而变一快速创新一成本降低一优质服务一创造价值。总的来说,柔性和敏捷对于竞争激烈的金融企业至关重要,因为柔性和敏捷的特点使其能够以最小成本、最短时间迅速满足新产品、新服务开发和投产的需要,快速适应业务在广度、深度上的变化。

  SOA强调服务的抽象与划分,强调高可用、松耦合、易重用,是流程管理的基础,而这些理念恰恰是构建柔性架构的有力武器。Gartner曾经预言,2008年至少60%的企业将把SOA作为其IT架构的方向。对于金融企业而言,Gartner的预言正逐步变为现实。然而,IT管理者和企业架构师必须意识到,SOA在遥远的彼岸,不是短期内可以到达的。

  一、SOA是实现IT可持续发展战略的方法

  经常听到关于SOA的一些说法,诸如“要启动一个项目,实现企业架构的SOA化”,“争取在明年实现全面SOA改造”等。其实,这样的说法往往说明对SOA的认识不到位,至少对为什么走SOA道路的根本目的不清楚。首先,单纯追求SOA难以获得资源保障。这是因为在任何一个企业中,IT投入都是为业务服务的。正确的理念应该是,强调IT与业务的一致性管理,一致性指的是步调协同。业务发展是目的,IT是支撑,业务的发展过分领先于IT的支撑,则难以为继;IT的理念与实践过分领先于业务的现状,则难以产生实际效益,从而难以获得持续的投入。另外,SOA也不是一个纯粹的技术概念,脱离业务实际需求而片面追求IT架构的SOA化很难获得广泛支持。

  其次,企业IT架构的SOA化既有宏观层面的含义,也有微观层面的含义。服务是个大概念,宏观层面可以大至IJIT管理、实施、运维、安全、基础、应用等,涵盖IT的方方面面。微观层面可以小到专门针对单个应用系统,以SOA方法将功能涉及的对象、数据、模块、流程、界面、消息等从服务提供者和服务消费者的角度进行层次化,增强单个应用系统适应变化的能力。因此,从整个企业来看,SOA范围极广、工程规模庞大,即便只考虑最常提及的应用架构SOA化,要做到体系架构SOA化和所有个体SOA化的同步实现也是难以企及的。

  最后,SOA治理经验需要随时间推移而逐步积累。以应用架构为例,由于SOA松散耦合的理念要求服务能够保持技术和业务功能两个方面的抽象性和多样性,因此,往往以平台中立和相对隔离的方法来保障应用环境中各种应用系统的自由度,而不是简单地强调合并、统一。总的来看,SOA应用环境将更加贴近自然生态,是一个“万类霜天竞自由”的局面。因而它不但不会让现有应用架构变得简单,反而由于其离散程度增加而在关系管理、协同、部署等诸多方面变得更加复杂,这也是为什么有些专家提出要引入SOA治理的原因。一般而言,治理指的是定义一整套的政策和一整套衡量的标准,使得一个组织能够针对整个体系架构有全面的管理。任何事物只要上升到治理层面,就需要定义一系列的角色、过程和运作方法,并在实践中不断积累经验、不断改进完善。而这些不是短期内能够实现的。

  通过上述简要分析,我们可把SOA理解成实现IT可持续战略的方法,是一个长远的目标。它不是面向服务的具体架构实现技术(如:Web Service),也不是现在概念很红火的某些万能系统(]2ⅡESB,Enterprise Service Bus),更不是一个能够毕其功于一役的具体项目。

  二、SOA的导入和实现

  不管从经营管理需要还是从IT管理的角度看,制定企业IT架构蓝图是确定目标、凝聚共识、集中力量的最好手段。但一切蓝图和愿景都是相对静态的,而外部环境是相对变化的,为在竞争中求得生存和发展,蓝图要随环境变化而适当变化。

  SOA毫无疑问就是这样一种方法,对这种方法的不断学习和自觉运用能够在一个很长的时期内帮助企业保持航向,朝柔性架构和敏捷IT的正确方向不断迈进。然而,SOA毕竟是一种方法,它需要一个熟悉的过程,需要~个导入的契机,让更多人能够对它形成感性认识,它也需要借助一定的管理和技术手段来实现落地。目前,有很多契机可供选择,也有很多手段可以采用,笔者认为,构建、发展、使用企业级系统的过程是SOA方法导入并实现落地的一种较为理想的选择,以企业级系统为示范并借助企业级系统对其他应用系统的约束作用,能够确保架构整体风格逐步转变,最终实现可持续发展的目标。

  1.企业级系统是SOA实现的绝佳载体

  关于什么是企业级系统,目前存在很多不同的认识和见解。从关联程度角度看,企业级系统与其他一般的系统存在大量的联系,它往往是企业架构的核心或者枢纽;从服务范围角度看,它一般服务于整个企业,不是针对某个部门、某项业务的特定领域的应用系统;从服务内容看,它大量集聚整合信息单元并直接或者间接地对外提供各种服务。不管如何定义,企业级系统都可以简单地理解成对整个企业的IT体系架构正常运转影响巨大的系统,整合是它的显著特点。例如(ESB、EIIP(Enter prise Information Integration Platform)、ECIF(Enterprise Customer Information Facility)等总线型、支撑型、公共服务型的系统都可以称为企业级系统。选择企业级系统作为导入SOA方法的载体,主要基于以下考虑。

  (1)构建、发展和使用企业级系统是柔性架构的内在要求。首先,企业级系统的存在符合架构体系的自然生态原则。大自然中,除了各种动物、植物的多样性存在外,也有诸如阳光、空气、水等公共元素的存在。人类社会的各种组织中,除了家庭、企业等组织外,教堂、医院、政府等机构都发挥着类似企业级系统的作用。其次,企业级系统是应用系统呈现松散耦合态势后加强整合的手段。以高内聚、松耦合规划原则独立建设的应用系统在协作和一致性方面对企业级系统有天然的依赖。最后,企业级系统是柔性架构的基础。柔性架构要求快速实现因需而变,传统的应用竖井固化并私有了数据和应用,企业级系统就是打破这些固化的桥梁,将禁锢的资源释放出来变成活水,从而使共享、封装和复用成为可能。因此,企业级系统是IT体系架构的重要支撑点,它是企业发展到一定规模的必然产物。

  (2)企业级系统的特点决定了它是推动SOA实现的绝佳载体。首先,从企业级系统和一般系统的关系来看,一般系统直接为业务服务,可以认为是表现层,浮于水面之上;企业级系统是支撑框架,位于水面之下。作为支撑基础的企业级系统对于一般系统架构风格的转变有强大的推动作用。其次,将企业级系统作为推动SOA落地的载体,能够实现整体平滑过渡。企业级系统往往是主动规划出来的,企业的业务和管理流程不会天然依赖于企业级系统。在一般系统逐一纳入企业级系统支撑和服务范围的过程中,实际上可促成应用系统架构风格的逐个转变,这种逐步过渡的方式也符合架构变革的渐进性原则。对于单个应用系统而言,时间点也不是强制的,可以等待升级、更换等契机。

  (3)构建企业级系统能够为推动SOA实现提供组织保障。由于企业级系统牵涉面广、干系人众多,必定需要专门机构负责统筹、协调、权衡。另外,由于它并不是天然存在于应用体系中,相对于多数应用系统而言,它往往是后来者,它的出现将改变其他应用系统的行为习惯,有些时候,特别在它还未能完全发挥作用的建设初期,还要经常面对怀疑的眼光,不一定能得到大多数人的理解和支持。因此,企业级系统有赖于强势部门的强力推进。而推动SOA落地的过程与企业级系统建设过程类似,必然很复杂。因此,为推动企业级系统建设而成立或指定专门负责机构完全有可能被复用为推动SOA的组织机构。

  2.企业级系统的建设过程亦非坦途

  相对于企业IT架构SOA化这个长期目标而言,构建企业级系统是一个明确、完全可以实现的短中期目标。然而,它的建设过程不会一帆风顺,需要企业高层给予足够的关注和支持。

  企业级系统构建具有跨部门、投资大、建设周期长、管理复杂等特点,可以认为它是企业IT架构中的公共设施。既然是公共设施,确定出资人和管理者就十分重要。类似于城市中“夜警”的归属,经济学理论已明确解释了该问题:“夜警”不属于任何一个赢利性组织,它属于公共财政投入由国家和政府负责。同理,应在企业内部指定强有力的非盈利部门作为企业级系统建设的专门负责机构,这是推动企业级系统建设的第一要务,也是启动企业级系统建设的第一步。当然,为该负责机构配备充足的人力和财务资源也十分重要。

  为使企业级系统建设走上良性发展的道路应注意处理好以下四个方面的关系。

  短期利益和长期利益的关系。短期利益与长期利益的冲突一直是企业级系统建设推进的核心难题,主动推进企业级系统建设需要一定的思想境界。事实上,企业级系统的价值对于大多数相关部门而言,往往是长期利益大于短期利益,因此,要特别重视企业级系统建设阶段性成果的宣传,争取获得企业内部更多支持。

  业务支持和架构调整的关系。构建企业级系统是推动IT架构SOA化的第一步。然而,企业对于IT的投入总是有限的,应时刻牢记把IT支持业务发展放在第一位。在企业不景气时,企业级系统建设很难争取到资源投入,此时,只能做短期考虑,优先发展业务;在企业发展形势良好的情况下,应抓住时机,争取获得企业级系统建设专项投资,实现架构调整的目的。

  分工负责和互相协作的关系。构建企业级系统涉及大量的部门和人员,确立领导机构、保持相互间密切的协作是关键。分工是协作的前提,在职责不清的情况下,企业级系统建设往往陷于只说不做的境地,必须专门针对企业级系统建设确定各职能部门的角色、职责和流程,彻底解决“谁来做、做什么”的问题。

  内在需要和外部经验的关系。几乎没有两家完全一样的企业,因此不要指望可以不假思索地搞拿来主义。构建企业级系统应切实从自身业务发展和架构体系优化的需求出发,以现状为基础,适当借鉴外部经验,避免贪大求洋、照搬照学和坐井观天、闭门造车两种错误倾向。

  总之,面对推动企业级系统建设的复杂环境要力求做到三个跳出:跳出短期看长期,跳出局部看全局,跳出国内看国际,“风物长宜放眼量”,企业IT管理者应从更宽阔的视野上把握企业级系统建设的节奏和步伐。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

作者

佚名
佚名

相关推荐

  • 事件驱动框架和SOA在空军的应用

    空军正在利用SOA来改善数据共享,并实时跟踪战机,美国空军机动司令部的Michael Marek解释了企业可从中学习的经验。

  • 把软件架构演进体现在栈上

    曾几何时,企业架构师要为了得到承认和支持而抗争,但这种时候正在过去。大多数企业现在已经意识到实现业务流程中敏捷性和效率需要业务目标、人力资源以及信息技术的结合。

  • SOA治理模型核心:人

    治理在IT领域非常关键,但是很多时候企业的做法往往太过单向,企业SOA治理模型往往忽视了所有部分当中最关键的组件:人。

  • 揭秘New Relic APM技术细节

    New Relic应性能管理(APM)套件主要用于Web软件开发。它允许用户在面向服务的架构(SOA)上跟踪关键事务性能,并且支持代码级别的可见性来评估特定代码段和SQL语句对性能的影响