SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 1
デバイスWebAPI設計の進め方
2017/7/14
株式会社NTTドコモ
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved
デバイスWebAPI技術のおさらい
2
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved
メガネ型
デバイス
ひとつひとつのデバイスや規格にあわせ、それぞれの環境での開発が必要
温度
センサー
Android
時計型
デバイス
アクション
カメラ
スマートトイ
(おもちゃ)
iPhone
Windows
様々な実行環境、開発環
境
様々な
通信プロトコル
様々なデバイス
ネイティブ
アプリ
Webアプリ/
Webブラウザ
ハイブリッド
アプリ
無線LAN
Bluetooth
USB
…
…
…
デバイス毎のSDK,API、仕様等
スマート
家電A規格
心拍数計
体重計
スマート
家電B規格
Android用
A規格SDK
iOS用
B規格API
Android用
Cデバイス向け
管理アプリ
D規格用
接続仕様
iOS用
A規格SDK
BLE
Android
アプリ開発者
Webアプリ
開発者
iOSアプリ
開発者
…
E用クラウド
データ取得API
スクリプト言語
開発者
…
デバイスを
使いたい開発者
開発
スマートフォンにつながる様々なデバイスの現状
3
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved
Android
アプリ開発者
Webアプリ
開発者
iOSアプリ
開発者
スクリプト言語
開発者
デバイスを
使いたい開発者
メガネ型
デバイス
温度
センサー
Android
時計型
デバイス
アクション
カメラ
スマートトイ
(おもちゃ)
iPhone
Windows
様々な実行環境、開発環
境
様々な
通信プロトコル
様々なデバイス
ネイティブ
アプリ
Webアプリ/
Webブラウザ
ハイブリッド
アプリ
無線LAN
Bluetooth
USB
…
…
…
デバイス毎のSDK,API、仕様等
スマート
家電A規格
心拍数計
体重計
スマート
家電B規格
Android用
A規格SDK
iOS用
B規格API
Android用
Cデバイス向け
管理アプリ
D規格用
接続仕様
iOS用
A規格SDK
BLE
…
E用クラウド
データ取得API
色々な仕様を
覚えるのが大変
環境にあわせた
作りこみが必要
通信の仕組みの
違いにあわせた
開発が必要
開発環境の
構築が大変
デバイスアクセス
が制限された環境
…
そもそも
作れない
ひとつひとつのデバイスや規格にあわせ、それぞれの環境での開発が必要
スマートフォンにつながる様々なデバイスの現状
4
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved
メガネ型
デバイス
デバイスの持つ機能に、共通の記述(WebAPI)でアクセスする仕組みで
現状の課題を解決
温度
センサー
Android
時計型
デバイス
アクション
カメラ
スマートト
イ
(おも
ちゃ)
iPhone
Windows
様々な実行環境、開発環
境
様々なデバイス
ネイティブ
アプリ
無線LAN
Bluetooth
USB
…
…
…スマート
家電A規
格
心拍数計
体重計
スマート
家電B規
格
Android用
A規格SDK
iOS用
B規格API
Android用
Cデバイス向け
管理アプリ
D規格用
接続仕様
iOS用
A規格SDK
BLE
…
E用クラウド
データ取得API
…
…
Web
インター
フェース
Webアプリ/
Webブラウザ
ハイブリッド
アプリ
共通の記述
(WebAPI)
Android
アプリ開発者
Webアプリ
開発者
iOSアプリ
開発者
スクリプト言語
開発者
デバイスを
使いたい開発者
違いを意識する
必要がなくなる
仕組みの違いを
意識する必要なし
様々な
通信プロトコル
デバイス毎のSDK,API、仕様等
機能
デバイス1
デバイス2
デバイス3
ライト
画面 加速度
心拍数
カメラ
通知
画面
加速度 通知
スマートフォン
経由での、他の
環境からの利用
デバイスを機能
の集合として表現
どの開発者も
共通の記述を
覚えるだけ
デバイスWebAPIとは?
5
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved
参考:そもそもWebAPIとは?
6
Web API 【 Web Application Programming Interface 】 ウェブAPI
Web APIとは、コンピュータプログラムの提供する機能を外部の別のプログラムから
呼び出して利用するための手順・規約(API:Application Programming Interface)の
類型の一つで、HTTPなどWebの技術を用いて構築されたもののこと。
IT用語辞典e-words(http://e-words.jp/w/Web_API.html)より
リクエスト レスポンス
HTTP GET
POST
PUT
DELETE
JSON、XML、HTML、
リソース(画像データ等)、
WebSocket等
…
WebAPI(HTTPリクエスト)記述のお作法
・RESTfulという設計思想に従うのが一般的だが、
細かいところでは諸説あり
・UpperCamelCase、lowerCamelCase、snake_case
・サブドメインとして表すか、パスとして表すか
・バージョン表記(整数、小数、つけるかどうか)
・APIの粒度(パスとして表すか、リクエストで
送る中身(JSON等)に書くか)
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved
フレームワーク
ライブラリ
Kernel
デバイス
Android OS
仮想サーバ
IPネットワーク層
Webブラウザ
Webアプリ
(HTML5+Javascript)
Webアプリ
(HTML5+Javascript)
Webアプリ
(HTML5+Javascript)
拡張プラグインC
拡張プラグインB
拡張プラグインA
デバイスアクセス要求を
各デバイスの制御命令に
変換(プラグインで拡張)
ネイティブアプリ
として任意の機能
が利用可能
IPネットワーク経由で
仮想サーバにアクセス
デバイスWebAPI
インターネット上のWebサイト
スマートフォン上で動作する仮想サーバに、スマートフォン内部のIPネットワーク
層を経由することで、Webブラウザからでも高度な機能アクセスを実現
ネイティブアプリからも同様に利用可能
どうやって実現しているか
7
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 8
デバイスWebAPI
(機能単位のREST API規定)
デバイスWebAPI
(機能単位のREST API規定)
Webアプリ(HTML5+Javascript)
Webブラウザ
Webエンジン
デバイス
低レイヤー
デバイスAPI規定
(JavaScript)
ドライバ/Profile相当
デバイスAPI規定
(JavaScript)
ドライバ/Profile
最近のWeb規格化の流れ
(Extensible Web)
低レイヤーの
ドライバ
Web
アプリ
Web
ブラウザ
スクリプト
エンジン
Python・
Ruby等
ネイティブ
アプリ
仮想サーバ+REST API I/F
(GotAPIでの規定部分)
デバイスWebAPI
(機能単位のREST API規定)
低レイヤーの
ドライバ
ドライバ/
Profile
デバイス
ある意味でエンタープライズ開発
における最近のアーキテクチャスタイル
(Micro Services)に近い?
一般的なWebアプリ(Webブラウザ)
からのデバイス利用、トレンド
デバイスWebAPIでのデバイス利用
ドライバ/Profile相当ドライバ/Profile相当
ドライバ/Profileドライバ/Profile
Webのトレンドで見た場合※2年前の資料
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 9
Webアプリ(HTML5+Javascript)
Webブラウザ
Webエンジン
デバイス
低レイヤー
デバイスAPI規定
(JavaScript)
ドライバ/Profile相当
デバイスAPI規定
(JavaScript)
ドライバ/Profile
低レイヤーの
ドライバ
一般的なWebアプリ(Webブラウザ)からのデバイス利用
ドライバ/Profile相当ドライバ/Profile相当
ドライバ/Profileドライバ/Profile
ブラウザでのデバイスAPIの現状
カメラ、マイク等
の一部機能への
対応が若干進む
Chromeブラウザが
WebBluetoothを
正式サポート開始
Webブラウザも限定的にデバイス機能アクセスの範囲が拡大中だが
前述の課題は残ったまま
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 10
Webのトレンドから見てデバイスWebAPIはどうなったか?
デバイスWebAPI
(機能単位のREST API規定)
デバイスWebAPI
(機能単位のREST API規定)
Webアプリ(HTML5+Javascript)
Webブラウザ
Webエンジン
デバイス
低レイヤー
デバイスAPI規定
(JavaScript)
ドライバ/Profile相当
デバイスAPI規定
(JavaScript)
ドライバ/Profile
最近のWeb規格化の流れ
(Extensible Web)
低レイヤーの
ドライバ
Web
アプリ
Web
ブラウザ
スクリプト
エンジン
Python・
Ruby等
ネイティブ
アプリ
仮想サーバ+REST API I/F
(GotAPIでの規定部分)
デバイスWebAPI
(機能単位のREST API規定)
低レイヤーの
ドライバ
ドライバ/
Profile
デバイス
一般的なWebアプリ(Webブラウザ)
からのデバイス利用、トレンド
デバイスWebAPIでのデバイス利用
ドライバ/Profile相当ドライバ/Profile相当
ドライバ/Profileドライバ/Profile
ある意味でエンタープライズ開発
における最近のアーキテクチャスタイル
(Micro Services)に近い?
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved
WebAPIのトレンド
11
・サーバレスアーキテクチャ
自前サーバではなく、AWS(Amazon Web Serivce)等のクラウド基盤
を活用したサービス設計
・マイクロサービス
一枚板なサービス基盤を作るのではなく、OSといった実行環境や
開発環境の違う小さなサービスを組み合わせて一つのサービスを
提供する設計。サービス間の環境の違いを吸収してつなげるため
に、WebAPIが用いられる。
・WebAPI設計の国際標準化
AWSのAPI Gateway等で使われているAPI記述仕様のSwaggerをベー
スとした標準化が、マイクロソフト,Google等が立ち上げたOpen API
Initiativeで進行中。
WebAPIのトレンド(API記述の標準化)を
デバイスWebAPIでも活用
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved
デバイスWebAPIの現状
12
・デバイスWebAPIでのSwagger仕様の活用
・ローカル環境からクラウド環境への拡張
・ドキュメント整備
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 13
・RESTful APIのドキュメントや、サーバ、クライアントコード、エディタ、
またそれらを扱うための仕様(YAML/JSON)などを提供するフレー
ムワーク
・Google、IBM、Microsoft等がOpen API InitiativeというSwagger
仕様に基づくWebAPI標準化団体を設立
(仕様の名前もSwaggerからOAS:Open API Specificationに)
・Amazonは上記団体に入っていないが、AWS API Gatewayでも利
用されている
Swaggerとは
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 14
デバイスWebAPIでもSwaggerベースでのモデルファーストの
フレームワーク提供
⇒同一のAPI設計で、様々な環境での機能提供を実現
Android開発環境
デバイスコネクト
プラグイン環境
プラグイン実装
デバイス依存
のSDK等
API
仕様
iOS開発環境
デバイスコネクト
プラグイン環境
プラグイン実装
デバイス依存
のSDK等
現在
API仕様から各環境のコードを生成
以前
一般的なアプリ開発のやり方
機能の対応付け
実装への落とし込み作業
API仕様
Swaggerツール
API
ドキュメント
Android用
ソースコード
iOS用
ソースコード
Node.js用
ソースコード
デバイス依存のSDK等
機能の対応付け
自動生成
自動
生成
自動生成自動生成
Swaggerベースでのモデルファースト開発
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved
以前のデバイスWebAPIの構造
15
本体(仮想サーバ)
デバイス1用プラグイン
各種アプリ
デバイス1用ライブラリ
デバイス1
加速度 画面
加速度 画面 通知
デバイス2用プラグイン
デバイス2用ライブラリ
デバイス2
加速度 画面 通知 ソナー
加速度 画面 通知
ソナー
ソナー
通知(画面+振動の組合せ)
プラグイン探索
セキュリティ
プラグインSDK プラグインSDK
振動
デバイスWebAPI
デバイスWebAPI
マネージャ
デバイスWebAPI
プラグイン
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved
現在のデバイスWebAPIの構造
16
本体(仮想サーバ)
デバイス1用プラグイン
各種アプリ
デバイス1用ライブラリ
デバイス1
加速度 画面
加速度 画面 通知
デバイス2用プラグイン
デバイス2用ライブラリ
デバイス2
加速度 画面 通知 ソナー
加速度 画面 通知
API設計情報
ソナー
通知(画面+振動の組合せ)
プラグイン探索
セキュリティ
プラグインSDK プラグインSDK
振動
デバイスWebAPI
デバイスWebAPI
マネージャ
デバイスWebAPI
プラグイン
API設計情報
ソナー
プラグインからAPI設計を
取得できるように拡張
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 17
Swaggerでのスケルトンコード生成
・DeviceConnect-SpecレポジトリにAPI仕様を
Swagger 2.0形式で取りまとめて公開
https://github.com/DeviceConnect/DeviceConnect-Spec
こちらのAPI記述を元にして、
API設計の議論をしていきたい
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 18
Swaggerでのスケルトンコード生成
DeviceConnect
CodegenAPI仕様を書いた
JSONファイル
Android用
スケルトンコード
リファレンス
プラグインAPK
ビルド
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 19
デバイスWebAPI
マネージャー
デバイスWebAPI
プラグイン
API設計
Symphony
エージェント
Symphonyクラウド
API
API設計API設計API設計
Android端末
iOS端末
Linux端末
(node.js)
Windows端末
(node.js)
クラウド環境
(node.js)
IoTゲートウェイ
(node.js)
IoTゲートウェイ
(Android)
各プラットフォームのSymphony
エージェント+デバイスWebAPI
利用者A向けAPI
・ライトの電源、色
・テレビのチャンネル
利用者B向けAPI
・ライト電源、色
・テレビ電源、チャンネル
・カギの開閉
ライト、テレビ、エアコンの仕様
ダッシュボード
・機能アクセス権
・ユーザ管理
Symphonyの構造
API設計とダッシュボードからの
設定により、クラウド上のAPIが
動的に生成される
API設計
カギの仕様
API
API
Webサービス画面
DeviceConnectの目指すところ
20
Bigdata処理クラウド
5Gネットワーク
様々な解析・認識機能のオープン提供
クラウド
ローカル
スマートフォン
エッジコンピューティング
デバイスコネクトのクラウド化
機能の参照元・参照先をローカルからクラウド
にするだけ
様々なデバイス様々なデバイス
様々なデバイス
IoTデバイス
協創(+d)の実現
将来
デバイスコネクト
⇒ローカルデバイスのWeb化
現状
プ
ロ
ト
コ
ル
マルチレイヤーでの
プロトコルにより、
将来的にサービスと
デバイスをおさえる
ことを目指している
サービス
一般的なIoT規格の
狙い
ローカルとクラウドの間の
Webインターフェースのみを
スマートフォンを軸にしておさえた
うえで、クラウドへの発展を
目指す
さらなる次世代
への発展
様々なIoT規格
デバイスコネクトの狙い
サービス基盤
様々なIoT規格様々なIoT規格
クラウドから
ローカルに
近づく面も
取り込めるものは
何でも取り込む
今あるデバイスは世の中の
他のIoT規格化では対象外
2年前に作った資料
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 21
ドキュメント整備
・デザインパターン:用途・目的に応じたAPIの設計指針
・API作成ガイドライン:API記述の共通ルール
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved
・One shot data : HTTP GET/POSTでの単純アクセス
例: アクセスした瞬間の加速度センサーの値を取得(繰り返し
値が欲しい場合はポーリング)
・Event driven data : PUT/DELETE、WebSocketでのイベント処理
例: 加速度センサーの値に変化があった瞬間の値を連続的に
自動取得
※ただし、あくまでイベントとしての処理であり、大容量データは対象としない
・Streaming data : URIの直接参照
例: 大容量の加速度センサーログの取得、
低遅延・高サンプリングレートでのリアルタイムの加速度
センサー値の取得等
シンプルで手軽なHTTPアクセスと、効率的なWebSocketによるイベント処理を両立
デバイスWebAPIのデザインパターン
22
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 23
API作成ガイドライン
・APIの階層構造 /gotapi/profile[/interface][/attribute]
・命名規則
例: PUT /gotapi/mediaPlayer/play ※lowerCamelCase
誤: PUT /gotapi/meida_payer/play ※snake_case
PUT /gotapi/meida-payer/play
PUT /gotapi/MeidaPayer/Play ※UpperCamelCase
PUT /gotapi/meidapayer/play
※ただし、大文字・小文字の違いについては互換性のために内部的には許容している
・レスポンス定義、エラーコード
等、API記述の共通ルールを整備
https://github.com/DeviceConnect/DeviceConnect-Docs/wiki/Specification-Api-Guidelines
Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 24
https://github.com/DeviceConnectUsers/Community/
意見交換の場について
GitHubのDeviceConnectはドコモで立ち上げたプロジェクト
DeviceConnectUsersはドコモ管理外のGithub.ioでのコミュニティサイト
(立ち上げ:MOONGIFTさん)

Weitere ähnliche Inhalte

Was ist angesagt?

日本初スマートホステルでのIoT活用事例
日本初スマートホステルでのIoT活用事例日本初スマートホステルでのIoT活用事例
日本初スマートホステルでのIoT活用事例Device WebAPI Consortium
 
デバイス WebAPIによるスマートフォン周辺デバイスの活用
デバイス WebAPIによるスマートフォン周辺デバイスの活用デバイス WebAPIによるスマートフォン周辺デバイスの活用
デバイス WebAPIによるスマートフォン周辺デバイスの活用Device WebAPI Consortium
 
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016Device WebAPI Consortium
 
IoTの規格標準化動向とデバイスWebAPI
IoTの規格標準化動向とデバイスWebAPIIoTの規格標準化動向とデバイスWebAPI
IoTの規格標準化動向とデバイスWebAPIAkira Sasaki
 
デバイスWebAPIを用いた各種ソリューション適用事例の紹介
デバイスWebAPIを用いた各種ソリューション適用事例の紹介デバイスWebAPIを用いた各種ソリューション適用事例の紹介
デバイスWebAPIを用いた各種ソリューション適用事例の紹介Device WebAPI Consortium
 
201606 DeviceWebAPI 第4回技術WG会合
201606 DeviceWebAPI 第4回技術WG会合201606 DeviceWebAPI 第4回技術WG会合
201606 DeviceWebAPI 第4回技術WG会合Nagano Kosuke
 
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~Developers Summit
 
デバイスWebAPIによるIoTの普及拡大と応用事例
デバイスWebAPIによるIoTの普及拡大と応用事例デバイスWebAPIによるIoTの普及拡大と応用事例
デバイスWebAPIによるIoTの普及拡大と応用事例Device WebAPI Consortium
 
デバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況についてデバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況についてDevice WebAPI Consortium
 
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!Jingun Jung
 
WeDX Flow Hands-on
WeDX Flow Hands-onWeDX Flow Hands-on
WeDX Flow Hands-onJingun Jung
 
WebRTCプラグインで広がるWi-Fiカメラのアプリケーション
WebRTCプラグインで広がるWi-FiカメラのアプリケーションWebRTCプラグインで広がるWi-Fiカメラのアプリケーション
WebRTCプラグインで広がるWi-FiカメラのアプリケーションDevice WebAPI Consortium
 
2015/7/2、デバイスWebAPI(GotAPI)コンソーシアム 第一回技術WG 発表資料
2015/7/2、デバイスWebAPI(GotAPI)コンソーシアム 第一回技術WG 発表資料2015/7/2、デバイスWebAPI(GotAPI)コンソーシアム 第一回技術WG 発表資料
2015/7/2、デバイスWebAPI(GotAPI)コンソーシアム 第一回技術WG 発表資料sonycsl
 
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューションAzureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューションJingun Jung
 

Was ist angesagt? (20)

指紋認証と「FIDO」について
指紋認証と「FIDO」について指紋認証と「FIDO」について
指紋認証と「FIDO」について
 
日本初スマートホステルでのIoT活用事例
日本初スマートホステルでのIoT活用事例日本初スマートホステルでのIoT活用事例
日本初スマートホステルでのIoT活用事例
 
GotAPIの概要と技術解説
GotAPIの概要と技術解説GotAPIの概要と技術解説
GotAPIの概要と技術解説
 
デバイス WebAPIによるスマートフォン周辺デバイスの活用
デバイス WebAPIによるスマートフォン周辺デバイスの活用デバイス WebAPIによるスマートフォン周辺デバイスの活用
デバイス WebAPIによるスマートフォン周辺デバイスの活用
 
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
デバイス WebAPI(GotAPI)とその活用事例のご紹介 - ワイヤレスジャパン2016
 
IoTの規格標準化動向とデバイスWebAPI
IoTの規格標準化動向とデバイスWebAPIIoTの規格標準化動向とデバイスWebAPI
IoTの規格標準化動向とデバイスWebAPI
 
デバイスWebAPIを用いた各種ソリューション適用事例の紹介
デバイスWebAPIを用いた各種ソリューション適用事例の紹介デバイスWebAPIを用いた各種ソリューション適用事例の紹介
デバイスWebAPIを用いた各種ソリューション適用事例の紹介
 
201606 DeviceWebAPI 第4回技術WG会合
201606 DeviceWebAPI 第4回技術WG会合201606 DeviceWebAPI 第4回技術WG会合
201606 DeviceWebAPI 第4回技術WG会合
 
ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介
 
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
【C-2・醍醐様】AIとAPIがITインフラにもたらす変化 ~プログラマブルなクラウド型Wi-Fi~
 
20181218 awsreinvent report
20181218 awsreinvent report20181218 awsreinvent report
20181218 awsreinvent report
 
デバイスWebAPIによるIoTの普及拡大と応用事例
デバイスWebAPIによるIoTの普及拡大と応用事例デバイスWebAPIによるIoTの普及拡大と応用事例
デバイスWebAPIによるIoTの普及拡大と応用事例
 
デバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況についてデバイスコネクトWebAPIの開発状況について
デバイスコネクトWebAPIの開発状況について
 
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!
Azure IoT Edge for Linux on Windows (EFLOW)を学ぶ!
 
WeDX Flow Hands-on
WeDX Flow Hands-onWeDX Flow Hands-on
WeDX Flow Hands-on
 
WebRTCプラグインで広がるWi-Fiカメラのアプリケーション
WebRTCプラグインで広がるWi-FiカメラのアプリケーションWebRTCプラグインで広がるWi-Fiカメラのアプリケーション
WebRTCプラグインで広がるWi-Fiカメラのアプリケーション
 
L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術L2延伸を利用したクラウド移行とクラウド活用術
L2延伸を利用したクラウド移行とクラウド活用術
 
2015/7/2、デバイスWebAPI(GotAPI)コンソーシアム 第一回技術WG 発表資料
2015/7/2、デバイスWebAPI(GotAPI)コンソーシアム 第一回技術WG 発表資料2015/7/2、デバイスWebAPI(GotAPI)コンソーシアム 第一回技術WG 発表資料
2015/7/2、デバイスWebAPI(GotAPI)コンソーシアム 第一回技術WG 発表資料
 
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューションAzureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
Azureクラウドのネイティブアプリ、IoTとエッジAIの管理ソリューション
 
マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編マスタリングTCP/IP ニフクラ編
マスタリングTCP/IP ニフクラ編
 

Ähnlich wie デバイス WebAPI設計の進め方

Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Monaca
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解Monaca
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Pathdynamis
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menusharoid
 
Adobe Edge Inspectを利用してデバッグ
Adobe Edge Inspectを利用してデバッグAdobe Edge Inspectを利用してデバッグ
Adobe Edge Inspectを利用してデバッグKeisuke Todoroki
 
モバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせモバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせKeisuke Todoroki
 
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発Osamu Monoe
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスアシアル株式会社
 
IoT@Loft #4 - IoT製品の量産化および運用を効率化させるためのAWS サービスの使い方
IoT@Loft #4 - IoT製品の量産化および運用を効率化させるためのAWS サービスの使い方IoT@Loft #4 - IoT製品の量産化および運用を効率化させるためのAWS サービスの使い方
IoT@Loft #4 - IoT製品の量産化および運用を効率化させるためのAWS サービスの使い方Amazon Web Services Japan
 
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略Developers Summit
 
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発hmimura_embarcadero
 
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜日本マイクロソフト株式会社
 
HTML5 の Web制作を 確実に楽にする最新の アドビWeb制作ツール for HTML5 Carnival Fukuoka
HTML5 の Web制作を 確実に楽にする最新の アドビWeb制作ツール for HTML5 Carnival FukuokaHTML5 の Web制作を 確実に楽にする最新の アドビWeb制作ツール for HTML5 Carnival Fukuoka
HTML5 の Web制作を 確実に楽にする最新の アドビWeb制作ツール for HTML5 Carnival FukuokaKeisuke Todoroki
 
AWS re:Invent 2019 Recap IoT アップデート
AWS re:Invent 2019 Recap IoT アップデートAWS re:Invent 2019 Recap IoT アップデート
AWS re:Invent 2019 Recap IoT アップデートAmazon Web Services Japan
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...Insight Technology, Inc.
 
無償でここまで使えるアドビのWeb制作ツール for デブサミ2013
無償でここまで使えるアドビのWeb制作ツール for デブサミ2013無償でここまで使えるアドビのWeb制作ツール for デブサミ2013
無償でここまで使えるアドビのWeb制作ツール for デブサミ2013Keisuke Todoroki
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションYoshito Tabuchi
 
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!Akira Inoue
 
PhoneGapの始め方
PhoneGapの始め方PhoneGapの始め方
PhoneGapの始め方akabana
 

Ähnlich wie デバイス WebAPI設計の進め方 (20)

Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)Phone gap+javascriptスマホアプリ開発(入門編)
Phone gap+javascriptスマホアプリ開発(入門編)
 
Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
 
Adobe Edge Inspectを利用してデバッグ
Adobe Edge Inspectを利用してデバッグAdobe Edge Inspectを利用してデバッグ
Adobe Edge Inspectを利用してデバッグ
 
モバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせモバイルコンテンツ制作を効 率化するツールを使いこなせ
モバイルコンテンツ制作を効 率化するツールを使いこなせ
 
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発クリスマス直前!HTML5 で作る♥はじめての iOS & Android アプリ開発
クリスマス直前! HTML5 で作る♥ はじめての iOS & Android アプリ開発
 
HTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティスHTML5ハイブリッドアプリ開発のベストプラクティス
HTML5ハイブリッドアプリ開発のベストプラクティス
 
IoT@Loft #4 - IoT製品の量産化および運用を効率化させるためのAWS サービスの使い方
IoT@Loft #4 - IoT製品の量産化および運用を効率化させるためのAWS サービスの使い方IoT@Loft #4 - IoT製品の量産化および運用を効率化させるためのAWS サービスの使い方
IoT@Loft #4 - IoT製品の量産化および運用を効率化させるためのAWS サービスの使い方
 
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
 
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発【16-D-4】3分ではじめるスマホアプリのビジュアル開発
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
 
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
【de:code 2020】 Build 2020 最新情報 〜 Azure & Visual Studio & .NET 〜
 
HTML5 の Web制作を 確実に楽にする最新の アドビWeb制作ツール for HTML5 Carnival Fukuoka
HTML5 の Web制作を 確実に楽にする最新の アドビWeb制作ツール for HTML5 Carnival FukuokaHTML5 の Web制作を 確実に楽にする最新の アドビWeb制作ツール for HTML5 Carnival Fukuoka
HTML5 の Web制作を 確実に楽にする最新の アドビWeb制作ツール for HTML5 Carnival Fukuoka
 
AWS re:Invent 2019 Recap IoT アップデート
AWS re:Invent 2019 Recap IoT アップデートAWS re:Invent 2019 Recap IoT アップデート
AWS re:Invent 2019 Recap IoT アップデート
 
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
[db tech showcase OSS 2017] A24: マイクロソフトと OSS Database - Azure Database for M...
 
無償でここまで使えるアドビのWeb制作ツール for デブサミ2013
無償でここまで使えるアドビのWeb制作ツール for デブサミ2013無償でここまで使えるアドビのWeb制作ツール for デブサミ2013
無償でここまで使えるアドビのWeb制作ツール for デブサミ2013
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
 
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
Cloud から IoT まで、なんでもおまかせ ~ .NET 5 正式リリース!
 
PhoneGapの始め方
PhoneGapの始め方PhoneGapの始め方
PhoneGapの始め方
 

Mehr von Device WebAPI Consortium

IoTプラットフォーム「RouteZ(ルートジー)」のご紹介
IoTプラットフォーム「RouteZ(ルートジー)」のご紹介IoTプラットフォーム「RouteZ(ルートジー)」のご紹介
IoTプラットフォーム「RouteZ(ルートジー)」のご紹介Device WebAPI Consortium
 
IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方
IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方
IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方Device WebAPI Consortium
 
RT ミドルウェアの IoT プラットフォームへの適用
RT ミドルウェアの IoT プラットフォームへの適用RT ミドルウェアの IoT プラットフォームへの適用
RT ミドルウェアの IoT プラットフォームへの適用Device WebAPI Consortium
 
LPWA Sigfoxネットワークとクラウド連携
LPWA Sigfoxネットワークとクラウド連携LPWA Sigfoxネットワークとクラウド連携
LPWA Sigfoxネットワークとクラウド連携Device WebAPI Consortium
 
DeviceWebAPI and other standardization status of OMA CD WG
DeviceWebAPI and other standardization status of OMA CD WGDeviceWebAPI and other standardization status of OMA CD WG
DeviceWebAPI and other standardization status of OMA CD WGDevice WebAPI Consortium
 
APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~
APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~
APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~Device WebAPI Consortium
 
社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~
社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~
社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~Device WebAPI Consortium
 
第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて
第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて
第0回仕様策定サブWG会合報告 - 仕様作成プロセスについてDevice WebAPI Consortium
 
音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作Device WebAPI Consortium
 
デバイスWebAPI/Symphonyを軸としたIoTの展開について
デバイスWebAPI/Symphonyを軸としたIoTの展開についてデバイスWebAPI/Symphonyを軸としたIoTの展開について
デバイスWebAPI/Symphonyを軸としたIoTの展開についてDevice WebAPI Consortium
 
スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜
スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜
スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜Device WebAPI Consortium
 
デジタルカメラEXILIM を使ったプラグイン開発と商用展開について
デジタルカメラEXILIM を使ったプラグイン開発と商用展開についてデジタルカメラEXILIM を使ったプラグイン開発と商用展開について
デジタルカメラEXILIM を使ったプラグイン開発と商用展開についてDevice WebAPI Consortium
 
RaspberryPi(OSH)の産業利用の現状
RaspberryPi(OSH)の産業利用の現状RaspberryPi(OSH)の産業利用の現状
RaspberryPi(OSH)の産業利用の現状Device WebAPI Consortium
 
デバイスに対する第三者検証の知見
デバイスに対する第三者検証の知見デバイスに対する第三者検証の知見
デバイスに対する第三者検証の知見Device WebAPI Consortium
 
デバイスコネクトWebAPIを利用したVR展示システムの導入事例について
デバイスコネクトWebAPIを利用したVR展示システムの導入事例についてデバイスコネクトWebAPIを利用したVR展示システムの導入事例について
デバイスコネクトWebAPIを利用したVR展示システムの導入事例についてDevice WebAPI Consortium
 
ヒューマンビジョンコンポ(HVC-P2)について
ヒューマンビジョンコンポ(HVC-P2)についてヒューマンビジョンコンポ(HVC-P2)について
ヒューマンビジョンコンポ(HVC-P2)についてDevice WebAPI Consortium
 
メディア統合プラットフォーム機能のデバイスWebAPIによる実装について
メディア統合プラットフォーム機能のデバイスWebAPIによる実装についてメディア統合プラットフォーム機能のデバイスWebAPIによる実装について
メディア統合プラットフォーム機能のデバイスWebAPIによる実装についてDevice WebAPI Consortium
 
デバイスWebAPIによるEXILIMカメラシリーズの制御
デバイスWebAPIによるEXILIMカメラシリーズの制御デバイスWebAPIによるEXILIMカメラシリーズの制御
デバイスWebAPIによるEXILIMカメラシリーズの制御Device WebAPI Consortium
 
Web-based IoT standardization activity including OMA GotAPI and DWAPI
Web-based IoT standardization activity including OMA GotAPI and DWAPIWeb-based IoT standardization activity including OMA GotAPI and DWAPI
Web-based IoT standardization activity including OMA GotAPI and DWAPIDevice WebAPI Consortium
 

Mehr von Device WebAPI Consortium (20)

IoTプラットフォーム「RouteZ(ルートジー)」のご紹介
IoTプラットフォーム「RouteZ(ルートジー)」のご紹介IoTプラットフォーム「RouteZ(ルートジー)」のご紹介
IoTプラットフォーム「RouteZ(ルートジー)」のご紹介
 
IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方
IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方
IoTを中心としたデジタルトランスフォーメーションが変える未来の働き方
 
NIDD (Non-IP Data Delivery) のご紹介
NIDD (Non-IP Data Delivery) のご紹介NIDD (Non-IP Data Delivery) のご紹介
NIDD (Non-IP Data Delivery) のご紹介
 
RT ミドルウェアの IoT プラットフォームへの適用
RT ミドルウェアの IoT プラットフォームへの適用RT ミドルウェアの IoT プラットフォームへの適用
RT ミドルウェアの IoT プラットフォームへの適用
 
LPWA Sigfoxネットワークとクラウド連携
LPWA Sigfoxネットワークとクラウド連携LPWA Sigfoxネットワークとクラウド連携
LPWA Sigfoxネットワークとクラウド連携
 
DeviceWebAPI and other standardization status of OMA CD WG
DeviceWebAPI and other standardization status of OMA CD WGDeviceWebAPI and other standardization status of OMA CD WG
DeviceWebAPI and other standardization status of OMA CD WG
 
APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~
APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~
APPS JAPAN 出展報告と小型心拍センサmyBeatシリーズの紹介~
 
社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~
社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~
社会ニーズの解決を実現するIoTセンサ ~オムロンのセンシング技術~
 
第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて
第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて
第0回仕様策定サブWG会合報告 - 仕様作成プロセスについて
 
音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作音声によるデバイスWebAPIの操作
音声によるデバイスWebAPIの操作
 
デバイスWebAPI/Symphonyを軸としたIoTの展開について
デバイスWebAPI/Symphonyを軸としたIoTの展開についてデバイスWebAPI/Symphonyを軸としたIoTの展開について
デバイスWebAPI/Symphonyを軸としたIoTの展開について
 
スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜
スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜
スマートスピーカー Clova に至る LINE のメッセージングテクノロジー発展の系譜
 
デジタルカメラEXILIM を使ったプラグイン開発と商用展開について
デジタルカメラEXILIM を使ったプラグイン開発と商用展開についてデジタルカメラEXILIM を使ったプラグイン開発と商用展開について
デジタルカメラEXILIM を使ったプラグイン開発と商用展開について
 
RaspberryPi(OSH)の産業利用の現状
RaspberryPi(OSH)の産業利用の現状RaspberryPi(OSH)の産業利用の現状
RaspberryPi(OSH)の産業利用の現状
 
デバイスに対する第三者検証の知見
デバイスに対する第三者検証の知見デバイスに対する第三者検証の知見
デバイスに対する第三者検証の知見
 
デバイスコネクトWebAPIを利用したVR展示システムの導入事例について
デバイスコネクトWebAPIを利用したVR展示システムの導入事例についてデバイスコネクトWebAPIを利用したVR展示システムの導入事例について
デバイスコネクトWebAPIを利用したVR展示システムの導入事例について
 
ヒューマンビジョンコンポ(HVC-P2)について
ヒューマンビジョンコンポ(HVC-P2)についてヒューマンビジョンコンポ(HVC-P2)について
ヒューマンビジョンコンポ(HVC-P2)について
 
メディア統合プラットフォーム機能のデバイスWebAPIによる実装について
メディア統合プラットフォーム機能のデバイスWebAPIによる実装についてメディア統合プラットフォーム機能のデバイスWebAPIによる実装について
メディア統合プラットフォーム機能のデバイスWebAPIによる実装について
 
デバイスWebAPIによるEXILIMカメラシリーズの制御
デバイスWebAPIによるEXILIMカメラシリーズの制御デバイスWebAPIによるEXILIMカメラシリーズの制御
デバイスWebAPIによるEXILIMカメラシリーズの制御
 
Web-based IoT standardization activity including OMA GotAPI and DWAPI
Web-based IoT standardization activity including OMA GotAPI and DWAPIWeb-based IoT standardization activity including OMA GotAPI and DWAPI
Web-based IoT standardization activity including OMA GotAPI and DWAPI
 

Kürzlich hochgeladen

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Kürzlich hochgeladen (8)

CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

デバイス WebAPI設計の進め方

  • 1. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 1 デバイスWebAPI設計の進め方 2017/7/14 株式会社NTTドコモ
  • 2. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved デバイスWebAPI技術のおさらい 2
  • 3. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved メガネ型 デバイス ひとつひとつのデバイスや規格にあわせ、それぞれの環境での開発が必要 温度 センサー Android 時計型 デバイス アクション カメラ スマートトイ (おもちゃ) iPhone Windows 様々な実行環境、開発環 境 様々な 通信プロトコル 様々なデバイス ネイティブ アプリ Webアプリ/ Webブラウザ ハイブリッド アプリ 無線LAN Bluetooth USB … … … デバイス毎のSDK,API、仕様等 スマート 家電A規格 心拍数計 体重計 スマート 家電B規格 Android用 A規格SDK iOS用 B規格API Android用 Cデバイス向け 管理アプリ D規格用 接続仕様 iOS用 A規格SDK BLE Android アプリ開発者 Webアプリ 開発者 iOSアプリ 開発者 … E用クラウド データ取得API スクリプト言語 開発者 … デバイスを 使いたい開発者 開発 スマートフォンにつながる様々なデバイスの現状 3
  • 4. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved Android アプリ開発者 Webアプリ 開発者 iOSアプリ 開発者 スクリプト言語 開発者 デバイスを 使いたい開発者 メガネ型 デバイス 温度 センサー Android 時計型 デバイス アクション カメラ スマートトイ (おもちゃ) iPhone Windows 様々な実行環境、開発環 境 様々な 通信プロトコル 様々なデバイス ネイティブ アプリ Webアプリ/ Webブラウザ ハイブリッド アプリ 無線LAN Bluetooth USB … … … デバイス毎のSDK,API、仕様等 スマート 家電A規格 心拍数計 体重計 スマート 家電B規格 Android用 A規格SDK iOS用 B規格API Android用 Cデバイス向け 管理アプリ D規格用 接続仕様 iOS用 A規格SDK BLE … E用クラウド データ取得API 色々な仕様を 覚えるのが大変 環境にあわせた 作りこみが必要 通信の仕組みの 違いにあわせた 開発が必要 開発環境の 構築が大変 デバイスアクセス が制限された環境 … そもそも 作れない ひとつひとつのデバイスや規格にあわせ、それぞれの環境での開発が必要 スマートフォンにつながる様々なデバイスの現状 4
  • 5. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved メガネ型 デバイス デバイスの持つ機能に、共通の記述(WebAPI)でアクセスする仕組みで 現状の課題を解決 温度 センサー Android 時計型 デバイス アクション カメラ スマートト イ (おも ちゃ) iPhone Windows 様々な実行環境、開発環 境 様々なデバイス ネイティブ アプリ 無線LAN Bluetooth USB … … …スマート 家電A規 格 心拍数計 体重計 スマート 家電B規 格 Android用 A規格SDK iOS用 B規格API Android用 Cデバイス向け 管理アプリ D規格用 接続仕様 iOS用 A規格SDK BLE … E用クラウド データ取得API … … Web インター フェース Webアプリ/ Webブラウザ ハイブリッド アプリ 共通の記述 (WebAPI) Android アプリ開発者 Webアプリ 開発者 iOSアプリ 開発者 スクリプト言語 開発者 デバイスを 使いたい開発者 違いを意識する 必要がなくなる 仕組みの違いを 意識する必要なし 様々な 通信プロトコル デバイス毎のSDK,API、仕様等 機能 デバイス1 デバイス2 デバイス3 ライト 画面 加速度 心拍数 カメラ 通知 画面 加速度 通知 スマートフォン 経由での、他の 環境からの利用 デバイスを機能 の集合として表現 どの開発者も 共通の記述を 覚えるだけ デバイスWebAPIとは? 5
  • 6. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 参考:そもそもWebAPIとは? 6 Web API 【 Web Application Programming Interface 】 ウェブAPI Web APIとは、コンピュータプログラムの提供する機能を外部の別のプログラムから 呼び出して利用するための手順・規約(API:Application Programming Interface)の 類型の一つで、HTTPなどWebの技術を用いて構築されたもののこと。 IT用語辞典e-words(http://e-words.jp/w/Web_API.html)より リクエスト レスポンス HTTP GET POST PUT DELETE JSON、XML、HTML、 リソース(画像データ等)、 WebSocket等 … WebAPI(HTTPリクエスト)記述のお作法 ・RESTfulという設計思想に従うのが一般的だが、 細かいところでは諸説あり ・UpperCamelCase、lowerCamelCase、snake_case ・サブドメインとして表すか、パスとして表すか ・バージョン表記(整数、小数、つけるかどうか) ・APIの粒度(パスとして表すか、リクエストで 送る中身(JSON等)に書くか)
  • 7. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved フレームワーク ライブラリ Kernel デバイス Android OS 仮想サーバ IPネットワーク層 Webブラウザ Webアプリ (HTML5+Javascript) Webアプリ (HTML5+Javascript) Webアプリ (HTML5+Javascript) 拡張プラグインC 拡張プラグインB 拡張プラグインA デバイスアクセス要求を 各デバイスの制御命令に 変換(プラグインで拡張) ネイティブアプリ として任意の機能 が利用可能 IPネットワーク経由で 仮想サーバにアクセス デバイスWebAPI インターネット上のWebサイト スマートフォン上で動作する仮想サーバに、スマートフォン内部のIPネットワーク 層を経由することで、Webブラウザからでも高度な機能アクセスを実現 ネイティブアプリからも同様に利用可能 どうやって実現しているか 7
  • 8. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 8 デバイスWebAPI (機能単位のREST API規定) デバイスWebAPI (機能単位のREST API規定) Webアプリ(HTML5+Javascript) Webブラウザ Webエンジン デバイス 低レイヤー デバイスAPI規定 (JavaScript) ドライバ/Profile相当 デバイスAPI規定 (JavaScript) ドライバ/Profile 最近のWeb規格化の流れ (Extensible Web) 低レイヤーの ドライバ Web アプリ Web ブラウザ スクリプト エンジン Python・ Ruby等 ネイティブ アプリ 仮想サーバ+REST API I/F (GotAPIでの規定部分) デバイスWebAPI (機能単位のREST API規定) 低レイヤーの ドライバ ドライバ/ Profile デバイス ある意味でエンタープライズ開発 における最近のアーキテクチャスタイル (Micro Services)に近い? 一般的なWebアプリ(Webブラウザ) からのデバイス利用、トレンド デバイスWebAPIでのデバイス利用 ドライバ/Profile相当ドライバ/Profile相当 ドライバ/Profileドライバ/Profile Webのトレンドで見た場合※2年前の資料
  • 9. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 9 Webアプリ(HTML5+Javascript) Webブラウザ Webエンジン デバイス 低レイヤー デバイスAPI規定 (JavaScript) ドライバ/Profile相当 デバイスAPI規定 (JavaScript) ドライバ/Profile 低レイヤーの ドライバ 一般的なWebアプリ(Webブラウザ)からのデバイス利用 ドライバ/Profile相当ドライバ/Profile相当 ドライバ/Profileドライバ/Profile ブラウザでのデバイスAPIの現状 カメラ、マイク等 の一部機能への 対応が若干進む Chromeブラウザが WebBluetoothを 正式サポート開始 Webブラウザも限定的にデバイス機能アクセスの範囲が拡大中だが 前述の課題は残ったまま
  • 10. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 10 Webのトレンドから見てデバイスWebAPIはどうなったか? デバイスWebAPI (機能単位のREST API規定) デバイスWebAPI (機能単位のREST API規定) Webアプリ(HTML5+Javascript) Webブラウザ Webエンジン デバイス 低レイヤー デバイスAPI規定 (JavaScript) ドライバ/Profile相当 デバイスAPI規定 (JavaScript) ドライバ/Profile 最近のWeb規格化の流れ (Extensible Web) 低レイヤーの ドライバ Web アプリ Web ブラウザ スクリプト エンジン Python・ Ruby等 ネイティブ アプリ 仮想サーバ+REST API I/F (GotAPIでの規定部分) デバイスWebAPI (機能単位のREST API規定) 低レイヤーの ドライバ ドライバ/ Profile デバイス 一般的なWebアプリ(Webブラウザ) からのデバイス利用、トレンド デバイスWebAPIでのデバイス利用 ドライバ/Profile相当ドライバ/Profile相当 ドライバ/Profileドライバ/Profile ある意味でエンタープライズ開発 における最近のアーキテクチャスタイル (Micro Services)に近い?
  • 11. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved WebAPIのトレンド 11 ・サーバレスアーキテクチャ 自前サーバではなく、AWS(Amazon Web Serivce)等のクラウド基盤 を活用したサービス設計 ・マイクロサービス 一枚板なサービス基盤を作るのではなく、OSといった実行環境や 開発環境の違う小さなサービスを組み合わせて一つのサービスを 提供する設計。サービス間の環境の違いを吸収してつなげるため に、WebAPIが用いられる。 ・WebAPI設計の国際標準化 AWSのAPI Gateway等で使われているAPI記述仕様のSwaggerをベー スとした標準化が、マイクロソフト,Google等が立ち上げたOpen API Initiativeで進行中。 WebAPIのトレンド(API記述の標準化)を デバイスWebAPIでも活用
  • 12. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved デバイスWebAPIの現状 12 ・デバイスWebAPIでのSwagger仕様の活用 ・ローカル環境からクラウド環境への拡張 ・ドキュメント整備
  • 13. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 13 ・RESTful APIのドキュメントや、サーバ、クライアントコード、エディタ、 またそれらを扱うための仕様(YAML/JSON)などを提供するフレー ムワーク ・Google、IBM、Microsoft等がOpen API InitiativeというSwagger 仕様に基づくWebAPI標準化団体を設立 (仕様の名前もSwaggerからOAS:Open API Specificationに) ・Amazonは上記団体に入っていないが、AWS API Gatewayでも利 用されている Swaggerとは
  • 14. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 14 デバイスWebAPIでもSwaggerベースでのモデルファーストの フレームワーク提供 ⇒同一のAPI設計で、様々な環境での機能提供を実現 Android開発環境 デバイスコネクト プラグイン環境 プラグイン実装 デバイス依存 のSDK等 API 仕様 iOS開発環境 デバイスコネクト プラグイン環境 プラグイン実装 デバイス依存 のSDK等 現在 API仕様から各環境のコードを生成 以前 一般的なアプリ開発のやり方 機能の対応付け 実装への落とし込み作業 API仕様 Swaggerツール API ドキュメント Android用 ソースコード iOS用 ソースコード Node.js用 ソースコード デバイス依存のSDK等 機能の対応付け 自動生成 自動 生成 自動生成自動生成 Swaggerベースでのモデルファースト開発
  • 15. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 以前のデバイスWebAPIの構造 15 本体(仮想サーバ) デバイス1用プラグイン 各種アプリ デバイス1用ライブラリ デバイス1 加速度 画面 加速度 画面 通知 デバイス2用プラグイン デバイス2用ライブラリ デバイス2 加速度 画面 通知 ソナー 加速度 画面 通知 ソナー ソナー 通知(画面+振動の組合せ) プラグイン探索 セキュリティ プラグインSDK プラグインSDK 振動 デバイスWebAPI デバイスWebAPI マネージャ デバイスWebAPI プラグイン
  • 16. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 現在のデバイスWebAPIの構造 16 本体(仮想サーバ) デバイス1用プラグイン 各種アプリ デバイス1用ライブラリ デバイス1 加速度 画面 加速度 画面 通知 デバイス2用プラグイン デバイス2用ライブラリ デバイス2 加速度 画面 通知 ソナー 加速度 画面 通知 API設計情報 ソナー 通知(画面+振動の組合せ) プラグイン探索 セキュリティ プラグインSDK プラグインSDK 振動 デバイスWebAPI デバイスWebAPI マネージャ デバイスWebAPI プラグイン API設計情報 ソナー プラグインからAPI設計を 取得できるように拡張
  • 17. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 17 Swaggerでのスケルトンコード生成 ・DeviceConnect-SpecレポジトリにAPI仕様を Swagger 2.0形式で取りまとめて公開 https://github.com/DeviceConnect/DeviceConnect-Spec こちらのAPI記述を元にして、 API設計の議論をしていきたい
  • 18. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 18 Swaggerでのスケルトンコード生成 DeviceConnect CodegenAPI仕様を書いた JSONファイル Android用 スケルトンコード リファレンス プラグインAPK ビルド
  • 19. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 19 デバイスWebAPI マネージャー デバイスWebAPI プラグイン API設計 Symphony エージェント Symphonyクラウド API API設計API設計API設計 Android端末 iOS端末 Linux端末 (node.js) Windows端末 (node.js) クラウド環境 (node.js) IoTゲートウェイ (node.js) IoTゲートウェイ (Android) 各プラットフォームのSymphony エージェント+デバイスWebAPI 利用者A向けAPI ・ライトの電源、色 ・テレビのチャンネル 利用者B向けAPI ・ライト電源、色 ・テレビ電源、チャンネル ・カギの開閉 ライト、テレビ、エアコンの仕様 ダッシュボード ・機能アクセス権 ・ユーザ管理 Symphonyの構造 API設計とダッシュボードからの 設定により、クラウド上のAPIが 動的に生成される API設計 カギの仕様 API API Webサービス画面
  • 20. DeviceConnectの目指すところ 20 Bigdata処理クラウド 5Gネットワーク 様々な解析・認識機能のオープン提供 クラウド ローカル スマートフォン エッジコンピューティング デバイスコネクトのクラウド化 機能の参照元・参照先をローカルからクラウド にするだけ 様々なデバイス様々なデバイス 様々なデバイス IoTデバイス 協創(+d)の実現 将来 デバイスコネクト ⇒ローカルデバイスのWeb化 現状 プ ロ ト コ ル マルチレイヤーでの プロトコルにより、 将来的にサービスと デバイスをおさえる ことを目指している サービス 一般的なIoT規格の 狙い ローカルとクラウドの間の Webインターフェースのみを スマートフォンを軸にしておさえた うえで、クラウドへの発展を 目指す さらなる次世代 への発展 様々なIoT規格 デバイスコネクトの狙い サービス基盤 様々なIoT規格様々なIoT規格 クラウドから ローカルに 近づく面も 取り込めるものは 何でも取り込む 今あるデバイスは世の中の 他のIoT規格化では対象外 2年前に作った資料
  • 21. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 21 ドキュメント整備 ・デザインパターン:用途・目的に応じたAPIの設計指針 ・API作成ガイドライン:API記述の共通ルール
  • 22. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved ・One shot data : HTTP GET/POSTでの単純アクセス 例: アクセスした瞬間の加速度センサーの値を取得(繰り返し 値が欲しい場合はポーリング) ・Event driven data : PUT/DELETE、WebSocketでのイベント処理 例: 加速度センサーの値に変化があった瞬間の値を連続的に 自動取得 ※ただし、あくまでイベントとしての処理であり、大容量データは対象としない ・Streaming data : URIの直接参照 例: 大容量の加速度センサーログの取得、 低遅延・高サンプリングレートでのリアルタイムの加速度 センサー値の取得等 シンプルで手軽なHTTPアクセスと、効率的なWebSocketによるイベント処理を両立 デバイスWebAPIのデザインパターン 22
  • 23. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 23 API作成ガイドライン ・APIの階層構造 /gotapi/profile[/interface][/attribute] ・命名規則 例: PUT /gotapi/mediaPlayer/play ※lowerCamelCase 誤: PUT /gotapi/meida_payer/play ※snake_case PUT /gotapi/meida-payer/play PUT /gotapi/MeidaPayer/Play ※UpperCamelCase PUT /gotapi/meidapayer/play ※ただし、大文字・小文字の違いについては互換性のために内部的には許容している ・レスポンス定義、エラーコード 等、API記述の共通ルールを整備 https://github.com/DeviceConnect/DeviceConnect-Docs/wiki/Specification-Api-Guidelines
  • 24. Copyright© 2017 NTT DOCOMO, Inc. All rights reserved 24 https://github.com/DeviceConnectUsers/Community/ 意見交換の場について GitHubのDeviceConnectはドコモで立ち上げたプロジェクト DeviceConnectUsersはドコモ管理外のGithub.ioでのコミュニティサイト (立ち上げ:MOONGIFTさん)