対象読者
- Microsoft Azureに興味がある方
- Microsoft Azureモバイルサービスに興味がある方
必要な環境
今回のサンプルを作成するために用意、および動作確認を行った環境は、以下のとおりです。
- Microsoft Azureサブスクリプション
- Oracle Java JDK 1.6.0
- Android SDK 22.0.0
- GTK# 2.12.22
- Xamarin Studio 4.2.3
- Xamarin.Android for Visual Studio and Xamarin Studio 4.10.1
なお、本稿で紹介するサンプルは、Microsoft Azure仮想マシンを用いて開発環境を準備しました。利用した仮想マシンイメージは以下のとおりです。
-
Microsoft Azure仮想マシン
- Windows Server 2012
- Microsoft Visual Studio Professional 2013
Microsoft Azureモバイルサービスとは
Microsoft Azureモバイルサービス(以下、モバイルサービスと称します)は、WindowsやWindows Phone 8向けのアプリケーションに留まらず、iOSやAndroidなどマルチプラットフォームに対応したモバイルアプリケーション開発を一元管理するバックエンドサービスです。
モバイルアプリケーションの開発に必要となるデータストア、メッセージング、認証などが、Microsoft Azure側で機能として用意されているため、開発者は各機能を組み合わせてモバイルアプリケーションを開発できます。
モバイルサービスは、現時点で以下の機能から構成されています。
機能名 | 概要 |
---|---|
データ | アプリケーションが利用するデータのデータストアを提供 |
API | データに対するCRUD操作を可能にするREST APIを提供 |
プッシュ通知 |
アプリケーションの更新情報などをプッシュ通知を実現。 現在、Windows Push Notification service(WNS)だけでなく、 Apple Push Notification service(APNS)や Google Cloud Messaging(GCM)にも対応しているため、 iOSやAndroidにもプッシュ通知が可能 |
認証 |
Microsoftアカウントだけでなく、FacebookやGoogle、 Microsoft Azure Active DirectoryなどのIdentity Providerによるユーザ認証 |
構成 | GitHubを経由してアプリケーションをリリースし、最大3拠点からの監視を提供 |
ログ | スクリプトのエラー情報やデバッグ出力結果をログとして表示 |
スケジューラ (プレビュー) |
オンデマンドもしくは設定間隔で、事前にポータル上から定義したJavaScriptを実行 |
スケール (プレビュー) |
トランザクション数に応じて最大ユニット数まで自動スケール |
主要機能については、以下で補足します。
データ機能は、アプリケーションが利用するデータをMicrosoft Azure SQL Databaseに格納します。各サブスクリプションに対して、SQL Databaseは、20MBまで無償で利用できます。必要に応じてMicrosoft Azure StorageサービスのBlob、テーブルなどを利用することもできますが、モバイルサービスのデータストアとしては、SQL Databaseが採用されています。
API機能は、データに対するCRUD操作やユーザによって独自に定義するスクリプトをREST APIを用いて実行できます。独自スクリプトの詳細に関しては、以下のリンク先の情報を参考にしてください。
スケール機能は、以下の3つのレベル(Microsoft Azureポータルサイト上では、「モバイルサービス層」と表現されています)で、区分されています。
- 無償
- 基本
- 標準
どのレベルを選択するかに応じて最大スケールサイズが変わってきます。また、このレベルは、モバイルサービスの利用料とも連動しています。以下に従量課金制プランの場合の料金表を記載します。価格が変更になっている場合もありますので、最新情報は以下のリンク先を確認してください。
無料 | 基本 | 標準 | |
---|---|---|---|
料金 |
無料(1ヶ月あたり 最大10個のサービス) |
¥2,550/ユニットあたりの月額 | ¥20,298/ユニットあたりの月額 |
API 呼び出し |
500,000回 | 1,500,000回/ユニット | 1,500,000回/ユニット |
アクティブな デバイス |
500 | 無制限 | 無制限 |
スケール | なし | 最大6ユニット | 最大10ユニット |
スケジュール されたジョブ |
限定 | 無償 | 無償 |
SQL Database |
20MBが含まれ、 追加容量に対して 標準料金が適用 |
20MBが含まれ、 追加容量に対して 標準料金が適用 |
20MBが含まれ、 追加容量に対して 標準料金が適用 |
それでは、モバイルサービスを用いたサンプルアプリケーションを実行してみましょう。
今回は2013年11月に発表されたモバイルサービスのXamarin対応にフォーカスして、ステップバイステップでサンプルアプリケーションを実行してみたいと思います。
そもそもXamarin(「ザマリン」と読みます)とは、C#で、Windows・Windows Phone向けアプリケーションだけではなく、iOSやAndroid向けアプリケーションを開発できるクロスプラットフォーム開発ツールの総称です。Visual StudioやXamarin Studioを用いて開発が可能です。