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

Tags: HTML/CSS JavaScript Web技術

このエントリーをはてなブックマークに追加
follow us in feedly




タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本