連載
» 2013年10月29日 18時00分 UPDATE

iOSアプリ開発は、BaaSでここまではかどるぞ(前編):無料評価版BaaSでクラウドのデータストアを操作してみた (1/2)

ここ2年程の間で広まってきたクラウドサービス「BaaS(Backend as a Service)」。バックエンドにリソースを割かずに済むBaaSの機能としてデータストア、ソーシャルサービスとの連携、認証機構、プッシュ通知などをiOSアプリから使う方法を解説。

[高橋俊光,ティルフィン合同会社]

バックエンドにリソースを割かずに済む「BaaS」とは

 ここ2年程の間で「BaaS(Backend as a Service)」というクラウドサービスが広まってきています。

 iPhoneやAndroidといったスマートデバイスが浸透し、その上で動くアプリも星の数ほどあります。こういったアプリの多くは単体で完結することなく、ユーザー間でデータを共有化したり、ソーシャルサービスとつながったりすることが一般的です。そういった仕組みは主にクラウドをバックエンドとして利用し、アプリ開発者が各自で個別に構築していました。

 そこで、要求される機能をまとめてクラウド上に新たなレイヤーのサービスとして提供したものがBaaSです。これにより、アプリ開発者がバックエンドの開発にリソースを割かずに済むようになります。

 BaaSは主に、アプリが必要とするデータストア、ソーシャルサービスとの連携、認証機構、プッシュ通知などのサービスを包括的に提供します。すでにParseStackMobApplicasaappiariesなど国内外で数多くのBaaSが誕生しています。

 またPaaSプロバイダとして有名なHerokuもiOS向けのBaaSパッケージ「Helios」を公開しています。グーグルも今年6月からGoogle App EngineにBaaS機能を展開できる「Mobile Backend Starter」という開発環境を提供しています。

 本記事では、BaaSの一例として、「Windows Azure」で提供されるBaaS、「Windows Azure モバイル サービス」をiOSアプリから活用する方法を紹介していきます。

クラウドベンダのBaaS「Windows Azure モバイル サービス」とは

 マイクロソフトはWindows Azure上で提供するBaaSとして、昨年8月にWindows Azure モバイル サービスのプレビュー版を公開し、今年6月に正式にサービスとして開始しました(参考:Web&アプリ開発の「リアル」に対応:node.jsもPHPもMySQLも使えるPaaS「Webサイト」「モバイルサービス」が正式メニューに)。

 数多くのBaaSがすでに存在するとはいえ、それらはAWSなどのクラウド上で展開されたものです。そういった中でクラウドベンダ自身が提供するBaaSというのは、可用性など大きな意味を持つと思います。

 モバイル サービスという名前ではありますが、Windows 8アプリのバックエンドとしても利用可能で、各種プラットフォームに対してそれぞれSDKが公開されており、各機能をシンプルに扱うことが可能です。

 以下は、現在提供されている主な機能です。

  • データストア(SQLデータベース)
  • 認証(Microsoftアカウント、Twitter、Facebook、Google アカウント)
  • プッシュ通知
  • スケジューリングされたジョブ
  • SendGridを利用したメール配信

※Web管理ポータルの画面フォーム上で設定できない細かな処理はJavaScriptでコーディングしスクリプトとしてセットします。

無料評価版でWindows Azureモバイル サービスを試す

 早速iOSアプリからWindows Azureモバイル サービスを利用したアプリを試してみましょう。

 Windows Azureを利用されていない方は、「Windows Azureサブスクリプション申し込み Step by Step」を参考に、以下の「Windows Azure」からアカウントのセットアップをお願いします。Microsoftアカウントをお持ちでない方は、先の「Step by Step」で付録Bを参考に作成してください。

BaaSiOS1_0.jpg Windows Azure申し込み

 Windows Azureの利用はサブスクリプションという契約単位で課金されます。ただモバイルサービスには、課金レベルとして「無料」というレベルがあるため、評価期間が終わっていても本記事の内容で試す分には、その枠内で収まるはずです。サブスクリプションのセットアップは、上記の「Step by Step」のStep 1、2を参考に進めてください。

Windows Azure管理ポータルでモバイル サービスを作成

 ブラウザからWindows Azure管理ポータルにアクセスします。

BaaSiOS1_1.jpg 図1 モバイル サービスの新規作成

 管理ポータルから左下の[+新規]をクリックすると、各サービスの新規作成メニューが表示されます。図1の通り、[コンピューティング]→[モバイル サービス]と選択して、最後に作成をクリックします。

モバイル サービスの設定

 画面中央にダイアログが表示されて細かい項目を設定していきます。

BaaSiOS1_2.jpg 図2 モバイル サービスの作成

 図2の画面の項目を入力していきます。まず[URL]としてサブドメインにユニークなIDを入力します。これは全ての利用者の中でユニークなものにしなければならないので、すでに他の方が取得されている場合もエラーになります。

 さらに[データベース]を選択します。初めての方は「無料の20MB SQLデータベースの作成」を選択しましょう。このデータベースというのは、Microsoft SQL ServerをベースとするRDB(リレーショナルデータベース)のクラウドサービスのことです。モバイルサービスではデータ保存先として、このSQLデータベースを利用しており、クライアントから透過的にアクセスすることになります。

 [サブスクリプション]は課金先の選択になります。初めてWindows Azureを利用している方はデフォルトのままで大丈夫です。[地域]はクラウドのリージョンです。近い場所を選択されると良いでしょう。終わったら、右下の[→]をクリックして次のページへ進みます。

データベースの設定

BaaSiOS1_3.jpg 図3 データベースの設定の指定

 図3の画面の項目を入力していきます。SQLデータベースに関する設定です。まず[名前]にはモバイル サービスのURLサブドメインから自動的に生成されているので、そのままにします。[サーバー]もデフォルトのままにします。

 [サーバーログイン名][サーバーログインパスワード]と適当なもの入力してください。モバイル サービスでは、ここでのログインアカウントを入力して使うことはありませんが、SQLデータベースに直接アクセスして別の処理やデータ閲覧を行うときに用います。

 [地域]もそのままにして、右下のチェックマークをクリックすると初期設定が終わります。モバイル サービスの一覧上に作成したサービスが追加され、状態が「準備中」になっています。そのまま「準備完了」になるまで待ちます。

       1|2 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。