組込機器でもクラウド連携!
WEC でクラウド サービスを利用する方法
アジェンダ
• クラウドと組込機器(IoT、M2M)の市場動向 • クラウドのインターフェース
• Windows Embedded Compactの搭載機能 • デモ
• 組込機器のセキュリティ • まとめ
自己紹介
• 中田 佳孝(ナカタ ヨシタカ)
• 大阪生まれ、福井育ちのエセ関西人
• Microsoft MVP - Windows Embedded (2010 ~ )
• 安川情報システム株式会社勤務
• 組込みからPCアプリ、そしてWebアプリまで、
なぜ組込み機器はクラウドと
連携する必要があるのか?
クラウドの特徴
• 自社でハードウェア/プラットフォームを用意しなくてもいい。 • 比較的オンデマンドでリソースを調達/解放可能 • CPUパワー • メモリ • ストレージ • ネットワーク • サービス • 基本的に使った分だけ料金を払うクラウド化
これまでの基幹システムの問題点 • 構築が大変 • HWの老朽化、スペック不足 • ITベンダーからメンテナンス要員を出向させて管理 ⇒まだまだ課題はあるが、クラウド化は これまでの問題の一つの解 基幹システムはオンプレミスからクラウドへ 移行が進んでいる(日経SYSTEMS 2013.7月号参照)組込機器がクラウドに接続する理由
① 基幹システムのクラウド化
組込機器市場のトレンド
• IoT(Internet of Things)・・・モノのインターネット • M2M(Machine to Machine)
組込機器市場のトレンド
Intelligent Systems(MS社、Intel社等が提唱) Webサービス 基幹システム Office内のPCや機器 各種組込機器 クラウド 無線/有線 LAN 生産データ センサデータ ログデータ エラーデータ etc… クラウドとPCやスマホだけでなく 組込機器やセンサーなど 様々なシステムが連携し データに付加価値をつけるシステム組込機器の役割
• クラウドの役割 • ビッグデータ(データの保持、解析) • 見える化 ⇒価値の創造 • 組込機器の役割 • データを検出するプローブ • または(RAW)データを収集し、変換し、転送するノード組込機器市場のトレンド
~「モノのインターネット(Internet of Things)」に関連する 経済効果は2020年には1兆9000億ドルに達し、 その中で15%を製造業が占める~ 米国調査会社:ガートナー http://monoist.atmarkit.co.jp/mn/articles/1310/15/news009.html接続相手
• 必ずしも、相手がWindows Serverとは限らない。 • Linuxサーバも多い。
• IISとも限らない
通信プロトコル
• TCP/IP
• HTTP/HTTPS • FTP
(概念的な)接続方式
• 独自IF方式 • REST
• SOAP(Simple Object Access Protocol) • Oauth
• WCF
やり取りするデータ
• 独自フォーマット、バイナリデータ • XML • JSON(JavaScriptのオブジェクト標記法をベースとしたデータ 記述言語) • HTML • RSSフィード • Atom Etc…Windows Embedded Compactの
搭載機能
WECのネットワーク機能(OSレベル)
• TCP/IP
• HTTP、HTTPS • FTP
WECのネットワーク機能(アプリレベル)
• WCF ( .NET Compact Framework )
• IISとの通信が容易
• WinSock
デモ
NativeアプリでBing Maps活用
• MSDN http://msdn.microsoft.com/en-us/library/dd877180.aspx http://msdn.microsoft.com/en-us/library/ff701713.aspx • 管理ポータル https://www.bingmapsportal.com/ ⇒要Microsoft ID Mapsにアクセスするためのキーを生成する。NativeアプリでBing Maps活用
• REST APIもある • Locations API 住所や経緯度,クエリーから地理情報を取得できるAPIです。 • Imagery API 地図画像を取得,プッシュピンを配置した・ルート情報を表示した 地図画像の取得,タイル画像のメタデータを取得できるAPIです。 • Routes API ルートの探索ができるAPIです。NativeアプリでBing Maps活用
Locations APIの使い方 • ベースURL http://dev.virtualearth.net/REST/v1/Locations/ • 住所指定 • スラッシュ区切り Locations/US/… • URLの通常のリクエスト形式 Locations?countryRegion=US&adminDistrict=adminDistrict… • 出力形式指定 • XML形式 ?o=xml • JSON形式 ?o=json • キー指定 • &key=NativeアプリでBing Maps活用
アプリからHTTPを使う方法 • Wininetライブラリを使用する • WinInet初期化 InternetOpen • セッションを開く InternetConnect • HTTP要求ハンドルの生成(GET要求) HttpOpenRequest • HTTPリクエスト送信 HttpSendRequest • ファイル受信処理 InternetReadFile • 終了処理 InternetCloseHandleWECでクラウド接続する場合の課題
• たいていWEC向けにはライブラリは提供されない・・・。 • フルブラウザがない。 ⇒MAPを表示するとかというのまでは難しいかも。 (搭載するブラウザとJavaScriptのエンジン次第) • JSONパーサがない。 • WCFは役に立つが、Native Codeからは直接呼べない ⇒つまりXAML for WECから直接呼べない(泣)。組込機器にもセキュリティ
• クラウドと接続する
⇒クローズドだったシステムが、オープンになる。 ⇒やり取りするデータの保護が重要になる。
WECのセキュリティ機能
• 証明書のサポート(SSL通信、HTTPS)
• WFP(Windows Filtering Platform)
• 暗号化機能 • 証明書失効リスト (CRL) と証明書信頼リスト (CTL) を管理するツールはサ ポートされていない • 資格情報マネージャー • ユーザー名、パスワードなどの資格情報を管理 • ローカル認証サブシステム (LASS) • バイオメトリクスなど認証メカニズムをサポート • スマート カード