IoTを支える(かもしれない※)技術 
Masayuki Uchida(@etmnk) 
くわっちょLT大会 in GMO Yours 
11.23.2014
※支えるとは言っていない
about me 
←こんなペンギン 
恵比寿でherokuとかsalesforceとか 
使ってSIしてます
今日話さないこと 
M2M 
具体的な実装
構成 
1. IoTを支える(かもしれない)プロトコル 
2. IoTを支える(略)クラウド
IoTを支える(略)プロトコル
従来のプロトコル 
SOAP 
HTTP(REST) 
get put post delete...
IoTにより 
モノがインターネットに繋がるようになる 
=>データが多くなる
データのやりとり 
デバイス⇔クラウド 
頻度 
少多 
データ量 
少イベントセンサー 
データ 
多画像ファーム 
ウェア
データのやりとり 
デバイス⇔クラウド 
頻度 
少多 
データ量 
少イベントセンサー 
データ 
多画像ファーム 
ウェア
センサーデータの特色 
一つ一つあたりのデータは小さい 
送受信の頻度が多い
MQTT 
軽量プロトコル 
ヘッダが小さい 
1対多、多対多のメッセージ配布 
Publish/subscribe モデル 
メッセージは'/'区切りのツリー状
MQTTの構造
メッセージサイズの比較 
request header response 
header 
HTTP 67byte 200byte 
MQTT 6byte 9byte
ここまでのまとめ 
扱うデータに応じて最適なプロトコルを選択
IoTを支える(略)クラウド
データを扱うサービス
ESB 
Enterprise Service Bus 
SOAの実現に必要な,システム同士をつなぐ基盤
ESBの最低限の機能 
各システムの情報を管理するリポジトリ 
プロトコルやデータ形式の変換 
メッセージのルーティング
プロトコル変換 
ESBに接続するシステム同士が同じプロトコルを使用する必がない 
FTP -> ESB -> REST
データ形式変換 
ESBに接続するシステム同士が同じデータ形式を使する必要がない 
XML -> ESB -> JSON
サポートするコンテナ 
(Mule ESBの例) 
Salesforce 
AWS 
Mongo DB 
Redis 
MQTT 
PostgreSQL 
MySQL 
JBoss
ここまでのまとめ 
疎結合のサービス/データはハブになるものを通せば 
いいよ(多分)
最後に 
でもまだIoTの将来は未定。。
ありがとうございました

IoTを支える(かもしれない)技術