W3C Web of Things がどのように JSON Schema を IoT にもたらすか
課題
モノのインターネット(IoT)とは、インターネットを介して他のデバイスとデータを交換する物理的な「スマート」オブジェクトのネットワークです。通信と相互運用性は定義上モノのインターネットの核心ですが、カスタムまたは独自のソリューションの出現により、データ交換メカニズムの違いから相互に通信できないデバイスが発生しています。
これらの異なるデバイスを統合するために、開発者は増え続けるプロトコル、シリアル化形式、およびAPI仕様を扱う必要があります。これにより、反復的でスケーラブルでなく、自動化が困難なエラーが発生しやすい作業が発生します。
OpenAPIやAsyncAPIなどのテクノロジーは、Web APIのコンテキストではこの問題をほぼ解決していますが、非HTTPおよびマルチプロトコルデバイスのネットワークを記述するには不十分であり、物理世界での意味に基づいたさまざまなインタラクションモードを考慮していません。
解決策
これらの問題を解決するために、W3C Web of ThingsはJSON Schemaを利用した標準化された構成要素の提供に取り組んでいます。
JSON Schemaは、Thing Descriptionsと呼ばれる物理エンティティのネットワークに面した機能の説明を検証し、モノのインターネットの消費者と生産者がマルチプロトコルで送信するデータをモデル化および記述するために使用されます。
W3C Web of Thingsの仕様は、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の語彙は非常に有望であり、セマンティックWebテクノロジーと組み合わせてさらに調査する予定です」と付け加えました。
インパクト
W3C Web of Thingsは、[SAREF][#saref]、[Units of Measure][#units-of-measure]、[Schema.org][#schema-org]など、Web上にすでに存在する語彙とオントロジーをリンクするためにJSON-LDに依存しています。JSONデータモデルに基づいているため、JSON Schemaは、単一の仕様の一部として両方のテクノロジーを統合する際に、JSON-LDとうまく適合します。
JSON Schemaを採用するということは、W3C Web of Thingsが別のスキーマ言語を発明するのに労力を費やす必要がないことを意味します。JSON Schemaの人気が高いため、コミュニティが関心を持つ可能性のあるすべてのプログラミング言語に対して、カスタムパーサー、バリデーター、コードジェネレーター、UIジェネレーターを実装する代わりに、既存のツールを再利用できることがよくあります。
JSON Schemaは、W3C Web of Thingsに固有のより高レベルのツールを作成するための基礎となるブロックであることが証明されています。注目すべき例として、コミュニティはtestbenchと呼ばれるツールを開発しました。これは、Thing Descriptions内のJSON Schema定義を利用して、ストレステストと侵入テストの目的で一致するペイロードを生成します。
JSON Schemaを使用してWebベースのフォームを生成することがますます普及しているため、W3C Web of Thingsの仕様を使用して、Thing Descriptionsによってモデル化されたオブジェクトと対話するためのダッシュボードとユーザーインターフェイスを自動的に生成できます。
主なインパクト結果
W3C Web of Thingsのような標準の究極の成功指標は採用であり、コミュニティの採用は単に「設計」できるものではありません。Ege Korkanは、「JSON Schemaを採用しているため、それに精通している開発者は、W3C Web of Things標準を学ぶ際の学習曲線が小さくなります」とコメントしました。
「博士課程の間、私の修士課程の工学部の学生はW3C Web of Thingsに精通する必要がありました。これらの学生は通常、私のチュートリアルを完了するのに1週間かかりました。彼らがJSON Schemaを知っていたら、その1週間は2日になったでしょう」とEge Korkanは述べました。
W3C Web of Things
World Wide Web Consortium(W3C)は、Webで使用されるほとんどの標準の背後にある標準化組織です。W3C Web of Thingsワーキンググループとインタレストグループは、W3CでのWeb of Thingsの標準化に取り組んでいます。
Web of Thingsグループは、異なるモノのインターネットプラットフォーム、プロトコル、標準が連携して動作できるように、相互運用性レイヤーを作成することを目指しています。
この取り組みは、2013年から2014年にWeb of Thingsコミュニティグループでの議論として始まりました。2015年にはインタレストグループとなり、ユースケースを収集し、取り組む標準を定義しました。2016年以降、ワーキンググループはWeb of Thingsに関するさまざまな標準に取り組んでおり、2019年にThing Descriptionとアーキテクチャの最初の推奨事項を公開し、今年の年末までにさらに多くの公開を予定しています。
この記事の執筆時点では、ワーキンググループは36の組織を代表する96人の参加者で構成されており、インタレストグループは48の組織を代表する131人の参加者で構成されています。
始め方
W3C Web of Thingsワーキンググループは、既存のJSON Schemaの知識を活用して、W3C Web of Thingsの仕様とツールを使用してモノのインターネットを操作することをお勧めします。おそらく、すぐ隣にスマートデバイスがあるでしょう。Thing Descriptionが付いていないだけです!
独自のThing Descriptionを作成する場合は、Node.js Web of Things実装を使用してデバイスとプログラムで対話するか、Node-RED統合を介して操作できます。
詳細については、ドキュメントにアクセスし、紹介ビデオを視聴し、Thing Description仕様の一部として提供されている多くの例を参照して、Thing Description Playgroundアプリで試してみてください。
このケーススタディを皆様と共有することを許可し、可能にしてくれた、シーメンスAGミュンヘンのWeb of Things研究者であるEge Korkan氏、W3C Web of Thingsワーキンググループおよびインタレストグループ、W3CマーケティングおよびコミュニケーションチームのCoralie Mercier氏に感謝します。
カバー画像:Hello WoT © 2022 by desertmonitor OÜ は CC BY-ND 4.0 の下でライセンスされています。