WebIntentsとSocket APIでブラウザから家電が操作できる。HTML5 Conference 2012

2012年9月18日

HTML5のコミュニティ「html5.org」主催のイベント「HTML5 Conference 2012」が9月8日、慶應大学日吉キャンパスで開催されました。ボランティア主催のイベントでありながら、約1000人の来場者と4トラック20セッション以上という規模は、現在のHTML5への大きな注目度を示しているようです。

Publickeyでは、セッションの中からWebの最新動向に関連した「WebIntents」と「WebRTC」に関する記事を2本公開します。

本記事は、NTTコミュニケーションズ 小松健作氏による「WebIntentsにより拓かれる次のWeb」の内容をかいつまんで紹介します。

WebIntentsにより拓かれる次のWeb

NTTコミュニケーションズ 小松健作氏。

fig

まずはWebからテレビが操作できる、というデモを紹介します。(左のスクリーン上でWebページでメニューを選ぶと、右のテレビのスイッチが入る)

fig

このテレビは別にWebから操作できるような仕組みを仕込んであるわけではなくて、至って普通のテレビです。つまり、テレビもWebの中に入ってきている。テレビ以外にも、カメラやプリンタなどいろんなものすべてが、なんでもWebなんだ、ということになってきています。

クラウドもローカルもテレビも全部シームレスにWeb。ひとつのプラットフォームですべてが動き出す、まさにOne Webです。

このセッションではこれに関連した技術、WebIntents、Device APIなどについて紹介します。

WebIntentsはWebアプリケーションをつなげる

WebIntentsとは、Webアプリケーション同士をつなげる仕組みです。今回、HTML5 Conference 2012のサイトにも仕込んでみました。このボタンを押すと、GmailやTwitter、Bloggerなどにシェアするためのダイアログボックスが表示されます。

fig

WebIntentsには、WebIntentsにアプリケーションを登録する「Registration(レジストレーション)」と、WebIntentsを呼び出す「Invoke(インボーク)」の2つがあります。

fig

WebIntentsはいまWorking Draftの状態なので、まだ変更があるかもしれません。

Device APIでデバイス内部へアクセス

Device APIsワーキンググループは以前の方針を変更して、デバイス内部に専用のWebサーバを立て、これを経由して例えば内部のカレンダープロセスにアクセスすることにしました。

これによって開発者からは共通のAPIでアクセスでき、デバイス内部のAPIは隠蔽できるため、既存のデバイスベンダーの賛同が得られやすくなりました。

fig

WebIntentsを使えば、ユーザーは同じモデルでGoogle Calendarでも、デバイス内部のカレンダーでもどちらもアクセスできます。

DLNAをSocket APIで叩く

でも、ローカルネットワークにデバイスがあるとしたら、どうやってその内部のWebサーバのIPアドレスを知るのでしょう?

このテレビはDLNA(Digital Living Network Alliance)対応。DLNAの実装は、テレビなどをリモート操作するためにSOAPで通信を行います。実はそのためにWebサーバが積んであります。

そしてUPnP(Universal Plug and Play)では、IPマルチキャストを使って自動発見することができます。

fig

あとはWebブラウザからこれらを使えるようにすること。

実はChromeブラウザのChrome Packeged Appsでは、普通のJavaSceriptではできないことがいっぱいできるようになっていて、Socket APIを使って普通にソケットのコーディングができます。

そうするとブラウザからいろいろできる。このテレビのDLNAに対して、ブラウザからSocket APIを使ってUPnPでデバイスのWebサーバを発見し、それを叩けばいい。これが最初にお見せしたデモです。

いまSys AppsワーキンググループというところでRaw Socket APIの標準化が進んでいます。これでWebブラウザからSSHクライアントなどもできる。すごく面白い世界が広がるだろうと思います。

WebIntentsにより拓かれる次のWeb from Kensaku Komatsu

あわせて読みたい

HTML/CSS JavaScript Web技術




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本