低代码到底是不是行业毒瘤?一线大厂怎么做的?戳此了解>>> 了解详情
写点什么

考虑将 RESTFul 方法应用于 DoD 项目

2009 年 2 月 16 日

Tieu Luu 在最近的文章中以美国国防部的一个项目为例对REST 架构风格进行了说明,该项目是**“以网络为中心的数据策略(NCDS)”(NCDS)。他认为,NCDS 的某些核心目标能够更自然地被 REST 的四个基本原则支持,即统一接口、自描述消息、可寻址资源超媒体即应用状态引擎 **。

2003 年,DoD 建立了一种被称为“以网络为中心的数据策略”的企业级数据策略,它拥有一套定义良好的基本目标。出于共享和使用企业内部数据的需要,该项目目标中的四个借鉴了万维网的某些公共特性。作者选取了该项目的这四个目标分别进行了说明:

  1. 数据可视化。这意味着数据的所有使用者都能够发现数据的存在。
  2. 数据可访问。这意味着使用者有合适的权限访问数据。
  3. 数据可理解。这基本意味着——使它成为自描述的。
  4. 支持非预期用户。这基本意味着用户的数量没有限制,与万维网类似。

作者对 REST 原则和 NCDS 目标之间存在的天然匹配进行了详细解释。比如,他解释了 REST 原则中统一接口可以如何自然地支持 NCDS 的数据可访问非预期用户特性。他在下表中总结了上述四个 REST 原则所涉及的 NCDS 四个目标:

REST 原则

与“以网络为中心的数据策略”的匹配

统一接口

· 暴露相同统一接口的所有资源保证了随时随地访问数据

· 因为所有用户(不论其是否想访问资源)都只能使用统一接口,故而支持非预期用户

自描述消息

· 使用标准的表示格式和描述性元数据令数据可以被广泛的客户端理解

可寻址资源

· 每个资源或者每条数据都具有可寻址的 URI,这使得它是可发现的,并从而增加了它的可见性

· URI 不仅使资源可被发现,而且也使资源可被访问

· 这些 URI 还使得相关联的信息提供了一个增进可理解性的环境

超媒体即应用状态引擎

· 这个“连通性”原则要求资源包含指向到其他相关资源的链接,这使得通过彼此的表示就可发现相关资源

· 这种资源的连通性产生了一个信息网络,它提供了一个增进可理解性的环境

作者也承认,对于 DoD 的有些场景而言,SOAP 和 WS-* 将会更有效,如应用到应用的集成场景。他依然坚持了自己的立场:他不认为 REST 是一种更好的方法,而认为它仅仅是在特定场景下能够提供收益的一种方案。最后,他表达了他的愿望,那就是,他的文章能说服DoD 也使用REST

InfoQ 已经发表了一系列文章、新闻和幻灯片,涵盖了REST 架构风格和仍在围绕REST 进行的争论。

查看英文原文 Considering a RESTful Approach to Net-Centricity in DoD

2009 年 2 月 16 日 01:23874
用户头像

发布了 255 篇内容, 共 46.5 次阅读, 收获喜欢 2 次。

关注

评论

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

每天花2小时复习阿里P9分享的Java面试指南,高级架构教程,你也可以进阿里!

Java成神之路

Java 程序员 架构 面试 编程语言

完美!这份世界顶级架构师编写的550页Spring5高级编程

Java架构之路

Java 程序员 架构 面试 编程语言

终于有人把SpringBoot讲清楚了!阿里P8力推的SpringBoot核心笔记

Crud的程序员

spring 程序员 springboot

用138个案例讲明白了Spring全家桶+Docker+MQ

996小迁

Docker 架构 面试 RabbitMQ Spring全家桶

IPFS系统APP软件开发

开發I852946OIIO

系统开发

测开之函数进阶· 第5篇《偏函数》

清菡

测试开发

Bitmap 续篇-基于 Bitmap 瞅瞅不一样的 Percentile

GrowingIO技术专栏

BitMap

盘点 2020 | 数据里有你、我、他,关键还是自己

李孟

大数据 数据中台 感悟 盘点2020

小黄人提前回归?实力与萌力双出动

DT极客

轮子虽好,也要知其所以然!(Lombok操作实例)

程序员小毕

Java 源码 架构 开发工具 lombok

硕二面试阿里被吊打,不甘!复盘狂啃底层技术,拿下阿里P6+offer

Java成神之路

Java 程序员 架构 面试 编程语言

ONES 年终报告 | 功能升级123次,服务超100万客户

万事ONES

研发管理工具 年终报告

从阿里P5到P8=入门到内核?看看这份对标80W+年薪的Java进阶路线图

Java架构之路

Java 程序员 架构 面试 编程语言

【华为云专家原创】 服务注册与发现如何满足服务治理?

华为云开发者社区

分布式 服务 注册

ReactNative | 通过文件下载/打开需求,聊聊使用三方库

梁龙先森

前端 技术方案 React Native

架构设计大作业 2

仲夏

年前成功拿下35K+16薪美团Java架构师Offer!考点、面试题分享送给明年金三银四的你

Java架构追梦

Java 架构 面试 美团 offer

由两个问题引发的对GaussDB(DWS)负载均衡的思考

华为云开发者社区

数据库 数据 负载

2020H1中国AI云服务市场规模增长远超预期;C++20 标准正式发布

京东科技开发者

云计算 AI IoT

震精!京东T8大牛每天熬夜到凌晨三四点,竟然是在写Docker教程

Java成神之路

Java 程序员 架构 面试 编程语言

GitHub上1.3W Stars国内第一的项目实战PDF

Java架构之路

Java 程序员 架构 面试 编程语言

架构革新路漫漫,京东智联云自研服务器设计细节探秘

京东科技开发者

服务器 数据中心 IDC

看完这篇,保证让你真正明白:分布式系统的CAP理论、CAP如何三选二

四猿外

架构 分布式系统 CAP CAP原理 CAP理论

面试字节跳动定级2-2,拿32*16offer,P8大佬的算法教程给了我春天!

Java成神之路

Java 程序员 架构 面试 编程语言

阿里P9在Github上分享的Java面试突击手册,凭借它,我拿下了阿里P7的offer!

Java成神之路

Java 程序员 架构 面试 编程语言

架构设计大作业1

仲夏

手把手带你入门加密算法的Python实现

华为云开发者社区

Python 算法 加密

接口测试-使用mock生产随机数据

测试人生路

接口测试

【得物技术】交易轨迹系统

得物技术

数据 交易 得物 得物技术 自定义

七大步骤,详解预置算法构建模型的全过程

华为云开发者社区

架构 算法 数据

专业基础篇

紫枫

2021 ThoughtWorks 技术雷达峰会

2021 ThoughtWorks 技术雷达峰会

考虑将RESTFul方法应用于DoD项目-InfoQ