133 Views
March 16, 13
スライド概要
ABC 2013 Spring
ヴイエムウェア株式会社 プリンシパルエンタープライズアーキテクト。Microsoft で13年間、テクニカルエバンジェリストとして .NET、Visual Studio、Windows、iOS、Android、Microsoft Azure 等の開発者向け最新技術啓発活動を実施。その後、Dell、Accenture、Elastic 等を通じて現職でも同様の活動を実施。 2019年4月〜2021年8月迄、内閣官房 IT 総合戦略室 政府 CIO 補佐官を兼務、2021年9月〜2024年3月迄、デジタル庁 PjM ユニット ソリューションアーキテクトを兼務。 2022年、企業向けに技術顧問、クラウド等開発技術トレーニング、技術マーケティング支援、エバンジェリスト業務、エバンジェリスト養成などを行う合同会社デベロッパーアドボケイトを設立、数社の技術顧問業務や、トレーニング等を実施。
Windows Azure Mobile Services を使った Android/iOS アプリケーションの構築 佐藤直⽣生 @satonaoki Windows Azure テクニカルエバンジェリスト http://satonaoki.wordpress.com/ ⽇日本マイクロソフト株式会社 鈴鈴⽊木 章太郎郎 @shosuz テクニカルエバンジェリスト 兼 MTC アーキテクト http://blogs.msdn.com/b/shosuz ⽇日本マイクロソフト株式会社
Windows Azure とは
ミ ド ル ウ アプリケーション ネットワーク Connect Traffic Manager Virtual Network (Public Preview) (Public Preview) (Public Preview) 認証 キャッシュ システム連携 Media Services AD CDN 占有型 キャッシュ (Preview) 共有型 キャッシュ アクセス制御 データ RDB ホスティング 管理理 Blob Azure Active Directory Table RDB 関連 キュー サービス バス (Preview) ア HPC レポート Datasync (Preview) Import/Export PIT Restore (Limited Preview) Hadoop Service Cloud Services Virtual Machines Websites Mobile Services (Public Preview) (Public Preview) (Public Preview) Windows Azure 管理理ポータル ファブリック コントローラ (Preview)
Windows Azure Mobile Services とは
http://www.windowsazure.com/mobile Windows 8、iOS、Windows Phone 8、Android データ
Github https://github.com/WindowsAzure/ azure-mobile-services Get started with Mobile Services for Android http://www.windowsazure.com/en-us/ develop/mobile/tutorials/get-startedandroid/
Github https://github.com/WindowsAzure/azure-mobileservices Get started with Mobile Services for iOS http://www.windowsazure.com/en-us/develop/mobile/ tutorials/get-started-ios/
SQL サーバーの利利⽤用と サーバーロジックの開発
http://msdn.microsoft.com/en-us/library/windowsazure/jj554226.aspx
プッシュ通知機能の開発
Windows 8 (2) (3) (1) (3)
認証連携機能の開発
Live Connect ポータル https://manage.dev.live.com/Applications/ Index アプリケーション キーを持つ ユーザー(デフォルト値)
まとめ
Windows 8、iOS、Windows Phone 8、Android データ
Appendix
・データアクセス、プッシュ通知、認証サポート Windows 8、Windows Phone 8 SDK、iOS SDK SDK、Android SDK ・強⼒力力なサーバーサイドスクリプトのサポート プッシュ通知、バリデーション、プリプロセッシング、 ポストプロセッシング、他の Web サービスとの連携
JSON 値 数値 (整数、10 進数、 浮動⼩小数点数) T-SQL 型 Float(53) ブール値 DateTime ⽂文字列列 Bit DateTimeOffset(3) Nvarchar(max)
https://dev.twitter.com/ https://dev.twitter.com/apps/new Register your apps for Twitter login with Mobile Services http://www.windowsazure.com/en-us/develop/mobile/how-to-guides/register-for-twitter-authentication/
複雑なフィルタリングの例例
Supported
Modules + Globals
function read(query,
user,
request)
{
query.where(function
(userId)
{
mssql
return
this.UserId
==
userId;
},
user.userId);
request.execute();
request
}
console
function
read(query,
user,
request)
{
query.where(function
(userId)
{
push
return
this.UserId
==
userId
&&
(this.Category
==
"Fiction"
||
this.Category
==
"Action")
&&
tables
this.Rating
>
2;
},
user.userId);
statusCodes
request.execute();
}
…
Windows 8/Phone 8
var table =
MobileService.GetTable <Apartment>;
var Apartments = await table
.where(a => a.Bedrooms > 2)
.ToListAsync();
Android (例例)
MobileTable <Apartment> table =
service.gettable(Apartment.class);
List<Apartment> apartments =
table.where()
.gt(“bedrooms”, 2)
.select();
iOS
table = [client getTable : @”apartment”];
NSPredicate* pred = [NSPredicate
predicateWithFormat:@”bedrooms > 2”];
[tableReadWhere : pred
completion : ^(NSArray* results,
NSInteger count,
Nerror* err) {
//…
}];
push.wns push.mpns
Live Connect ポータル https://manage.dev.live.com/Applications/ Index http://msdn.microsoft.com/ja-JP/windows/apps Windows ストアアプリポータル
Windows 8 CurrentChannel = await PushNotificationChannelManager .CreatePushNotificationChannelForApplicaionAsync(); Windows Phone 8 CurrentChannel = new HttpNotificationCannel(“ApartmentPushChannel”); CurrentChannel.Open(); CurrentChannel.BindToShellToast(); Server Side Script mpns.sendToast(channel.uri, “New Apartment Added”, apartment.address); wns.sendToat02(channel.uri, {text01 : “New Apartment Added”, text02 : apartment.address, });
Visual Studio では Intellisense で Identity Provider を選択可能
Windows 8 / Windows Phone 8 If (MobileService.CurrentUser == null) { var user = await MobileSevice.LoginAsync ( MobileServiceAuthenticationProvider.Twitter); iOS If (client.currentUser == nil) { [client loginViewControllerWithProvider : @”twitter” completion : ^(MSUser* user, NSError* err) { //… }]; }
http://blogs.msdn.com/b/shosuz/archive/2013/01/03/sendgrid-windows-azuremobile-services.aspx
診断 拡張 – コンピューティング ログ 拡張 - ストレージ
1 GB SQL データベース WA の無料料評価版 10 モバイル サービス プレビュー期間中は SLA なし。S インスタンスのみ使⽤用可能。プレビュー期間中は、通常の従 量量課⾦金金料料⾦金金から 33% 割引で予約済みインスタンスにアップグレード可能。
$ 共有インスタンス (マルチテナント環境) 予約済みインスタンス (プライベート VM) S インスタンスのみが 使⽤用可能なサイズ。 複数購⼊入が可能 S インスタンスのみが 使⽤用可能なサイズ。 複数購⼊入が可能 パブリック プレビュー 公開時は無料料 プレビューの料料⾦金金は Web サイトと同じ 割引料料⾦金金になる 99.9%
Resources
Mobile Services Developer Portal http://www.windowsazure.com/mobile 34
Event Buddy(iOS) Tic Tac Toe Leaderboard (iOS/Android) Feedback (iOS/Android)
MiniBlog http://msdn.microsoft.com/ja-jp/ windowsazure/hh697503
http://blogs.msdn.com/b/shosuz/archive/2013/01/11/windows-‐‑‒azure-‐‑‒new-‐‑‒code-‐‑‒samples-‐‑‒and-‐‑‒ tutorials.aspx 37