W3C 物聯網如何將 JSON Schema 帶入物聯網
挑戰
物聯網 (IoT) 是實體「智慧」物件的網路,這些物件透過網際網路與其他裝置交換資料。雖然通訊和互通性在定義上是物聯網的關鍵,但客製化或專有解決方案的出現,導致裝置之間由於資料交換機制不同而無法相互溝通。
為了整合這些不同的裝置,開發人員必須使用越來越多的協定、序列化格式和 API 規格。這導致重複、不可擴展且容易出錯的工作,難以自動化。
雖然像 OpenAPI 和 AsyncAPI 這樣的技術在 Web API 的環境中大致解決了這個問題,但它們在描述非 HTTP 和多協定裝置的網路時卻不足,並且沒有考慮到基於它們在現實世界中的意義的不同互動模式。
解決方案
為了解決這些問題,W3C 物聯網致力於提供使用 JSON Schema 的標準化構建模組。
JSON Schema 用於驗證稱為事物描述的實體網路介面功能的描述,並以多協定方式建模和描述物聯網消費者和生產者傳送的資料。
W3C 物聯網規範自 Draft 4 開始就採用 JSON Schema,甚至第一版草案就已經考慮到物聯網裝置的資料模型。「目前,我們使用的是 JSON Schema Draft 7,並預計在 2023 年 2 月開始新的章程時轉向 JSON Schema 2020-12 或更新的版本」,西門子研究科學家兼 W3C 規格編輯 Ege Korkan 說道。
「我們觀察到 JSON Schema 多年來變得越來越穩定,Postman 對社群的支援使我們對它更有信心。」Ege Korkan 繼續說道。
JSON Schema 正在提供令人興奮的功能,更重要的是,這些功能在不同實作中變得越來越一致。例如,Ege Korkan 補充說:「JSON Schema 詞彙表非常有前景,我們計畫將它們與語意網技術結合起來進一步探索。」
影響
W3C 物聯網依賴 JSON-LD 來連結網路上已有的詞彙表和本體,例如 [SAREF][#saref]、[度量單位][#units-of-measure] 和 [Schema.org][#schema-org]。由於基於 JSON 資料模型,JSON Schema 在將這兩項技術整合為單一規範時,非常適合 JSON-LD。
採用 JSON Schema 意味著 W3C 物聯網無需投入精力來發明另一種綱要語言。由於 JSON Schema 的普及,現有的工具通常可以重複使用,而無需為社群可能感興趣的所有程式語言實作自訂的剖析器、驗證器、程式碼產生器和 UI 產生器。
JSON Schema 已被證明是為建立特定於 W3C 物聯網的更高階工具的基礎構建模組。一個值得注意的例子是,社群開發了一個名為 testbench 的工具,該工具使用事物描述內的 JSON Schema 定義來產生用於壓力測試和滲透測試的匹配酬載。
鑑於使用 JSON Schema 產生基於 Web 的表單越來越普及,W3C 物聯網規格可用於自動產生儀表板和使用者介面,以與事物描述建模的物件互動。
主要影響結果
像 W3C 物聯網這樣的標準的最終成功指標是採用,而社群採用並不是您可以「工程化」的。Ege Korkan 評論道:「由於我們採用 JSON Schema,熟悉它的開發人員在學習 W3C 物聯網標準時的學習曲線較短。」
「在我攻讀博士學位期間,我的碩士工程學生必須熟悉 W3C 物聯網。這些學生通常需要 1 週的時間來完成我的 教學課程。如果他們知道 JSON Schema,這 1 週將變成 2 天」,Ege Korkan 說道。
W3C 物聯網
全球資訊網協會 (W3C) 是 Web 中使用的大多數標準背後的標準化組織。W3C 物聯網工作組和興趣組致力於 W3C 的物聯網標準化。
物聯網群組的目標是建立一個互通性層,以便不同的物聯網平台、協定和標準可以協同運作。
這項工作始於 2013-2014 年物聯網社群群組中的討論。它在 2015 年發展成為一個興趣群組,收集用例並定義要處理的標準。自 2016 年以來,工作組一直在研究物聯網的不同標準,第一個事物描述和架構建議於 2019 年發布,今年年底前將發布更多建議。
在撰寫本文時,工作組由代表 36 個組織的 96 名參與者組成,而興趣組由代表 48 個組織的 131 名參與者組成。
開始使用
W3C 物聯網工作組邀請您利用現有的 JSON Schema 知識,透過使用 W3C 物聯網規格和工具來體驗物聯網。您身邊可能已經有一個智慧裝置,只是它沒有附帶事物描述!
如果您編寫自己的事物描述,可以使用 Node.js 物聯網實作以程式設計方式與您的裝置互動,或透過 Node-RED 整合來體驗它。
若要了解更多資訊,請前往文件,觀看入門影片,查看作為事物描述規格一部分提供的許多範例,並在事物描述遊樂場應用程式中試用它們。
感謝西門子公司慕尼黑分公司物聯網研究員 Ege Korkan、W3C 物聯網工作組和興趣組,以及 W3C 行銷和傳播團隊的 Coralie Mercier,允許並促使我們與您分享此案例研究。
封面圖片:Hello WoT © 2022 by desertmonitor OÜ 根據 CC BY-ND 4.0 授權