写点什么

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:241850
用户头像

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

关注

评论

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

挑战30天学完Python:Day2 夯实基础-变量和内置函数

MegaQi

9月月更 挑战30天学完Python

C++学习------csetjmp头文件的源码学习

桑榆

c++ 源码阅读 9月月更

接口测试框架实战 | 流程封装与基于加密接口的测试用例设计

霍格沃兹测试开发学社

Groq:从头设计一个张量流式处理器架构

OneFlow

人工智能 深度学习 处理器

【从零开始学爬虫】采集谷歌网页列表数据

前嗅大数据

大数据 数据采集 爬虫软件 爬虫教程 互联网+

万字长文!教你如何拆解一款 App

产品海豚湾

产品经理 产品设计 竞品分析 B端产品 9月月更

[MyBatisPlus]标准数据层开发(CRUD、分页)

十八岁讨厌编程

Java 后端开发 9月月更

快速安全的将 Azure SQL 迁移到云原生数据库 Amazon Aurora

亚马逊云科技 (Amazon Web Services)

数据库 云原生

DolphinScheduler&RocketMQ 联合 Meetup 即将重磅开启,集中展示任务调度与消息队列能力!

阿里巴巴云原生

阿里云 RocketMQ 云原生 DolphinScheduler

跟着卷卷龙一起学Camera--AE

卷卷龙

ISP 9月月更

[SpringBoot系列]基础过渡与夯实(基础配置)

十八岁讨厌编程

Java 后端开发 9月月更

关于CMDB建设思路的一点思考

穿过生命散发芬芳

CMDB 9月月更

EMQ亮相服贸会:夯实IoT数字底座,加速迈向工业4.0时代

EMQ映云科技

物联网 IoT 工业4.0 服贸会 9月月更

数字化转型-数据资产管理

Taylor

数据资产 数字化 数据价值 数据管理 数据资产管理

Java进阶(十七)ArrayList与LinkedList的区别

No Silver Bullet

Java ArrayList linkedlist 9月月更

测试需求平台4-Flask实现API服务入门实战

MegaQi

测试平台开发教程 9月月更

亮点抢先看|StarRocks Summit Asia 2022 全议程公布!

StarRocks

数据库

【JS】DOM键盘事件--div元素-设置键盘事件--失效的额外处理踩坑

Sam9029

JavaScript DOM 9月月更 键盘事件

接口测试框架实战(二)| 接口请求断言

霍格沃兹测试开发学社

接口测试该怎么做?持证上岗的Charles,可以帮你做什么?

霍格沃兹测试开发学社

接口测试项目实战与经典面试题解析,挑战 BAT 大厂必会!

霍格沃兹测试开发学社

做好产品手册,发现优质顾客

Baklib

编辑FAQ常用问题网页的Tips

Baklib

ChatOps新型运维协作介绍

阿泽🧸

ChatOps 9月月更

接口管理工具YApi怎么用?颜值高、易管理、超好用

霍格沃兹测试开发学社

走向云原生数据库,告别 Microsoft SQL Server,迎接 Babelfish

亚马逊云科技 (Amazon Web Services)

数据库 云原生

接口测试框架实战(一) | Requests 与接口请求构造

霍格沃兹测试开发学社

做好企业的内部知识管理的方法

Baklib

系统设计 - 高可用思想简介

三叶草

高可用 SLA 高可用设计

SpringFramework初识

十八岁讨厌编程

spring 后端 9月月更

【vue3】vue3-组合式API中实现深拷贝

Sam9029

Vue 深拷贝 9月月更

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