写点什么

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

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

关注

评论

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

微服务配置中心 Apollo解析——Portal 关联 Namespace

Java 程序员 后端

怒肝15天终于将Kafka的重平衡一举拿下

Java 程序员 后端

我上高中的弟弟都能看懂的Docker学习教程,你看看讲的怎么样

Java 程序员 后端

我猜你还没明白如何利用好Redis、Redisson使用实现分布式锁?

Java 程序员 后端

我的Serverless实战——能掰扯面试官的SSVM超详细解析!

Java 程序员 后端

手把手带你用数据库中间件Mycat+SpringBoot完成分库分表

Java 程序员 后端

微服务治理:CloudConsul和ZooKeeper

Java 程序员 后端

微服务配置中心 Apollo 解析——调试环境搭建

Java 程序员 后端

微软员工求助:谷歌150w,拼多多200w,腾讯160w,offer怎么选

Java 程序员 后端

必知必会JVM二-运行时数据区

Java 程序员 后端

惨无人道的性能优化!阿里淘宝双十一性能优化全栈实录我粉了!

Java 程序员 后端

我用了3年,从小厂干到美团L8技术专家!分享一下面经!

Java 程序员 后端

当程序员多年了,现在竟然还有人只会多线程-,不会异步编程!-我惊呆了

Java 程序员 后端

微服务SpringCloud项目:初步整合rabbitmq

Java 程序员 后端

Android开发:当前项目以Module形式引用别的项目的步骤

三掌柜

11月日更

必知必会JVM三-面试必备,JVM堆内存详解

Java 程序员 后端

想搞清楚ZooKeepe?这篇入门你必须了解!

Java 程序员 后端

手写线程池实战

Java 程序员 后端

微服务架构实战:可扩展分布式数据库集群的搭建

Java 程序员 后端

成为架构师之前,你一定要懂的-CAP-定理

Java 程序员 后端

我来告诉你解决死锁的100种方法

Java 程序员 后端

微服务容错组件Hystrix设计分析

Java 程序员 后端

总结了才知道,原来Java NIO的channel是这么用的!

Java 程序员 后端

您必须尝试的10个最流行的Java框架

Java 程序员 后端

惊艳!阿里出产的MyCat性能笔记,带你领略什么叫细节爆炸

Java 程序员 后端

懊悔!早一点遇到这份1399页Nginx笔记,我绝不会错过阿里offer!

Java 程序员 后端

微服务下的分布式session管理

Java 程序员 后端

微服务配置中心 Apollo解析——Portal 创建 Cluster

Java 程序员 后端

悟了!原来这才是分布式事务的正确打开方式

Java 程序员 后端

我所理解的Java锁

Java 程序员 后端

我这么回答对Spring的理解,面试官狂问我什么时候入职?

Java 程序员 后端

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