2.2 数据中心体系架构
面向服务的体系架构(SOA,Service-Oriented Architecture)是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义的接口进行通信,不涉及底层编程接口和通信模型。SOA不是一种语言,也不是一种具体的技术,而是一种架构模式,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来;这使得构建在各种这样系统中的服务可以以一种统一和通用的方式进行交互。在这种架构下,无数软件制造者可将他研制的软件功能以“服务”形式提供出来,各功能之间是相互独立的,以一种称为“松耦合”的协议机制来组合。因此,在SOA架构下系统易于扩展,能够适应不断变化的客户与市场需求,使开发者可将更多的精力转移到专业服务提供上。
SOA优点具体介绍如下。
(1)编码灵活性。可基于模块化的低层服务、采用不同组合方式创建高层服务,从而实现重用,这些都体现了编码的灵活性。此外,由于服务使用者不直接访问服务提供者,这种服务实现方式本身也可以灵活使用。
(2)明确开发人员角色。例如,熟悉BES(Bucode Enterprise Solution)的开发人员可以集中精力在重用访问层;协调层开发人员则无须特别了解BES的实现,而将精力放在解决高价值的业务问题上。
(3)支持多种客户类型。借助精确定义的服务接口和对XML、Web服务标准的支持,可以支持多种客户类型,包括PDA、手机等新型访问渠道。
(4)更易于集成和管理。在面向服务的体系架构中,集成点是规范而不是实现;这提供了实现的透明性,并将因为基础设施和实现发生的改变带来的影响降到最低。通过提供针对基于完全不同的系统构建的服务规范,使应用集成变得更加易于管理。特别是当多个企业一起协作时,这会变得更加重要。
(5)更易维护。服务提供者和服务使用者的松散耦合关系及对开放标准的采用确保了该特性的实现。
(6)更好的伸缩性。依靠服务设计、开发和部署所采用的架构模型实现伸缩性。服务提供者可以彼此独立调整,以满足服务需求。
(7)降低风险。利用现有的组件和服务,可以缩短软件开发生命周期(包括收集需求、进行设计、开发和测试)。重用现有的组件降低了在创建新的业务服务的过程中带来的风险,同时也可以减轻维护和管理支持服务的基础架构的负担。
(8)更高的可用性。该特性在服务提供者和服务使用者的松散耦合关系上得以体现。使用者无须了解提供者的实现细节,这样服务提供者就可以在WebLogic集群环境中灵活部署,使用者可以被转接到可用的例程上。
SOA可以看做是B/S模型、XML/Web Service技术之后的自然延伸。SOA将能够帮助我们站在一个新的高度理解企业级架构中的各种组件的开发、部署形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系统。较之以往,SOA架构的系统能够更加从容地面对业务的急剧变化。
在SOA时代,任何一个大的应用软件系统都不再由一个软件开发商独立完成,而是由不同厂商生产的基于基础标准和接口的中间件相互协作完成。
数据中心的体系架构是一个悬浮倒挂式支撑的平台架构,是一种松耦合的面向服务的体系架构(见图2-2),它与传统的奠基式向上支撑的平台架构有本质的区别;能够形成系统建设统一的技术框架和运行环境,在面向服务的开发模式下,动态建立应用模型,实现应用系统的快速搭建和灵活调整,可以把精力最大限度地投入到业务系统的业务需求分析中,在最短时间内建立符合自身管理特点的应用系统。在这种体系架构下开发的系统牢固可靠,真正做到数据、功能全共享。
图2-2 悬浮倒挂式支撑的平台架构