WoT(Web of Things)と化すIoTに待ち受ける、分断された未来SYSTEM DESIGN JOURNAL(2/5 ページ)

» 2016年03月15日 00時00分 公開
[Ron Wilson(Editor-in-chief,Altera),MONOist]

共通言語としてのWeb

 確かにWebはIoTに関心を持つ全ての当事者に理解されています。今やWebサイト開発は簡単で、基礎をなすシステムの複雑さはほとんど抽象化され、実際のコーディングはほとんど必要ありません。

 Webのフォーマットやプロトコルは本質的にインターネットに適しており、あらゆる種類のゲートウェイやファイアウォールを容易に通過します。さらにWebでは、未知のオブジェクトをハードウェアに依存しない形で扱うため、「ReST(RepresentationalStateTransfer)」という驚く程、直感的なメタファを使用します。

 この用語は、Web開発に携わっていない人には分かりにくいかも知れません。ReSTは、クライアントとサーバ間のトランザクションモデルです(図1)。

図1 ReSTを満たすトランザクションは、クライアント、サーバからのステートレス・レスポンスのための一連のHTTPメソッドをサポートします 図1 ReSTを満たすトランザクションは、クライアント、サーバからのステートレス・レスポンスのための一連のHTTPメソッドをサポートします

 クライアントは、Get、Put、Delete、Post(Putのバリエーション)という4種類のリクエストをサーバに発行できます。これらは、ハイパーテキスト転送プロトコル(HTTP)で定義された標準の方法です。各リクエストは、サーバ上の特定アイテム、制御情報、必要な場合はデータストリングを示すUniversal Resource Identifier(URI、通常はウェブのURL)を含みます。データは、JSON(JavaScript Object Notation)またはXMLが一般的で、どちらも人間が読めるとされています。

 通常のReSTfulな交換は、クライアントがサーバ上の特定URIに対してGetリクエストを発行することなどで始まります。サーバは「こちらです」や愛想のない「404 PageNotFound」といったレスポンスを示すステータスと、それに続くデータストリングで応答します。データは、要求されたURIの現在の状態の表現で、要求されたフォーマットで符号化されます。

 ここで注意すべき点は、HTTPの無保証性を踏まえて、サーバが前の転送に関する情報や、クライアントの状態に関する情報を一切保持していないことです。従って、サーバは前のリクエストが成功したかどうかも、あるいは故障したネットワークから同じリクエストを届いたのがこれで35回目なのかどうかも全く分かりません。

プラットフォームのパーティショニング

 ReSTfulなメタファは、ITの世界からのベンダーにとって非常に魅力的です。Oracleのソフトウェア開発担当シニアディレクター Robert Clark氏は、IoTに対する同社のアプローチでは「モノをReSTfulなエンドポイントとして扱う」と説明しています。

 同社のアーキテクチャは、新規または既存のエンタープライズアプリケーション向けの広範なIoTサービスを実装するクラウドAPIセットをベースにしています。最下位レベルのサービスは、モノへのReSTfulな接続を提供します。しかし、Oracleはモノの仮想モデルの構築、モデル経由での物理的なモノの管理、データの収集、解析、指令・制御アルゴリズムまたは従来のエンタープライズ・アプリケーションへの接続を行えるようにしています。Oracleは概念上、現実世界をユニバーサル・エンタープライズ・データ・プールに(ほぼリアルタイムで)統合しようとしています。

 Oracleの考えは決して孤立したものではありません。WIND RIVERも同様の概念に到達していますが、エンタープライズソフトウェアよりむしろエンベデッドの観点から出発しています。WIND RIVERはOracleと同様、ReSTfulなAPIを介してモノと通信するクラウドベースのアプリケーションプラットフォームを提供しています。しかし、同社のエッジ管理システムでは、モノがサポート可能な場合、そのソフトウェアスタックをハブ経由で、モノ自体の上で動作するエンベデッドソフトウェアまで拡張します。

Copyright © ITmedia, Inc. All Rights Reserved.