lisongfeng 发布的文章

2019年10月21日,作者在“W3C万维物联网标准简介”一文中简单介绍了W3C Web of Things(WoT)工作组制定的WoT标准以及它们的最新状态:

规范当前状态
WoT ArchitectureCR
WoT Thing DescriptionCR
WoT Scripting APIWD,Working Draft
WoT Binding TemplatesWorking Group Note
WoT Security and Privacy ConsiderationsWorking 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. 编程API简介

WoT Scripting API描述如何通过脚本暴露和消费物体,同时定义了通用的物发现API。基于WoT架构定义的“消费体”(consumed thing)和“暴露体”(consumed thing),这个规范提供了不同层次的交互操作能力。

首先,客户端通过消费TD(Thing Description)可以创建一个本地运行时资源模型,即消费体。消费体支持访问远程设备上的服务端物体暴露的属性、动作和事件。

其次,服务端负责暴露物体,为此需要:

  • 定义TD
  • 初始化一个实现该TD所定义WoT接口的软件栈,以服务于对暴露属性、动作和事件的请求
  • 最终发布TD(比如发布到一个物体目录,以便消费者发现)

- 阅读剩余部分 -

近十几年来,Ecma International,简称Ecma,因其制定的ECMAScript(也就是大名鼎鼎的JavaScript语言)标准而在国内技术社区名声大噪。事实上,这家成立于1959的行业协会还制定很多其他国际标准,包括C#、Dart语言和CD-ROM,等等。作为一家注册在日内瓦的国际标准组织,Ecma越来越成为头部互联网公司在标准领域发力的平台。

众所周知,Ecma负责ECMAScript标准制定的技术委员会是TC39。2019年6月,在Ecma第117次会员代表(GA,General Assembly)会议上,360被批准为会员并加入TC39,成为TC39成立22年来的第一家中国会员。(1997年,JavaScript 1.1作为提案被提交给Ecma。)

Ecma GA每半年召开一次会议,集体审议并决定协会层面的重大事项。2019年第二次也就是第118次GA会议于12月10号在东京举行。360的GA是赵文博先生,他邀请我一道前往,同时也参加11号举办的TC53研讨会。作为W3C的AC(Advisory Committee) 代表,我也很高兴去增长增长见识,体验一下Ecma的GA会议跟W3C的AC会议有什么区别。

见证阿里、华为和Sujitech加入Ecma

Ecma这次GA会议由日立公司做东道主,会议地点就在品川站的日立公司分部,JR Shinagawa East Building 20层。

会议时间从早上9点到下午5点,中午休息1小时。会议日程多达几十项,包括Ecma一年来重点工作回顾、预算执行报告、会员类别的标准及会费、会员章程及议事规则的修订、外部合作、未来规划、外部不利因素应对,以及各技术委员会主席的年度报告,还有Ecma管理层(Managment)、秘书处(Secretariat)及执行委员会(Executive Committee)人事变动等。当然,还包括投票表决新会员申请。

比如,下图就是包含第117次GA会议接受360加入Ecma成为Associate Member申请的回顾。

- 阅读剩余部分 -

2019年10月21日,作者在“W3C万维物联网标准简介”一文中简单介绍了W3C Web of Things(WoT)工作组制定的WoT标准以及它们的最新状态:

规范当前状态
WoT ArchitectureCR
WoT Thing DescriptionCR
WoT Scripting APIWD,Working Draft
WoT Binding TemplatesWorking Group Note
WoT Security and Privacy ConsiderationsWorking 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物描述,即Thing Description,简称TD,是WoT的核心组件。顾名思义,物描述(TD)就是对物的描述,其序列化(文本化)形式是一个JSON文档。

简单起见,可以将TD看成是描述物及其能力的入口(就像一个网站的index.html)。一个TD的实例由4个部分组成:关于物体本身的元数据、表示如何使用物体的交互可识别功能、方便机器理解的数据交互模式和与物体相关的其他物体或资源的链接。

WoT交互模型定义了三种交互可识别功能:属性、动作和事件 。其中,属性(在TD中以PropertyAffordance类表示),可用于检测和控制参数,如取得当前属性的值或设置某个操作状态。动作(在TD中以ActionAffordance 类表示),对物理(因而耗时的)流程建模,也可用于抽象类似RPC的对既有平台的调用。事件(在TD中以EventAffordance类表示),用于推送通信模型,异步将通知、离散事件或值流发送给接收者。详情可参考WoT架构。

TD提供由URI模式(如httpcoap等)标识的不同协议绑定的元数据、基于媒体类型(如application/jsonapplication/cbor)的内容类型和安全机制(用于认证、授权、保密等)。TD实现的序列化是基于JSON的,其中JSON中的名称(属性/字段)引用预定义词汇表中的术语,同样也在WoT物描述标准中定义。此外,TD的JSON序列化遵循JSON-LD 1.1语法,可以方便扩展和进行富语义处理。

下面展示了一个TD的示例,描述了名称为MyLampThing的物体。

- 阅读剩余部分 -

2019年10月21日,作者在“W3C万维物联网标准简介”一文中简单介绍了W3C Web of Things(WoT)工作组制定的WoT标准以及它们的最新状态:

规范当前状态
WoT ArchitectureCR
WoT Thing DescriptionCR
WoT Scripting APIWD,Working Draft
WoT Binding TemplatesWorking Group Note
WoT Security and Privacy ConsiderationsWorking 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(组件及互联)

- 阅读剩余部分 -

10月20日,第六届世界互联网大会在浙江乌镇开幕。国家主席习近平致贺信。

习近平指出,今年是互联网诞生50周年。当前,新一轮科技革命和产业变革加速演进,人工智能、大数据、物联网等新技术新应用新业态方兴未艾,互联网迎来了更加强劲的发展动能和更加广阔的发展空间。发展好、运用好、治理好互联网,让互联网更好造福人类,是国际社会的共同责任。各国应顺应时代潮流,勇担发展责任,共迎风险挑战,共同推进网络空间全球治理,努力推动构建网络空间命运共同体。

(新华社北京10月20日电:http://www.xinhuanet.com/politics/2019-10/20/c_1125127764.htm

社交媒体实现了“人联网”,在线支付实现了“财联网”。如今,人工智能、大数据技术的发展正有力地推动“物联网”的兴起。不难想象,物联网将在智能家庭、产业、城市,乃至智能国家、智能地球的建设中发挥基础性作用,为未来的人类和社会造福。

然而,由于联网设备的制造厂商不同、接入互联网使用的协议不同,如今的物联网(IoT,Internet of Things)依旧呈现“一盘散沙”、“各自为政”的状态。IoT平台和生态虽然层出不穷,快速演进,但各家协议栈和软件应用之间缺乏互通,形成了千千万万个专有IoT“孤岛”。W3C称IoT的这种状态为“碎片化”(fragmentation)。碎片化导致用户与供应商绑定、开发交付成本高昂、软件组件难以复用,这些问题成为阻碍IoT向更深、更广领域应用迈进的巨大障碍。

- 阅读剩余部分 -