InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

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实践指南》译者。目前致力于Groovy/Grails的研究和推广。

SOA的实施是艰难和光荣的任务 发表人 Wu Alan 发表于
  1. 返回顶部

    SOA的实施是艰难和光荣的任务

    发表人 Wu Alan

    因为不能坚持,所以艰难。
    因为长期,所以光荣

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。