スマホ×Windows Azure開発講座(iOS編)

第1回 iOS+Windows Azureの技術概要

この記事を読むのに必要な時間:およそ 2 分

はじめに

去る3月の震災を機に,インターネットそのものとともにクラウドによる情報供給におけるスケーラビリティや耐障害性,スマートデバイスによるライブインフォメーションへのアクセスの進化が,改めて注目されました。普段あまりアクセスがないサイトに,アクセスが集中しダウンするサイトを,クラウドでミラーリングしてカバーされました。電話が麻痺する中,IP通信はダウンしなかったため,SkypeやTwitterが情報伝達手段として活躍しました。

今,クラウドスマートデバイスを利用したアプリケーション・サービスは目覚ましい数で増えています。

本連載では,Microsoftが提供する選り取り見取りのサービス群からなるクラウドWindows Azureプラットフォームと,完成度の高いアップルのiOSデバイスに焦点を当て,この2つを組み合わせたアプリケーション・サービス開発について,取り上げていきます。

初回となる本稿では,Windows AzureプラットフォームとiOS,それぞれの技術概要について紹介していきます。

Windows Azureプラットフォームについて

Windows Azureプラットフォームは,Microsoftが提供するコンピューティング,データベース,ストレージ,CDN,仮想ネットワークなどから成るクラウドサービス群です。

メインとなるアプリケーションをホストするためのクラウドサービス,Windows Azureコンピューティングは,目的に応じてWebロール,ワーカーロール,VMロールという,3つのロールに分かれています。

WebロールはIIS(インターネットインフォメーションサービス)をフロントとして動作するWebアプリケーションサーバにあたる機能を提供します。ワーカーロールは,Webロールとは別にバックグラウンド処理を担当させるホストになります。VMロールはWindows Server 2008 R2を仮想的に動作させるホストを提供します。

Windows Azureストレージとは何か

Azureプラットフォームにおけるスケーラビリティを持ち,耐久性に優れたストレージサービスで,テーブル,BLOB,キューの3つからなります。ストレージアカウントによって認証することでアクセスでき,REST APIが提供されています。

テーブルはフレシキブルにさまざまな構造のデータを保管することができるKey-Value Storeタイプのストレージです。従来のRDBを使いたい場合はSQL Azureデータベースを利用します。

BLOBは,巨大なバイナリデータを格納するためのストレージです。各データはコンテナでグループ化され,コンテナレベルでアクセスポリシーを設定することができます。

キューは,主にロール間のプロセスを仲介するメッセージをいわゆる待ち行列形式で溜めるストレージです。各ロールは,キューにメッセージを送信したり,ウォッチして受信することで処理を実行したりします。

iOSとは何か

AppleがiMac,MacBookとともに開発してきたMac OS XをベースにしてiPad,iPhone,iPod touch上で稼働するOSです。そのためこれらの端末は,ご存知のとおりiOSデバイスと呼ばれています。 iOSのアーキテクチャは,図1のように下位から順にCore OS,Core Services,Media,Cocoa Touchの4つのレイヤで構成されます。Core OSのシステム部分はOS Xとカーネルやネットワーク,ファイルシステム,スレッドなど多くのテクノロジーを共有しています。

図1 iOSアーキテクチャ

図1 iOSアーキテクチャ

iOS SDKとは

iOS上で動くアプリケーションは,無償で提供されているiOS SDKによって開発できます。iOS SDKにはネイティブアプリケーションの実装,コンパイル,テスト,プロファイリングを行うためのツールが含まれています。それら機能のほとんどは統合開発環境のXcodeに集約されています。Objective-C言語を使って,前述のアーキテクチャを構成する各レイヤのためのフレームワークを利用することで,多種多様なアプリケーションを開発することができます。

Cocoa TouchはMacで実現しているUIとともにiOSデバイス上でインタラクティブなUIを実現するためのフレームワークで,iOSアーキテクチャの最上位レイヤになります。Cocoa TouchはModel-View-Controllerに基づいた設計になっているため,Cocoaフレームワークの経験がある開発者だけでなく,WebアプリケーションやRIAの経験が多い開発者でも,比較的スムーズに開発が行えるでしょう。

著者プロフィール

高橋俊光(たかはしとしみつ)

ティルフィン合同会社 代表。

メーカー企業でパッケージソフト開発などに携わった後,ティルフィン合同会社を設立しフリーエンジニアとして,RIAやスマートモバイルアプリとサーバーサイドと広い分野で開発に従事。iOSアプリ トレンドトピック,Newstrushをリリースしている。

コメント

コメントの記入