免费下载!由 O’Reilly 出版的《NGINX 完全指南》中文版已正式上线 了解详情
写点什么

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

  • 2009-07-27
  • 本文字数:2359 字

    阅读完需:约 8 分钟

鉴于 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

2009-07-27 22:301819
用户头像

发布了 133 篇内容, 共 32.5 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

Vue项目起步

JackWangGeek

Vue

从实际案例讲 Deno 的应用场景

keelii

Java typescript deno

实用心理学—没用你打我!

代码制造者

职场 职场搞笑 信息技术 人工

从北京降雨的复盘中,我发现了企业SD-WAN网络的秘密

脑极体

芯片破壁者(十二.下):青瓦台魔咒与半导体“死亡谷”

脑极体

统一软件开发过程(RUP)的概念和方法

雯雯写代码

用Ant实现Java项目的自动构建和部署

陈磊@Criss

微服务框架-模块需求篇

superman

2.3.1 理解动态代理 -《SSM深入解析与项目实战》

谙忆

Serverless:为我们到底带来了什么

刘宇

Serverless 云原生

Maven的爱恨情仇

xcbeyond

Java maven

[修复 Webpack 官方 Bug] 提取CSS时的依赖图修正

分一

大前端 webpack 编译优化 源码刨析

Windows AD 保姆级配置NTP服务器教程

BigYoung

时间 AD ntp Windows Server 2012 R2

Flink 中的应用部署:当前状态与新应用模式

Apache Flink

flink

图解23种设计模式——前方高能,前端切图仔请务必抓好方向盘

执鸢者

typescript 大前端 设计模式

微博基于 Flink 的机器学习实践

Apache Flink

flink

Swagger 这一个文章就够了

陈磊@Criss

【写作群星榜】8.1~8.14 写作平台优秀作者 & 文章排名

InfoQ写作社区官方

写作平台 排行榜 热门活动

LeetCode题解:88. 合并两个有序数组,splice合并数组+sort排序,JavaScript,详细注释

Lee Chen

大前端 LeetCode

2.3.2 JDK动态代理 -《SSM深入解析与项目实战》

谙忆

Facebook开源的数据Mock:Memisis详解

陈磊@Criss

6种快速统计代码执行时间的方法

Bruce Duan

java统计时间 currentTimeMillis nanoTime StopWatch

中本聪原始比特币论文解读:点对点的电子现金系统

韩超

比特币 区块链

源码分析 | 咋嘞?你的IDEA过期了吧!加个Jar包就破解了,为什么?

小傅哥

Java 字节码插桩 asm bytebuddy

重磅消息,我国数字人民币将在京津冀等具备条件地区试点

CECBC

数字货币 货币

NetPerf揭示容器间是高速路还是林荫小路

陈磊@Criss

微服务框架 - 模块功能设计篇

superman

Django的Models更新时,不触发Signals解决办法

BigYoung

django singals 信号机制 update 更新

Junit执行单元测试用例成功,mvn test却失败的问题和解决方法

陈磊@Criss

为什么会是Docker?

架构精进之路

Docker

手撕二分查找及其变种,就是干!

我是程序员小贱

SOA开放标准大观园——架构的导航_SOA_Mark Little_InfoQ精选文章