SOA 原则和模式在美国国防部的应用

  • 胡键

2009 年 3 月 4 日

话题:SOA架构

1 月底,在人们还在为“SOA 是否死亡”而争论不休之际,美国国防部的首席架构师和 CTO Dennis WisnoskySOA 杂志上对SOA 原则和模式在美国国防部的应用进行了介绍。这些内容也是刚刚面世不久 Thomas Erl 等人所著新书《SOA 设计模式》的一部分内容。

和很多组织一样,DoD 最初的目的是:改善组织的机动性和提高 IT 的整体价值,同时减少因历史原因而不断上升的 IT 运营成本。这一目的直接导致了业务企业架构(Business Enterprise Architecture)的诞生,由它来负责指导和约束 DoD 在业务系统上的投资。

在 2006 年,业务任务区域(Business Mission Area,BMA)决定通过一种基于 SOA 的架构方法来规划和管理这些投资,将其作为一种方法来实现模块化、互操作性,以及 DoD 的“以网络为中心(net-centricity)”且受控的信息共享整体目标。

对于实施效果,Dennis Wisnosky 写道:

通过 SOA,DoD 的业务 IT 解决方案正借助一种被称为业务运营环境(Business Operating Environment,DOE)的基础设施及基于标准的模式统一起来。其他 DoD 的任务区域(作战、DoD 智能和国防信息环境)都遵循这一相同的方法。结果,许多项目和驱动这些任务区域的互联子项目基本都建立在由 SOA 和面向服务所开发出的服务之上。

作为 DoD 实施策略的 BOE 见下图,其目的是为了解决各项目团队在实施过程中面临的规模性、复杂性和多样性问题。它包含了一系列 SOA 设计模式、SOA 治理模式,以及 DoD 特定的模式。因此,BOE 本身也可被视为一种复合模式。

BOE 指导原则与 Thomas Erl 所著的《SOA Principles of Service Design》中描述的原则颇有渊源,见下图。

至于 BOE 指导原则与 SOA 设计模式及设计原则的对应关系,Dennis Wisnosky 在文中进行了简要说明:

  • 结合信息保障:安全模式的使用为实现 DoD 所要求的信息安全提供了支持,涉及的模式有:
    • 直接认证(Direct Authentication)
    • 代理认证(Brokered Authentication)
    • 数据保密性(Data Confidentiality)
    • 数据出处认证(Data Origin Authentication)
  • 坚持标准:这是实现厂商中立和开发性的关键,这一指导原则由“标准化的服务契约”提供支持。
  • 为决策制定者提供支持的数据可视化、可访问性和易理解性:“标准化的服务契约”、“服务的可发现性”和“服务的可重用性”原则对这一目标直接提供了支持。其中还涉及的模式有:
    • 规范模式(Canonical Schema)
    • 契约集中(Contract Centralization)
    • 规范协议(Canonical Protocol)
    • 数据模型转换(Data Model Transformation)
    • 协议桥接(Protocol Bridging)
  • 松耦合服务:顾名思义,它和“服务松耦合”设计原则是一致的,但它还涉及另一重要的原则:“服务自治”。
  • 信任数据的权威来源:这条原则和“服务的可发现性”是相关的,涉及的模式有:
    • 元数据集中(Metadata Centralization)
    • 逻辑集中(Logic Centralization)
    • 契约集中(Contract Centralization)
    • 模式集中(Schema Centralization)
  • 隔离技术细节的元数据驱动框架:“服务抽象”原则包含了支持这一目标的基本概念,涉及的模式有:
    • 服务重构(Service Refactoring)
    • 服务分解(Service Decomposition)
  • 支持开源软件的使用:DoD 将开源软件视为与商业软件同等重要的一种选择,期望它能起到节约成本的作用。对此,应用了“服务的可重用性”和“服务的可组合性”原则。
  • 强调使用支持服务的商业成品软件:这一原则涉及“服务的可重用性”、“服务的可组合性”和“标准化的服务契约”,并且为了能克服新旧商业成品软件的限制,还应用了针对遗留问题的模式。
  • DoD 内部共享:这一原则的目的强调,项目创建的服务不仅要符合 DoD 的标准,而且要能和现有服务互联。这一原则的基础是“服务的可重用性”、“服务的可发现性”和“服务的可组合性”。
  • 对移动性的支持——用户和服务:这是为了给移动和间歇性连接设备提供支持,其要求有意识地应用“服务的可重用性”原则。涉及的模式是:多渠道端点(Multi-Channel Endpoint)。

毋庸置疑,SOA 的实施是个长期过程。而且 DoD 的 SOA 实施仍在进行中。关于 DoD 的 SOA 实施进展和经验,大家可以到SOADoD.org了解。

SOA架构