3. SOA的根源 (SOA与过去架构的比较)
我们现在实际地跳回时间轴看一看过去架构与SOA的差别。这是一项有趣的研究, 我们能够看出SOA许多当代特征的起源。
3.1. 什么是架构?
自打有计算机处理的自动化解决方案方案起,技术架构就已存在。然而,在较老的环境中,解决方案直接建构于抽象的任务上,并规定其架构很少被执行。
随着多层应用的崛起,应用交付的变异开始剧增。IT部门开始认识到需要定义标准化的基线应用,作为其他应用的模板。这个定义自然是抽象的,但明确地解释了所有解决方案以这个模板为基础,包括其技术、边界、规则、限制及设计特征。这就产生了应用架构。
应用架构
应用架构对于应用开发团队的意义,相当于蓝图对于建筑工团队的意义。不同的组织印证不同水平的应用架构。一些保持了高水平,提供技术蓝图的抽象的物理及逻辑表达。另一些则包括更多的细节,类似通用数据模型,通信流程图,应用范围的安全需求,以及基础设施方面。
对于一个组织而言有几个不同的应用架构的情况是不希奇的。一个架构文档典型地代表了不同的解决方案环境。例如,一个同时拥有.NET与J2EE解决方案的组织很有可能针对每一种有分别的应用架构规范。
任何应用级架构的关键部分在于它既要直接反映解决方案的需求,同样又要考虑长期的、策略性的IT目标。正由于这个缘故,组织内的应用架构会伴以企业架构,并与其中居统治地位的一个保持一致。
企业架构
在较大的IT环境,关键在于需要控制并指导IT基础设施。当有很多不同的应用架构共同存在的时候,且有时甚至要整合,底层的主机平台变会复杂而繁重。因此,通常会创建一个控制规范,为企业内存在的所有异质形态的提供高层概述,同时给出支持基础设施的定义。
继续我们前一个类推,对于组织而言,企业架构规范相当于一个城市的城市规划。因此,城市规划与建筑蓝图间的关系,可与企业与应用架构规范间的关系相类比。
典型地,企业架构的变化直接影响应用架构,这是为什么架构规范通常由同一组人来维护。而且,企业架构经常包含组织长期技术和环境发展规划。例如,阶段性的目标有可能是要立足于这个规范来逐步淘汰过时的技术平台。
最后,也可能会定义技术与策略背后的企业级安全度量。然而,这经常会被作为单独的安全架构规范。
面向服务架构
简单而言,面向服务架构跨越了企业与应用架构两个领域。当被用于跨多解决方案的环境时,SOA所提供的潜在效益才能真正释放。这个是对可复用和可协同服务的投资,并且充分利用基于厂商中立的通信平台。这并不意味着企业必须变成面向服务。SOA所引入的特性及特征大部分都属于这一范畴。
注意术语“SOA”并不意味着一个特殊的架构范围。SOA可以是指一个应用架构,或是用于跨企业的技术架构的标准化方法。因为SOA天生的可组合性(意味着单个的应用层架构可由不同的扩展及技术组成),完全适用于超越SOA的组织。
请注意,如同前一章所解释的,Web服务平台提供了众多实现SOA形式中的一个。它是本书专门研究的一种方法,但是还存在其他方法,比如由传统的分布式平台所提供的这些。术语方面有一点很重要,就是在后面章节中及整本书中所用的术语“SOA”是指在第3章所建立的当代SOA模型(基于Web服务与面向服务原则)。