编者按:本文作者李松峰,资深技术图书译者,翻译出版过40余部技术及交互设计专著,现任360奇舞团Web前端开发资深专家,360前端技术委员会委员、W3C AC代表。
规范 | 当前状态 |
---|---|
WoT Architecture | CR |
WoT Thing Description | CR |
WoT Scripting API | WD,Working Draft |
WoT Binding Templates | Working Group Note |
WoT Security and Privacy Considerations | Working Group Note |
本系列将从 WoT 标准本身出发,对目前已经进入 CR 阶段(W3C标准的阶段参见下图)的 WoT Architecture(WoT架构)、WoT Thing Description(WoT物描述)以及处于WD阶段的WoT Scripting API(WoT编程API)进行一次快速解析。
如下图所示,标准进入 CR 阶段意味着内容已经相对稳定,WD 阶段则意味着较大的不确定性,而 Working Group Note(工作组备忘)则变数很大。因此处于 CR 阶段的“架构”和“物描述”是值得花时间了解的(成为正式推荐标准REC的可能性很大),而处于 WD 阶段的编程 API 最近(2019年10月28日)刚刚做了一次大的内容改版,几乎完全废弃了上一版的内容,只能说接近稳定状态,但编程API始终是开发者所喜闻乐见的,所以本系列也会介绍。
W3C Process Document,https://www.w3.org/2019/Process-20190301/#recs-and-notes
1. WoT架构
WoT 架构规范的核心分别从7个方面描述了 WoT 相关的术语及这些术语之间的相关关系。架构的本质就是术语及其关系。术语代表业界约定俗成的概念,是架构的骨骼和肌肉;关系描述术语的交互与特性,是架构的血液和神经。
Overview(概述)
Affordances(可识别功能)
Web Thing(Web物)
Interaction Model(交互模型)
Hypermedia Controls(超媒体控件)
Protocol Bindings(协议绑定)
WoT System Components and Their Interconnectivity(组件及互联)
2. 概述
这一部分从宏观上定义了 Thing、Consumer 和 Intermediary 三个基础概念及其相互关系。
Thing(物):指的是某个物理或虚拟实体(如设备或房间)的抽象表示,由标准化的元数据描述。在W3C WoT中,描述元数据必须是 WoT Thing Description(TD)。
Consumer(消费者):消费者必须能够解析和处理基于 JSON 的 TD。
Intermediary(中介):可以充当物体的代理,此时中介拥有与背后的物类似的 TD ,但指向的是由这个中介提供的 WoT 接口。中介也可以给背后的物添加额外的能力或者将多个可用的物体组合起来,从而构成虚拟实体。对消费者而言,中介看起来就像一个物,因为它拥有 TD 且提供 WoT 接口。
消费者与物直接交互是最简单直观的方式:
物 TD 中可以包含指向其他物或资源的链接:
互联网无法访问