《中国教育网络》:SOA最初由Gartner在1996年提出,不过最近几年,SOA的概念才变得很热,其原因是什么?
刘焕时: SOA是在技术与市场的双重需求下发展起来的,许多人认为它很神秘,因为这确实是个不太好理解的概念。但是不应当把它神秘化,也不应当把它理解成纯粹的艰涩难懂的技术问题。
SOA之所以产生,存在两个方面的必备因素。
第一,技术在不断发展,可以支持我们去实践SOA的理念。第二,也是很重要的一点是,企业的业务变革呼唤SOA。我们看到,现在许许多多的业务是在计算机的支撑下进行的,离开计算机,这些业务也不复存在。而新业务的产生势必要求企业在IT架构方面有所适应,随需应变。因此,整个IT架构必须做得非常灵活才有可能让业务迅速为企业带来利润。SOA对企业的好处是,一是可以让业务很灵活地变动,二是它可以帮助你用最低的成本开拓新的业务。
如果把企业的各种业务定义成服务的话,那么所有的服务本质上都是彼此之间的需求,包括企业内部不同部门之间的需求以及企业外部不同企业之间的需求。SOA就是把所有业务之间的关系以服务的名义进行封装。
SOA是松耦合的架构,这是很重要的一个特点。松耦合系统的好处有两点,一点是它的灵活性,另一点是,当组成整个应用程序的每个服务的内部结构和实现逐渐地发生改变时,它能够继续存在。也就是说当不同的业务被封装成为服务的组件,这些服务并非传统的树形结构的上下级关系,而是一种松散的结构,当你去掉任何一个模块时,并不会对其他的服务有任何影响。当你发现某一个模块的功能不尽如人意的时候,可以改变它,也可以删除它。
《中国教育网络》:一个完整的SOA体系包括哪些内容?
刘焕时:SOA包括一整套架构设计的原则、方法以及相关的标准:模型组件、封装、松耦合、重用、组合、实施等。
标准对于SOA来说非常重要。SOA的标准非常之多,涵盖了从XML标准集、Web服务标准集和SOA参考模型方面。在此方面,全球有许多的企业和组织在不同方面都定义了不同的标准。这些标准的林立使SOA的发展存在一定障碍。但是从另外一个角度来说,标准的林立也说明这个产业不够成熟,还有大量的发展空间。
SOA的一个重要组成是ESB(企业服务总线),ESB是实现各个服务之间服务请求的通道,是各个服务的数据传到通道。企业服务总线是SOA的核心内容之一,也是建立松耦合的基础。
从2005年开始,SOA推广和普及工作开始加速。不仅专家学者,几乎所有关心软件行业发展的人士都开始把目光投向SOA。各大厂商也逐渐放弃成见,通过建立厂商间的协作组织共同努力制定中立的SOA标准。这一努力最重要的成果体现在3个重量级规范上:SCA/SDO/WS-Policy。SCA和SDO构成了SOA编程模型的基础,而WS-Policy建立了SOA组件之间安全交互的规范。这三个规范的发布,标志着SOA进入了实施阶段。
SCA/SDO在整个SOA里处于非常核心的地位,它其实是在满足最基础的体系架构、单元、规格的基础上建立起来的,对于底层基础架构来讲SCA/SDO就相当于核心规范。不过在SCA中又有非常多的规范,各个厂商实施策略也不一样,有的注重C++,有的注重Java。今后标准开发将具有一个共同的特点,就是标准与SOA架构的协调性。也就是说,无论是已有的标准还是正在开发的标准,都必须符合SOA架构的要求,同时要考虑单个标准与其他SOA标准之间的协调一致。不过SOA标准繁杂的局面在目前阶段来看很难打破。
《中国教育网络》:不久前相关的机构发布了中国的SOA标准草案,您如何看待该举措?
刘焕时:我理解这是件好事。一方面,说明相关机构对SOA的支持和扶持,另一方面应用开发的标准是可以给整个行业带来好处。我们在遵从这些标准的时候,不仅可以规范企业内部应用的标准,也能为企业之间的合作和沟通带来便利。
《中国教育网络》:实施SOA,需要从哪些方面进行重点考虑,它的实施步骤是什么?
刘焕时: 这里首先需要说明的是,SOA涉及到顶层的机制问题:它是自上而下的,底层完全的变革可能使大家一下子无法接受,所以说SOA是一把手工程。
应该说在SOA出现之前,有许多的技术和理念都为其做了铺垫:上个世纪50到60年代的完全统一的架构,70年代到80年代中期的子程序以及远程过程调用,80年代中到90年代中期的远程过程调用,90年代中期到本世纪早期的消息处理以及EAI。
实施SOA,IBM认为有几个很重要的因素是:第一,业务驱动,需要明确有哪些业务是需要通过SOA来进行的?第二,哪些业务要先基于SOA来做?第三,从技术角度来说,如何把业务和架构紧密结合。比如学校的信息化部门,实质上它自己并不产生任何资源,它的职责是把业务部门的资源以一种合理的架构进行封装。那么,在这个过程中,可能出现一个问题:你所做的架构与业务部门需要的架构并不符合。
这里面存在一个问题:计算机架构师应当如何从业务的角度出发,形成一套运行非常良好的架构。这是一个至关重要的问题。业务架构师与计算机架构师如何协调?怎么达成一个更好的合作的结果?IBM有一个方法叫CBM,就是解决如何在业务流程中架构组件化的业务模块,使得企业有足够的弹性应对市场的变化。分析现在的业务、将来的业务、发展的空间,然后帮助企业形成一个良好的架构。
实现SOA的步骤是个很现实的问题。其实很多企业都在研究和实践SOA,IBM作为SOA的倡导者,我们更重视SOA的实施方法和实施标准。IBM公司已经总结出完整的SOA实施方法和实施标准,包括SOMA的方法。
《中国教育网络》:据我所知,目前高校采用SOA架构的寥若星辰,您认为高校采用SOA的需求存在吗?
刘焕时:据我的接触,目前实施SOA的高校确实很少。原因可能是多方面的。
第一个方面可能由于高校与企业的业务差异性很大,高校的业务相对比较固定,而企业的业务就很灵活,这样的话,企业对SOA的需求确实要比高校要大。
第二个方面,企业对信息化应用的敏感度要大于高校。目前高校的信息化水平普遍要滞后于企业,因为企业需要通过各种信息化技术为其盈利,那么它就会对此很敏感。
第三个方面,尽管如此,应用SOA确实可以帮助高校解决信息孤岛的问题。现在许多高校的信息化应用,用一个词形容是“烟囱式”,每个应用与其他应用泾渭分明。另外,目前高校的信息化很多并没有进入到学校的核心业务层——就是为学校的管理、教学问题提供决策。也就是说业务的高度不够,而这些通过提升信息化程度可以得到部分解决,那么,SOA也许就是一个工具。
从整个教育信息化发展的趋势来说,我相信,未来各个学校从整个领导层将会越来越关注信息化在高校建设中所起的作用。目前,高校之间的竞争开始涌动。生源的竞争、项目资金的竞争等等,而信息化作为一种新生力量,是大学竞争力的一个部分,未来,也许有更多的学校会把学校信息化作为很重要的竞争力予以展现,因此,高校的信息化发展的前景也不言而喻。此外,将来高校可能更多地借鉴国外大学的一些好的经验来完成信息的整合等,体会到这样的趋势,教育解决方案中应当有所体现。
《中国教育网络》:那么,在SOA的实践中,您认为当前有哪些误区需要避免?
刘焕时:可能有两点是需要强调的。第一,有人认为SOA只是一种概念,是不可实现的,那么,我前面已经说过,SOA虽说是一种理念与思想,但是达到它是有技术和路径的。而且这些技术和策略都在不断的成熟中。
第二,有许多人认为,SOA的成本很高。事实并不尽然。首先如果你只是在局部部署一个SOA架构的话,那么成本也许是很低的,只需要做一个接口就可以实现了。另外,当你迫于成本压力而选择一个不是很好的合作伙伴的时候,你也许可以在最初省一部分资金,但是整个架构以及后期的服务也许并不能保证。那么,事实上是它为你带来的效益很低,其实是个很昂贵的架构。
来源:《中国教育网络》2009年8月刊
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。