SOA 开放标准大观园——架构的导航

  • Mark Little
  • Boris Lublinsky
  • 黄璜

2009 年 7 月 27 日

话题:SOA语言 & 开发架构

鉴于 SOA 近几年在如此大的程度上影响了业界的思想,关于 CORBA、企业级 Java 与 Web 服务等其它技术标准如此之少的确让人震惊。当然有着各种各样的 WS-* 标准和规范,许多人将其与 SOA 关联起来,但说到那些刻意的实现无关的标准,OASIS SOA 参考模型一枝独秀却已经很久了。今年早些时候OMG 发布了 SOA 建模语言The Open Group 宣告了 SOA 工作组的成立,同时还发布了SOA 资料卷

在过去的几个月中,来自这些组织的所有成员联合其它力量一直在努力地调和各组织的成果,现在发布了一个新的白皮书,名为SOA 开放标准大观园——架构的导航。(在它们的站点上都可以获取)。如这本白皮书所表述的那样:

这一联合白皮书对于 SOA 参考模型、本体、参考架构、成熟度模型、建模语言以及治理相关的等等标准都进行了解释,并将它们置于了整个拼图中合理的位置。它勾勒出了哪些工作是相近的,强调了每个工作主体的优势所在,并涉及了如何将这些工作以一种互补的方式结合起来。它同时还可以作为这些规范的用户在选择最合适他们需求的技术产品时的参考手册,与他们现在的实际情况以及他们所计划的发展 SOA 过程相一致。

这一白皮书所检验的规范及成果包括了 OASIS 的 SOA 参考模型、OASIS SOA 基础参考架构、OMG 的 SoaML 规范、Open Group SOA 本体论、Open Group 的 SOA 参考架构、Open Group SOA 治理框架以及Open Group 服务集成成熟度模型

这对 SOA 资料库来说又是一个很好的补充。这一白皮书刻意地技术无关化了,回避了 SOA 的各种参考实现方案,比如 Web 服务或者 JBI。一方面来说这可以看作是一个很好的想法,将供应商的吹捧保持在整体之外,潜在地增加了这一白皮书的生命周期。但从另一方面讲,可能会有这样那样的问题,询问这个白皮书从实践的角度到底作出了怎样的报道。

根据这一白皮书的陈述,现有的标准可以被归纳到如下的几类组别当中:

  • 参考模型——一个抽象的框架,用于理解在一定环境中各个实体之间的重要关系。白皮书摘录了OASIS SOA 参考模型,它
    抓住了 SOA 了的“本质”,以及为 SOA 提供了词汇和通用的理解。这一参考模型的目标包括了一个公共的概念框架,可在不同的 SOA 实现之间得以一致性的使用;以及公共的语义,它可以被用于无岐义的建模特定的 SOA 解决方案,统一概念以解释和支持一个作为特定 SOA 支持的一般性设计模板,以及用于所有的 SOA 的定义。
  • 参考架构——可以在不同的抽象层次被定义,从基础架构到公共系统架构,以及业务或组织特定的架构。在这一类别有几种可用的技术产品。OASIS SOA 基础参考架构提供了
    一个基于视图的抽象参考架构基础,从生态系统 / 范型的角度对 SOA 进行建模。它明确说明了三个观点;具体来讲就是,服务生态系统的观点,实现 SOA 的观点,以及拥有 SOA 的观点。
    The Open Group SOA 参考架构提供了:
    企业架构的基础,或者蓝图,因此企业架构师可以使用这些模板或者蓝图作为标准,将其实例化到每个开发中的单独项目或者解决方案中。这将在组织中被执行,这也是 SOA 参考架构将被实施的地方。这一 SOA 参考架构被设计为支持不同种类的场景,包括牵涉到客户组织、供应商、其它标准实体以及其它开放组织项目等等。
  • 本体——关于领域其及相互关系方面的明确的正式规范。白皮书引用了Open Group SOA 本体论,它
    抓住了 SOA 范围内的一系列相关的概念,并且解释了它们是什么以及它们相互之间的关系。其目标是促进对于这些术语以及 SOA 上下文中的概念的理解,并且潜在的促进模型驱动的实现。该本体论用OWL(Web Ontology Language) 来表达,以促进自动化以允许工具对其进行处理。
  • 成熟度模型——同时表达了评价和估算现有成熟度状态的方法。它们提供了发展一个价值主张与转化路线图的方法,以从现有的成熟度状态到达目标的成熟度状态。该白皮书引用了Open Group 服务集成成熟度模型(OSIMM),它
    为公司和 IT 实施者提供了在一个完整的 SOA 迁移路线中评估组织成熟度的方法。它提供了提供了一个流程,可以在整个路线的每个阶段为增量的实行(SOA)创建一个路线图,以达到业务价值的最大化。这一模型由七个不同的成熟度层次,以及由组织内或项目所定义范围内七个不同的考虑方面来组织,它可以作为一个量化模型来帮助对现有状态的评估与对设想的未来状态进行设计。
  • 建模语言——定义了一个元模型与符号,为在工具中展现工件以及在自动化环境与工具中交流信息提供了一个标准的方式。来自 OMG 的像Unified Modeling Language (UML)这样的建模语言可以通过 Profile 的扩展来裁剪模型或建模语言以支持特定的领域和目的。该白皮书引用了 OMG 的SOAML,它
    扩展了 UML,以提供附加的能力来对 SOA 风格所给予的内聚与耦合进行管理。SoaML 在广泛的领域与抽象层次都可以得到应用,从业务服务到细节的 IT 服务。为这些不同的目的使用一个公共的语言简化了系统建模与关注分离的集成,提升了业务的灵活性,这可以通过业务架构模型如 BMM 和 BPMN 来表达。SoaML 可以看作是 OASIS SOA 参考模型的辅助性实例化,它为服务建模提供了一个坚实的平台...
  • 具体 / 解答架构——通过将模板里的一般性、逻辑性、抽象元素替换成供应商的产品、技术产品实例、标准、协议以及设计 / 架构性决定等等具体的,物理的实现,来将一个参考架构实例化。由白皮书所提供的业界参考架构的例子包括了零售业 ARTS XML SOA 蓝图面向服务的 HTNG 参考架构实现

就像该白皮书所解释的那样,尽管 SOA 标准的范围非常宽泛

... 关于 SOA 基础性的核心概念在许多独立的规范与标准之间已经有着很大程度的共识。

这些标准是相互关联的,并且都是构建在相互的基础之上。

这一白皮书是一个非常好的文献,它在不同的标准间提供了向导,指出了它们的关系以及每个标准应当用在什么地方,应当如何使用。

查看英文原文:Navigating the SOA Open Standards Landscape Around Architecture

SOA语言 & 开发架构