佐藤直生 (さとうなおき)
Twitter @satonaoki
Facebook satonaoki
http://satonaoki.wordpress.com/

2010年、Windows Azureのエバンジェリストとし
て、マイクロソフトに参画
以前は、オラクルでJavaエバンジェリストとして
活動
Twitter 公式ハッシュ タグ




  #javafesta
はじめに…
• アンケートにご協力ください
• 記入したアンケートは受付に


• 質問があれば、セッション後に
  お気軽にどうぞ
• おみやげ (クラウディア グッズ、
本セッションのテーマ
Windows Azure を活用した Windows 8 アプリケー
ション開発
• Windows Azure の最新情報、Windows 8向けの
  Windows ストア アプリケーション開発の概
  要、「Windows Azure Mobiles Services」を
  使った効率的なWindows ストア アプリケー
  ション開発について、ご紹介します。
本セッションの内容
•   Windows Azure アップデート

•   Windows 8 開発

•   Windows Azure Mobile Services
    による、Windows Azure &
    Windows 8開発
Windows Azure




      SDK 1.1   SDK 1.3   SDK 1.5   SDK 1.7
Windows Azure
クラウド サービス
仮想マシン ( IaaS )


         Windows Server 2012
Start Simple   Code Smart   Go Live
無料で始めて簡単拡張

数秒で準備が完了

ビルトインの監視機能
マイクロソフト ×
     オープンソース プロジェク
ト
                And
               More …
SQL データベース
   NoSQL データベース      大量の動画や画像に最適
   3多重               3多重 + DC間複製
   スキーマレス            REST API
   REST API          CDN 対応
単純なセットアップと管理                完全な制御
簡易的   E2E セキュリティ     エンタープライズ向け   スケーラブル
      迅速なプロビジョニング                 複雑なシナリオに対応
ハイブリッド な基盤構築と運用




          仮想
        ネットワーク
Web インスタンス間でセッション状態とデータを共有
キャッシュ



        データ層からの読み込み負荷を軽減
メディア サービス



    エンコーディング
新機能 まとめ




     インメモリキャッシュ                      仮想マシン
                          SQL レポート   Web サイト
     ローカル冗長ストレージ
                                     仮想ネットワーク
 各開発言語, Mac/Linux向け SDK              メディア
本セッションの内容
•   Windows Azure アップデート

•   Windows 8 開発

•   Windows Azure Mobile Services
    による、Windows Azure &
    Windows 8開発
このパートのスライドは非公開です…
本セッションの内容
•   Windows Azure アップデート

•   Windows 8 開発

•   Windows Azure Mobile Services
    による、Windows Azure &
    Windows 8開発
Windows Azure Mobile Services とは
?
キーとなるシナリオ
Windows Azure Mobile Services が向いているのは:
構造化されたストレージの利用
Windows Azure SQL Database
単一のデータベースアプリはスキーマで分割可能
  AppX.Todoitem
  AppY.Todoitem
データの管理は下記いずれでも可能
  ポータル上
  SQL 管理ポータル
  SQL Management Studio
  REST API…
サーバー側ロジック
ストレージ用に自動生成されるサービス用 REST API

Dynamic な Schema の On/Off が可能

CRUD 操作に対するサーバー側ロジック追加が可能

高度なクエリーの利用が可能
サーバー側ロジック
サポートされたモジュール + Globals
  mssql
              mssql.query('select top 1 * from
  request     statusupdates', { success: function(results) {
  console                             console.log(results);
                         }
  push              }
  tables      );

  statusCodes
REST API と SQL 型とのマッピング
 JSON Value                 T-SQL Type
 Numeric values (integer,   Float
 decimal, floating point)
 Boolean                    Bit
 DateTime                   DateTimeOffset(3)
 String                     Nvarchar(max)
Push 通知ライフサイクル概要
     Cloud Service
                     •   1. チャネル URI を要求

                     •   2. クラウド サービスに登録

                     •   3. 認証とプッシュ通知
Push 通知
Windows Notification Services (WNS) を使って
Toast、Tile、および Badge の各通知を提供
Portal を使って
WNS Client に SID をセキュアにパッケージ
push.wns.* が提供するのは:
    ・プッシュ通知を構成するための
       クリーンで簡単なオブジェクトモデル
   ・WNS を使った認証
認証*
Windows Live を使用した認証

個々の CRUD 操作に対するTable レベルのパーミッション付与
   Everyone
   Anyone with the Application Key
   Only Authenticated Users
   Only Scripts and Admins


サーバー側スクリプトを使用した更に粒度の細かい制御
   user.level: {admin, authenticated, anonymous}
   user.userId: id or undefined if not authenticated
Diagnostics、その他の機能
Diagnostics        Scale - Compute
API 呼び出し           インスタンスを増やして
CPU 時間             スケールアウト
Data 出力            VM サイズのスケールアップ

Logging            Scale - Storage
console.error(…)   Mobile Services テナントの
console.log(…)     専用 SQL Database への変更
…                  SQL Database のスケールアップ
Start Windows Azure

    http://WindowsAzure.com
    90 日 無料評価版
    開発者向け情報

                              スタートアップ企業
                              月 1,500 時間まで

 最大 3 年間                      Web 開発企業
 無償                           月 375 時間まで
Windows ストア アプリ開発支援
最新情報は常にこちら→ http://www.facebook.com/5Metro


Developer     http://aka.ms/devcampJP
Camp



Application
Excellence
Lab           http://aka.ms/AELjp




テンプレート
& 素材集         http://msdn.microsoft.com/ja-jp/jj556277
まとめ


 クラウド移行を可能にするシナリオを大幅に拡大
 より多くのお客様のクラウド移行を支援

 Window 8アプリのバックエンドとしても最適
最後に…
• アンケートにご協力ください
• 記入したアンケートは受付に


• 質問があれば、お気軽にどうぞ
• おみやげ (クラウディア グッズ、
  Tシャツ) 差し上げます
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the
part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

[Java Festa in 札幌 2012] Windows Azure を活用した Windows 8 アプリケーション開発

Editor's Notes

  • #2 ようこそご来場頂きました(系のご挨拶)今私が着ている服は…(系のアイスブレイク)
  • #23 WAMSNo hassles, no deployments, no fearWindows 8 client SDKSupport for iPhone, Windows Phone and Android coming soonDataStructured Storage with SQL DatabaseAutomatic service api generated for storageRich querying capabilityNotificationsIntegrates with WNS to provide Toast, Tile, Badge and Raw notificationsClean object model to compose notificationsServer LogicAutomatic CRUD service api generatedAbility to author server logic that intercepts CRUD operation pipelineAuthAuthenticate against Windows LiveTable level authorization with no code More granular control with server side scriptsScale out and Scale up
  • #29 Dynamic SchemaWhen Dynamic Schema is enabled, your Mobile Service will automatically add columns to tables as necessary to store incoming data.When Dynamic Schema is disabled, your Mobile Service will only accept data whose properties correspond to existing columns on your tables.
  • #30 Dynamic SchemaWhen Dynamic Schema is enabled, your Mobile Service will automatically add columns to tables as necessary to store incoming data.When Dynamic Schema is disabled, your Mobile Service will only accept data whose properties correspond to existing columns on your tables.
  • #32 WNS is Free
  • #34 Windows Azure Mobile Services enables you to set the following permissions on table operations: Everyone: This means that any request for the operation against the table is accepted. This option leaves your data wide-open for everyone to access. Anybody with the Application Key: Only the correct application key is required to perform the operation. The application key is distributed with the application. Because this key is not securely distributed, it cannot be considered a security token. To secure access to you mobile service data, you must implement authentication. Only Authenticated Users: Only authenticated users are permitted to perform the operation. In this preview release, clients are authenticated by Live Connect services. Scripts can be used to further restrict access to tables based on an authenticated user. Only Scripts and Admins: The operation requires the service master key, which limits the operation only to registered scripts or to administrator accounts.