BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Samsung SAMI - IoTのためのD3プラットフォーム

Samsung SAMI - IoTのためのD3プラットフォーム

原文(投稿日:2015/10/16)へのリンク

SamsungのSAMIは,IoTデバイスのデータの送受信と保管を行うためのデータ駆動開発(Data-driven Development/D3)プラットフォームだ。任意のデバイスが送信するさまざまな形式のデータを,JSON形式に正規化し,クラウド内にストアする。ストアされたデータは,他のデバイスから要求することが可能だ。

SAMIは次のような概念で動作する。

  • デバイス – センサや家電製品,アプリケーション,サービスなど,任意のデータソース。
  • デバイスタイプ – Samsung Galaxy Gear Fitなどといった,デバイスのカテゴリ。
  • デバイスID – デバイスインスタンスに関連付けられたユニークなID。
  • メッセージ – デバイスからSAMIへ,あるいは他のデバイスに送信されたデータと,それに関連付けられたメタデータ。
  • 認証 – SAMIはユーザ認証にOAuth2を使用する。
  • マニフェスト – データ正規化に使用される,デバイスタイプ毎のデータインタプリタ。マニフェストには,シンプルなsimple manifestと高度なadvanced manifestの2種類がある。前者はWeb形式で生成されて,SAMIに送信されるJSONデータを解釈するために使用されるもので,後者はGroovyスクリプトとして記述される。後者にはSamsungによる認証が必要で,悪質な処理を試みるものや,メモリリークのあるものなどは拒否される。

ストアされたデータは,RESTあるいはWebSocket APIコールを使って要求する(API仕様)。現時点ではデバイス毎,ユーザ毎,アプリケーション毎に,APIコール数の制限が設けられている。

SAMIプラットフォームでは,さまざまなツールを開発者向けに提供している。Developer Portal – デバイスタイプおよびアプリケーションを作成するための,Webベースのインターフェース,User Portal – デバイスの登録やデータ可視化を行うためのユーザ用ツール,API Console – APIをコールするオンラインツール,Device Simulator – SAMIにシミュレーションメッセージを送信するコマンドラインツール,などだ。

SamsungはSAMIの使い方を示すために,AndroidやiOS,Node.js,Arduino,あるいはブラウザ(JavaScript)用のシンプルなアプリケーションを数多く公開している。Java/Android, Objective-C/iOS, PHP, Python, Rubyを使ったアプリケーション開発を支援するSDKも多数提供されている。

この記事に星をつける

おすすめ度
スタイル

BT