結局、RIAはどれを使うべきなのか?
連載インデックスへ
検証特集:クラウドの“クライアント”としてRIAを試す(終)

SilverlightとAmazon S3で“クラウドRIA”を作ってみた


クラスメソッド株式会社
福田 寅成
2010/8/26

昨今関心が高まる一方のクラウドだが、クラウドの“クライアント”についてはあまり取り上げられないのが現状だ。本連載では、同じく未知の可能性を秘めるRIAをクライアントにして、サンプルを基にクラウドとの連携アプリケーションを検証していく

クラウドとRIAの組み合わせを試してみよう

 連載第1回の「6つの主要クラウドとRIAの現状を総ざらい」では、「クラウド・コンピューティング」(以下、クラウド)とRIA(Rich Internet Application)/リッチクライアントの近況をまとめました。前回の「Amazon S3とAdobe AIRで“クラウドRIA”を作ってみた」では、具体的に、クラウドでストレージサービスを提供している「Amazon S3」と、RIAとしてAdobe AIRを組み合わせて利用するアプリケーションを作成しました。

 前回に引き続き、クラウドでストレージサービスを提供しているAmazon S3を利用するアプリケーションを作成したいと思います。利用する技術はAdobe AIR/Flexと双璧をなしていくであろう技術の1つ、Silverlightです。

Amazon S3のデータを扱うSilverlightアプリ

 今回は、Webブラウザ上の原稿執筆時に最新だったSilverlight 3からAmazon S3を直接参照するアプリケーションを作成します。このアプリケーションを触ってみると、前回と同様にAmazon S3のデータ構造がどうなっているのかを体験できます。

 以下は、アプリケーションの完成図です。前回のアプリケーションからはメニューバーがないだけのイメージになるように作成してあります。

図1 バケット一覧
図1 バケット一覧

図2 オブジェクト一覧
図2 オブジェクト一覧

機能

  • バケット一覧を表示
  • バケット一覧内のバケットをダブルクリックすると、バケット内のオブジェクト(ファイル)一覧を表示

 アプリケーションはSilverlightを用いて作成します。Silverlight周りでは通信処理にオーソドックスな方式を採用し、UI的には前回のFlex版とほぼ同じUIを採用しています。

図1 バケット一覧
図3 クライアントアプリの処理概要(前回とほぼ同様のもの。.mxmlや.asは前回のファイル名)(画像をクリックすると、拡大します)

クラス構成

 以下は、サンプルアプリケーションのファイル構成です。

図4 サンプルのファイル構成
図4 サンプルのファイル構成

表 サンプルのファイル構成
コンポーネント
タイプ
ファイル名 役割
メイン
アプリケーション
App.xaml リソースディクショナリの参照設定のみ行う
Main.xaml App.xaml.csから呼ばれるメインアプリケーション。アプリケーションの背景の設定とナビゲーションフレームが指定されているだけ
View BucketList.xaml S3のバケット一覧表示画面
ContentList.xaml バケット内コンテンツの一覧画面
Header.xaml 画面間で共通に利用するヘッダ
ユーティリティ S3Helper.cs S3と通信する際に必要な文字列を生成するユーティリティ
S3Util.cs アプリケーションで利用する定数や通信コンポーネントを提供するクラス
スタイル ResourceDictionary1.xaml リソースディクショナリ。Expression Blend 3でスタイルを作成したのち、そのスタイルをこのクラスに整理してある
wood_bg.png 前回のAIR版アプリケーションの背景に似せるために作成した木目調背景

 各クラスの詳細は割愛します。ソースコードとソース内のコメントを読んでみてください。

Amazon S3+Silverlightアプリを作る準備

 まずは、完成品をこちらからダウンロードしておいてください。こちらを使うための環境を以下で整えます。

Amazon S3のアカウントの取得

 この記事から本連載を読んでいる方は多いと思いますが、前回の記事を読んでAmazon S3のアカウントを取得しておいてください。Amazon S3のアカウントがなくても、記事そのもの、およびソースコードを読んでいろいろ感じてもらうことは可能です。

開発環境

 この順番で環境を作成しましょう。

  1. Windows 7
  2. Visual Studio 2008 Professional Edition(無料のExpress EditionでもOK)
  3. Visual Studio 2008 Service Pack 1
  4. .NET Framework 3.5 Service Pack 1(Windows 7では、不用)
  5. .NET Framework 3.5 Service Pack 1 Language Pack(Windows 7では、不用)
  6. Visual Studio 2008 SP1 用 Microsoft Silverlight 3 Tools
  7. Expression Blend 3(試用版でもOK)

 開発環境は、もちろん最新のVisual Studio 2010Expression Blend 4でも大丈夫です。先にExpressionをインストールしてしまった場合、Silverlight 3 Toolsをインストールする前にSilverlight 3 SDKをアンインストールしておく必要があります。

 Silverlight 3関連の入門的な記事としては、以下を参照しておいてください。

Silverlight 3、ここがすごい!
特集:さらに進化を遂げたSilverlight 3
 ついにバージョン3の正式版がリリースされた。今回のリリースで特に注目すべき新機能とは何か? 実際に動くデモを交えて紹介する
Insider.NET」フォーラム 2009/7/14

 次ページからは、サンプルアプリを作るための準備をし、実際の作り方を見ていきます。

1-2

 INDEX
検証特集:クラウドの“クライアント”としてRIAを試す(終)
SilverlightとAmazon S3で“クラウドRIA”を作ってみた
Page1
クラウドとRIAの組み合わせを試してみよう
Amazon S3のデータを扱うSilverlightアプリ
Amazon S3+Silverlightアプリを作る準備
  Page2
SOAP通信を利用したAmazon S3へのアクセス
RIAとクラウドのペアはベストパートナーである



リッチクライアント&帳票 全記事一覧へ



HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日 月間