写点什么

SOA 参考架构基础的草案已经提交,正接受公众评阅中

  • 2009-11-28
  • 本文字数:2268 字

    阅读完需:约 7 分钟

OASIS 的 SOA 参考架构模型技术委员会最近审批通过了 SOA 参考架构基础 1.0 版 (SOA-RAF)规范作为公众评阅的委员会草案。

SOA-RAF 基于 SOA 参考模型(SOA-RM)并定义了一些独立于 SOA 实施过程中所使用的具体技术、协议以及产品的抽象架构元素。

该参考架构基础并非实施 SOA 系统的全景蓝图,也不是指明了实现 SOA 系统时所需的所有技术的技术路线图。然而,它定义了很多关键的概念和组件,它们在任何精心设计的 SOA 系统中都应该出现。为了在实践中使用,构造和管理 SOA 系统,还要做许多其他的设计决定以及技术选择。

SOA-RAF 定义了 SOA 的若干抽象实现,它关注那些能够让 SOA 系统使用,实现并管理起来的元素以及它们之间的关系。其背后的重要假设是,SOA 系统应该包含:

  • 分布在不同所有者边界的资源;
  • 人员和系统互相交互,它们亦是跨越所有者边界的;
  • 跨越所有者边界的安全,管理和治理;
  • 人员和系统之间的交互主要是可靠的(适合于计划中的使用及目的)信息交换。

所以,SOA-RAF 不是把 SOA 看成一个独立又复杂的机器,而把它看成一个生态系统:一个由人,机器和服务共同栖息的空间,他们既在实现各自的目标,又在实现整个大社区的目标。

定义 SOA 生态系统的主要原则有如下几条:

  • SOA 是行为独立的参与者进行价值交换的媒介;
  • 参与者(及其利益主体)有理由取得 SOA 中可用资源的所有权;
  • 参与者的行为及性能受到约定的(从一系列策略和契约中捕获的)规则的制约。

SOA-RAF 分三个视角,正好符合三大主要观点,并反映了对关注点的划分。

生态系统视角的观点关注的是人们如何使用 SOA 系统开展他们的业务;SOA 参考架构实现视角的观点关注的是构建 SOA 的最重要方面;而 SOA 拥有视角的观点关心的是那些与 SOA 所有权,管理及控制相关的方面。

InfoQ 有幸邀请到 OASIS SOA 参考模型技术委员会的秘书 Francis McCabe 和主席 Ken Laskey 共同探讨 SOA-RAF。

InfoQ

SOA-RAF 是什么?

FM

它是 SOA 泛型的架构描述。即是对那些让 SOA 生态系统运转起来的关键的概念及其它们之间的关系的描述。

InfoQ

SOA-RAF 的目的是什么?

KL

RM 谈到了一些概念和它们之间的关系,RAF 标明了那些将出现在 SOA 解决方案中的架构元素。但是具体架构仍需要架构的设计,因为你不能从基于 RAF 建立解决方案,但是有了 RAF 的指导,RAF 元素将出现在具体架构中。

InfoQ

SOA-RF 和 Web 服务,REST 服务,SOAML 的关系是怎样的呢?

FM

与具体的技术(如 Web 服务,REST 服务)相比,SOA-RAF 在目的和范围上站在一个更高的层次。我们明确表明要避开具体任何具体的技术。

然而,如果你想知道如何应用 Web 服务,那么 RAF 可以提供重要的指导意见。它表明了使用和混合服务、安全、治理等领域的关键需求以及一个实际的 SOA 生态系统中需要表示的社会结构。

SOA-RAF 没有涉及到的一个方面是,用于构建解决特定问题的 SOA 生态系统时的具体指导。为此,SOAML 是描述实际系统中的具体问题的优秀工具的代表。

InfoQ

SOA-RAF 包含哪些方面?

FM

SOA-RAF 包括三个主要部分或视角。第一个部分的重点是从参与人员以及他们与驱动 SOA 生态系统发展的技术之间的关系的角度,阐述了什么是 SOA 生态系统。第二部分强调了构建 SOA 生态系统的一些关键元素;包括描述的重要性,交互以及策略的重要性角色等。第三部分关心的是如果 SOA 生态系统的拥有问题,这部分强调了 SOA 生态系统的治理、SOA 系统的管理、在一个永不重启的大型系统中测试意味着什么,以及 SOA 生态系统中关键的安全方面。

InfoQ

什么是联合动作(Joint Action)?

FM

为了交付服务,服务消费者和提供者之间的交互是必要的。在 SOA 生态系统中参与者间的交互是被自动仲裁的。这些参与者可能位于不同的所有域中,为了参与者之间的交互,他们必须同时即要单独行动又要行动一致。单独行动指的是交互信息的发送和接收,而行动一致指的是二者都是交互的一部分。

联合动作是任何需要两个或多个参与者参与的动作。一个简单的例子是信息通讯:每一次通讯都需要一个演讲者和一个听众。(尽管任何一方都可能不止一个)。没有双方的参与,就没有通讯:它在本质上本是一个联合。

事实上,在服务提供者和消费者双方的交互中,在很多层面上都应用了联合的概念。在最底层,消息发送和接受自然是一个联合。上一个层次,通讯过程中仲裁的动作(开户,广播紧急信息,购买及销售等)在本质上也是联合的。再上一层,动作经常带入了参与者的社会状态。签定契约修改了参与者的状态:做出了相应的承诺,策略也因此形成。这些社会动作在本质上也是联合的。

InfoQ

该草案和前一个有何区别?

FM

该草案文档中进行了很多优化,特别是生态系统视角做了最多的优化工作。然而,我们也加入了很多重要的部分,如治理和测试。另外,规范的名字本身也有所改变,其增加的“基础”反映了在 SOA 系统的世界中肯定了我们的工作及他人的工作之间的关系。

InfoQ

下一步工作是什么?

FM&KL

由于 RAF 已经非常完善,所以需要更进一步的领域有限。尤其是治理,已经特别完善了。但是我们需要确定如何优化管理的部分,并决定是否将它整合到治理中去,或像现在的草案一样让它独立存在。自从上一个草案开始,在生态系统视角上已经看到了很多工作,并且还有一些重要的讨论要完成。然而,委员会相信目前的工作设计的已经足够充分了,所以这绝对是值得读者提出自己的见解的好机会。

公众评阅从2009 年11 月14 开始,到2010 年1 月13 日结束。这篇草案旨在进一步加强对SOA 架构原则的理解并提供一个SOA 的实施蓝图。

查看英文原文: A Reference Architecture Foundation for SOA Draft Was Submitted to Public Review

2009-11-28 09:242207
用户头像

发布了 184 篇内容, 共 89.4 次阅读, 收获喜欢 8 次。

关注

评论

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

你真的在做持续集成吗?

冯文辉

DevOps 持续集成 CI/CD

直接赋值,深拷贝和浅拷贝

Leetao

Python Python基础知识

架构师训练营总结 -5

River Tree

极客大学架构师训练营 个人总结

可读代码编写炸鸡四(下篇) - 提炼注释的下一步是提炼注释

多选参数

代码质量 代码 代码组织 代码规范

编程能力 —— TicTacToe(井字棋)

wendraw

Java 大前端 编程能力

架构师训练营第5周作业

aoeiuvzcs

如何写一份合格的技术简历?

通天哪吒

面试

猿灯塔:spring Boot Starter开发及源码刨析(一)

猿灯塔

Java 源码剖析

环信即时通讯云荣获《2020年度云通讯产品创新奖》

DT极客

小师妹学JVM之:Dirty cards和PLAB

程序那些事

Java JVM 小师妹 性能调优 签约计划第二季

功利学习法:我为什么要这么功利?

非著名程序员

学习 程序员 程序人生 提升认知

深入理解CAS:以AtomicInteger为例

itlemon

Atomic CAS AtomicInteger 自旋

一致性Hash算法

莫莫大人

极客大学架构师训练营

[架构师训练营] Week02 - 作业

谭方敏

Homework-我的一致性Hash算法

River Tree

Homework

第五周作业

[架构师训练营] Week02 - 学习总结

谭方敏

再谈任务分解

松花皮蛋me

Java 精益开发

第五周学习总结

想怎么玩,就怎么玩!搭载桌面级十代酷睿的神舟超级战神真香!

最新动态

week5 coding

GAC·DU

一篇文章深入理解JDK7 HashMap

itlemon

hashmap map 源码解析 哈希冲突

小姐姐面试蚂蚁金服被虐经历,哪吒心疼.

通天哪吒

面试

架构师训练营第5周总结

aoeiuvzcs

Spring Boot 最流行的 16 条实践解读,值得收藏!

Java小咖秀

spring 学习 Spring Boot SpringBoot 2 经验分享

创业使人成长系列 (1)- 从失败中学习

石云升

创业 个人成长 成长

Atlassian Team Playbook | OKR 好的不只是逼格

Atlassian

开发

推荐 10个 NB的 IDEA 插件,开发效率至少提升一倍

程序员小富

Java 效率 IDEA

一篇文章深入理解JDK8 HashMap

itlemon

源码 hashmap 线程安全

week5 总结

GAC·DU

我终于弄懂了Python的装饰器(一)

BigYoung

Python 装饰器

SOA参考架构基础的草案已经提交,正接受公众评阅中_SOA_Boris Lublinsky_InfoQ精选文章