今年(2015)是 IoT 倍速发展的一年,而且也是 IoT 与 Web 技术开始产生交集的历史时刻。在距今约十五年前,所提出的 IoT 技发发展蓝图里,描述了 IoT 的 4 个发展阶段,而其中第 4 个阶段,就是近几年被热烈讨的 WoT。WoT 或许是 Smart Phone 之后,下一个最重要的市场机会。

/news/2015/03/23/1626164280S.png

目前,正好处于第 4 个 IoT 发展阶段。去年 Google 发起的 Physical Web 计划,是一个非常先期的研究计划,就是为了 IoT 的新阶段预做准备。IoT 的第 4 个阶段,将聚焦在 Advanced Sensor Fusion 与 Physical-World Web 层面,这二个层面简单来说,就是 WoT。

根据维期百科上的定义,WoT 是 IoT 的 Application Layer,并且是使用 Web 技术来打造 application。也就是说,IoT + Web-enabled technologies 就是 WoT。对 WoT 来说,最重要的观念,就是以 URL 来表示 IoT 装置;为 IoT 加入 URL 的观念,就是 Google 提出的 Physical Web 计划。

所以说,WoT 与 Physical Web 是一体两面的观念,都是 IoT 正进入的新发展阶段。虽然 WoT 都是使用目前已经存在的软件技术,但许多观念都要重新思考,例如:Software Architecture、Application Framework 与 Composition Layer。

一个重新定义的 Application Framework,或是 Application Frontend 的 Composition Layer 设计,将会是 2015 年的 WoT 关键技术。因此,笔者利用这次带领 Mokoversity 农场计划团队,到深圳与 Seeed Studio 交流的机会,开始了相关的研究工作。

目前已经完成的实验性质开发,就是利用 Virtual DOM 技术,来进行 UI 的 Boundary Composition,这个项目叫做 AutomationJS。AutomationJS 是一份轻量级的 MVVM 实作,并且已经释出第一版的源代码。AutomationJS 是轻量级的 Boundary Composition 实作,并且使用 Backbone 做为 Model-View 的基础;未来也将接轨 HTML 5 的新技术标准-Shadow DOM。

有了 Application Framework,就能将 IoT 装封包为对象,并以 REST API 与 WebSocket Client 的方向,做对做数据推送(Data Push);这就是更能符合 WoT 理念的观念:REST Device Object。同样的硬件,但采用不同的观念、技术框架与商业思维来表达,带来的是非常不一样的产品思维,以及更有潜力的商业模式。

WebSocket 是 HTML5 标准的一项技术,WebSocket 让 Client 与 Server 能建立永续性的 TCP 联机。简单来说,有了 Websocket,就能实作出 Real-time Data Streaming 机制。

WebSocket 技术在 IoT 第 4 阶段,同样也扮演重要的角色,同时也带来不同的思维:使用 Websocket Channel Service。 Websocket Channel Service 可以将 WoT 封装成为抽象化的 Data Push Server。一般来说,WebSocket 的使用案例(Use Case)是 Server Push(Data Push)机制,也就是说,WoT 对象本身,应该是扮演 Websocket Server 的角色。

但现实层面,让 IoT 扮演 Websocket Server 的话,会有一些技术问题。WebSocket Channel Service 的架构,能解决相关的技术问题。ARM mbed 所提供的 sockets.mbed.org 服务,就是一个 Channel Service 平台。对 Channel 来说,只要能定义好「Channel」的描述结构,就能封装数以万计、千万计的 IoT 对象。

WoT 有丰富的潜在能量,因为它是 Smart Phone、IoT 与 Web 的一场交集表演;所以它或许会像 2006 年开始的 Smart Phone 时代,不但改变过去十年的商业模式,也重构过去十年的竞争形态。