WebエンジニアにとってのIoT ~Physical Webが拓く未来~

第1回 Physical Webの概要

この記事を読むのに必要な時間:およそ 4 分

PhysicalWebのフロー

では,このビーコンが放出するパケットをスキャンするアプリを用意したとします。

スマートフォンにそのアプリをインストールしておいた状態でビーコンの近くを通ることで,このURLを拾うことが出来るようになります。

図3 ビーコンの近くを通ることでURLを拾うことが出来る

図3 ビーコンの近くを通ることでURLを拾うことが出来る

ここで取得したURLをそのままデバイス内のWebブラウザに渡すなど自由に使っても良いのでしょうが,PhysicalWebではここで一段処理をかますことを想定しているようです。

メタデータリゾルバ

2015年3月現在,UriBeaconのように明確に仕様化はされていないようですが,リポジトリのコードを見ていくとメタデータリゾルバと言うWebのエンドポイントの存在を想定していることがわかります。

UriBeaconから取得したURL受け取ったデバイスは,このURLをリゾルバに投げることで,そのURLが指し示す先のコンテンツに関して解析された情報であるメタデータを受け取ることができます。

図4 コンテンツに関して解析された情報であるメタデータを受け取る

図4 コンテンツに関して解析された情報であるメタデータを受け取る

このリゾルバが具体的に何をしているかと言うと,ビーコンから渡されたURLが短縮サービスを使ったものであった場合に展開処理し,最終的に指し示したいページのURLを取得し,そのURLからコンテンツを取得します。

図5 最終的なURLからコンテンツを取得

図5 最終的なURLからコンテンツを取得

ここで取得したものがHTMLであれば,それを解析し,タイトルサムネイル画像説明などを取得します。

図6 取得したものがHTMLであればそれを解析し各種情報を取得

図6 取得したものがHTMLであればそれを解析し各種情報を取得

Facebookでよく利用されているOGPのような情報と言うとわかりやすいでしょうか。

実際に,Webサーバのサンプルコードを見ると,OGPも利用されています。titleやiconを表す可能性のある様々なタグを,フォールバックしながら取得していきます。

このように取得した情報をユーザに返します。

図7 取得した情報をユーザに返す

図7 取得した情報をユーザに返す

また上の図のようにメタデータをキャッシュしておく機能を有し,次回以降同じURLについてのリクエストを投げたユーザは,短縮URLの展開などで時間をかけられることもなく,即座にメタデータを手に入れることが可能になります。

このエンドポイントは様々な応用の可能性を秘めており,今後非常に重要な役割を担っていく可能性がありますが,その仕様についてはまだまだ議論の余地があるように思います。

こちらについても,今回はまず概略としてフローだけを抑えておいてください。

著者プロフィール

加藤亮(かとうりょう)

ソフトウェアエンジニア。

比較的プロトコルとフロントエンド寄り。

2014年7月よりリクルートテクノロジーズアドバンスドテクノロジーラボ所属。