クロスプラットフォームaed 検索のキモ

Post on 16-Jul-2015

346 Views

Category:

Education

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MVP Community Camp 2015 クロスプラットフォームAED 検索のキモ

2015/01/31 初音玲

アジェンダ

AED検索とは

Microsoft Azure Mobile Servicesのキモ

universal Windows appのキモ

Xamarinのキモ

本日のゴール

Microsoft Azure Mobile Servicesが何かが分かる

クラスプラットフォームのゴール形態が分かる

AED検索とは

AEDの現状

国内40万台

一般利用可能20万台

AEDの現状

国内40万台

一般利用可能20万台

使用率 3.7% (2013年)

使用率3.7%

心肺停止者

年間73,023人

うち、目撃者あり

年間23,797人

32.6%

67.4%

目撃者あり 目撃者なし

使用率3.7%

32.6%

67.4%

目撃者あり 目撃者なし

96.3%

3.7%

AED未使用 AED使用

使用率3.7%

目撃者ありの場合の使用率

目撃者ありの場合の使用率

3.7%881人 / 23,797人

すべての心停止者に対する使用率

1.2%881人 / 73,023人

なぜこんなに使用率が低いのだろう

AEDって最近のもの?

認知率が低い?

使い方が分からない?

なぜこんなに使用率が低いのだろう

AEDって最近のもの?

認知率が低い?

使い方が分からない?

なぜこんなに使用率が低いのだろう

AEDって最近のもの?

⇒2014年で10年目

認知率が低い?

使い方が分からない?

なぜこんなに使用率が低いのだろう

AEDって最近のもの?

認知率が低い?

⇒認知率93.6%

使い方が分からない?

93.6%

6.4%

知っている 知らない

なぜこんなに使用率が低いのだろう

AEDって最近のもの?

認知率が低い?

使い方が分からない?

⇒講習受講率50.7%

50.7%

49.3%

ある ない

Why:救命処置をとれない理由

目撃時に救命措置をとれない理由は何ですか?

18

47.7%

30.4%

25.6%

25.0%

22.5%

7.9%

7.4%

4.0%

方法が分からない

対応する自信がない

専門家に任せた方が良い

方法を忘れてしまった

怖くて手が出せない

対応したくない

巻き込まれたくない

その他

AED認知率向上、講習会の実施、

にプラスして何かが必要

19

アプリ作れば解決すると思っていた時期もありました

問題は

問題は

アプリから使えるAED位置情報がない

自治体の公開フォーマットは不統一

二次利用禁止で集めているところはある

問題は

アプリから使えるAED位置情報がない

自治体の公開フォーマットは不統一

二次利用禁止で集めているところはある

なければ作るのが「開発者」

作りました

システム構成

24

Microsoft Azure Mobile Services

Microsoft Azure SQL Database

Microsoft Azure Notification Hub

Windowsストアアプリ / Android & iOSアプリ(Xamarin)

AEDオープンデータプラットフォーム

AzureMobile

Services

AED情報の収集

情報記録

認証

AzureSQL Server

Facebook認証

AED管理用データベース経済産業省 IODD2014

AEDの共通語彙基盤に準拠

心停止者を発見したときには…

該当AED抽出

AzureSQL Server

AzureMobile

Services

Facebook認証

AED管理用データベース経済産業省 IODD2014

AEDの共通語彙基盤に準拠

私のめざしたい姿

使用率3.7%を4%に上げる

私のめざしたい姿

使用率3.7%を4%に上げるだけじゃ満足できない

私のめざしたい姿

使用率3.7%を4%に上げるだけじゃ満足できない

偶然そばに人がいたときだけじゃ満足できない

私のめざしたい姿

すべての心停止者にAEDを

将来想定(M2Mによる119番連携/SOS自動発信)

通知

認証

該当者抽出

該当AED抽出

AED位置表示

SOS位置表示

承諾応答

通知ハブ

AzureSQL Server

AzureMobile

Services

通知

Facebook認証

AED管理用データベース経済産業省 IODD2014

AEDの共通語彙基盤に準拠

ウェラブル/スマホなどからの自動発信

Microsoft Azure Mobile Servicesのキモ

AEDオープンデータAPI

指定した都道府県単位のAED情報一覧

指定した市町村区単位のAED情報一覧

指定した緯度経度の直近AED情報

指定した緯度経度の指定範囲内のAED情報一覧

指定したIDのAED情報

直近AED検索速度<3秒

東アジア 3.23sec ⇒ 国内 2.95sec

サーバー側でfacebook認証およびfacebook投稿

登録/変更時のみ

使いやすさを考えたAPIのアクセス許可設定

GETは緩く、POSTは認証済のみ、削除は管理者

DBアクセス

カスタムAPIによる細かな制御を実施している

テーブルの自動生成は利用していない

プロト開発には有用

実開発までのどこかできちんとしたDB設計で性能担保

今後の改善

直近AED検索の実行プラン

直近を求めるために全件並び替えを実施

「並び替え」の対象レコード数を少なくする

緯度経度でざっくり絞る?

DB破壊からの復旧

AEDオープンデータプラットフォーム公開前に実施済

破壊シナリオ

AED検索用のMobile Serviceの他に、もう1つMobile Serviceを作成

構成画面にて接続先データベースをAED検索用SQL Databaseに切り替え

削除するときに関連するデータベースも削除

復旧シナリオ

データベースで管理⇒構成をえらび自動エクスポートの情報を設定

エクスポートから新しいデータベースを作成

元のサーバーを指定して復旧

universal Windows appのキモ

ロジックは共通

画面が別途

Portable Class Library

42

PCLプロジェクト

Windowsストアプロジェクト

WindowsPhoneプロジェクト

PCLビルド

PCL

PCL

参照設定

参照設定

共有

43

共有プロジェクト

Windowsストアプロジェクト

WindowsPhoneプロジェクト

ソースコード

参照設定

参照設定

ソースコード

ソースコード

for Windows

for Windows Phone

Xamarinのキモ

Portable Class Library

47

PCLプロジェクト

Androidプロジェクト

iOSプロジェクト

PCLビルド

PCL

PCL

参照設定

参照設定

共有

48

共有プロジェクト

Androidプロジェクト

iOSプロジェクト

ソースコード

参照設定

参照設定

ソースコード

ソースコード

iOSとAndroidでコードに差があるとき

49

PCLは「if」で条件分岐・実行時に判定

共有コードは「#if」で条件分岐・コンパイル時に判定

PCL vs 共有コード

PCL方式なら

OS別ロジックがそもそも入り込まない

共有コード方式なら

universal Windows appsは共有コード方式

実行ファイルにOS別ロジックが入らない

OS別ロジックに専用クラスが書ける

50

Xamarin Forms

Android版はもう動いています

Xamarin.Forms.Mapは成長中

Androidのmapに比べると…

まとめ

4OSクラスプラットフォームのゴール

53

PCLプロジェクト

Windowsストアプロジェクト

WindowsPhoneプロジェクト

PCL参照設定

ViewModel

Model

Androidプロジェクト

iOSプロジェクト

固有ロジック 固有ロジック 固有ロジック 固有ロジック

View View View View

AEDオープンデータプラットフォームhttp://hatsunejournal.jp/w8/AEDOpendata/

誰でもが無償で自由に使えるAEDデータ

直近検索、facebook認証などを整備⇒スマホ側アプリが楽に

クライアント

ロジックは可能な限り共通化

画面の見た目はOSごとに別(基本は一緒)

top related