2010/10/20
クラウドコンピューティング時代におけるクライアントアプリケーションの開発をテーマに開催された「クラウド活用で変わる クライアントアプリケーション開発最前線〜@ITリッチクライアント・カンファレンスVI」。その中から、基調講演、アドビ システムズ・マイクロソフトの講演、そして特別講演の模様をレポートする
2010年9月29日、@ITリッチクライアント・カンファレンスVIが開催された。今回は「クラウド活用で変わる クライアントアプリケーション開発最前線」というタイトルで、各スピーカーの立場から見たクラウド時代におけるリッチクライアント/RIA開発が語られた。
|
クラウド時代のRIA開発は
「スピード」「持続性」「安全性」が重要
カンファレンスは、エクサ ユビキタスソリューション部ITスペシャリストの安藤幸央氏による「クラウド時代のクライアントアプリケーション開発における課題抽出と解決ポイント」と題した基調講演からスタート。安藤氏は、「個別の技術についてではなく、クラウドの概念的な部分についての話」として、まず「クラウド」という言葉の起源と定義についてあらためて確認。「クラウドとは、雲の向こうのコンピュータを使いたいときに、使いたいだけ、使えること」とした。
続いて、導入におけるメリットとデメリットを整理し、クラウドに適したアプリケーションの例として「規模の読めない携帯電話向けサイト」「時期や時間によって大きく利用率が変化するもの」「プロトタイプ作成時の迅速なテスト環境として」など、スケーラビリティや柔軟性が求められるシーンを挙げた。
安藤氏は、クラウドを前提としたクライアント開発のキーワードは、「スピード(Speed)」「持続性(Sustainability)」「安全性(Safety)」という3つの「S」であるとし、それぞれについて解説した。
1つ目の「スピード」は、アプリケーションの応答速度のこと。例えば、Amazonでは「0.1秒遅くなると、売り上げが1%減少する」と、Googleでは「0.5秒遅くなると、検索数が20%減少する」といわれている。アプリケーションのスピードはビジネスに大きく影響する要素なのだ。クラウドベースのアプリケーションが成功するには、そのデメリットであるネットワークの遅延を感じさせない工夫が求められる。真っ先に思い付くのがサーバのチューニングだが、安藤氏は「むしろクライアントのチューニングに注目すべきだ」という。
その理由は、一般にアプリケーションの遅さの原因は、サーバ側が20%でクライアント側が80%であるからだ。つまり、クライアント側での動作を改善する方が大きな改善効果が期待できる。クライアント側で改善できることとは、単にデータ処理の速度を上げるだけではなく、ユーザーインターフェイス的な工夫もある。
例えば、処理の進行状況が把握できるようにするだけで、ユーザーのストレスや不安は軽減される。PCだけでなく携帯電話やテレビといったマルチデバイス対応の場合、それぞれの画面サイズや利用するシチュエーションに適したUIや機能を提供することも工夫の1つとなる。
2つ目の「持続性(Sustainability)」は、「シームレスな使い勝手」といい換えできる。これは、クラウド単体だけでなくオフラインでの利用も考慮した設計が必要で、クラウドのデメリットを補うことで、メリットがさらに生きてくるというわけだ。Gears(Google Chromeの一機能となった)やMozilla Prism、Adobe AIR、そしてHTML5など、そのために利用できる仕組みもそろっている。
3つ目の「安全性」は、ユーザーに「安心、信頼、透明性」を示すこと。「ネットワークの向こう側にデータを預ける」ことに対して、いかにユーザーに抵抗をなくしてもらえるか。これには、セキュリティやバックアップ、障害時の素早い復旧体制、料金体系とSLA(サービス品質保証)がかかわってくる。クラウドでは「うまくいかないときにどうするか」というディフェンシブデザインが重要となる。
これら3つの「S」を踏まえたうえで、さらに安藤氏はRIA開発の今後として、クラウド時代ならではアプリケーション設計として、アニール・ダッシュ氏(Six Apart設立時の3人目の社員として知られる人物)が提唱している、従来の「デスクトップ」から脱した「クラウドトップ」という考え方を紹介。マルチデバイス対応やデータの自動同期、料金体系など、新たなセオリーの可能性を示した。
最後に、クラウド環境を導入したいと考える情報システムなどの担当者が、社内を説得する際のコツを紹介して講演を締めくくった。
「セキュリティが心配だ」「止まったら困る」という人に対して、
→「大切なデータは暗号化して保存します」
→「自分でやっても止まりますよね?」
→「銀行にお金を預けますよね?」
→「(電気は)自分で発電しませんよね?」
→「経済状況が厳しい今だからこそ、固定資産を持たない運用を」
クラウドとRIAをつなぐAndroidの開発環境を整える
RIAを、いつでもネットワークに接続してクラウドのサービスを利用する端末として、“モバイル”の視点からとらえたのが、アドビ システムズ デベロッパーマーケティングの轟啓介氏。「Android×Adobe Flash Platform」と題して、Flashを中心とするAdobe AIRやFlexといった同社のRIA技術とそれらのAndroid対応について紹介した。
特にスマートフォン市場は、iPhoneの登場以降急速に成長している。従来の携帯電話と違い、よりPCに近い機能を持っているため、ビジネスでの利用も多い。米国では、スマートフォンが携帯電話市場の25%を占めるなど、クライアント環境としても無視できない規模となっている。
中でもグーグルが中心となって開発を進めるAndroidは、スマートフォンにおける本命プラットフォームになると見られている。もちろん、iPhoneやWindows Phone、Symbianといった競合製品も無視できないが、現状で最も注目すべきなのは確かだ。米国の2010年第2四半期における販売台数は、トップのBlackBerry(33%)に続く2位(27%)となり、iPhone(23%)を抑えた。
轟氏は、iPhoneの使いやすさや優位性を認めつつ、多くのキャリアから端末が発売されるAndroidには大きな可能性があるとした。しかし同時に、その端末の多さがAndroid開発の悩みにもなっている。これを解決するのが、Flashを始めとするアドビ システムズのプラットフォーム技術である。PCのWebブラウジング環境においても、異なるOSやWebブラウザで共通のコンテンツを利用するための基盤を提供してきたFlash。同社では、Androidそしてスマートフォンでも、同様のことを実現しようと取り組んでいる。
同社が提唱するのは、ROI(費用対効果)を考えたアプリケーション開発。端末ごとに個別に調整することなく、なるべく共通のソースを再利用することで、効率的に開発するというものだ。すでに提供中のAndroid 2.2に対応したFlash Player 10.1やAndroid版のAdobe AIR(ベータ版)や、年内にベータ版を予定しているFlexなど、その環境は着実に整いつつある。
最後に轟氏は、スマートフォン時代は目の前まで来ており、乗り遅れないためにはすぐに準備を始めるべきだとした。そして、これを簡単に実現できるのがFlashを始めとするプラットフォームの技術であり、アドビ システムズのスマートフォン対応はAndroidを第一のターゲットに進めていくと締めくくった。
RIAとクラウド、開発環境までをトータルで提供
マイクロソフト デベロッパー&プラットフォーム統括本部 UX&クライアントプラットフォーム推進部の春日井良隆氏は、「Silverlight 4のWeb&デスクトップRIAシナリオとBlend 4によるUIデザイン」と題して、マイクロソフトが提供するRIAプラットフォームと開発環境を紹介した。
まず春日井氏は、マイクロソフトのWebアプリケーション戦略を「スリースクリーン(3つの画面)」というキーワードで説明。「PC」「モバイル」「組み込み機器」の3つの画面をターゲットにしたアプリケーションやサービスを、同社のクラウドサービスである「Windows Azure」を通じて、Silverlightともしくは「Internet Explorer 」(以下、IE)をプラットフォームとして提供することを目指しているそうだ。開発ツールにはVisual StudioとExpression Studioが対応する。
この「スリースクリーン」は、単にSilverlightに合わせて打ち出したコンセプトではなく、同社が2002年から進めてきた.NET技術が基盤となっている。プログラミング言語や開発モデル、クラウドで利用できるデータベースなどは、これまで培ってきた製品や技術の上に成り立っている。つまり、これまで同社の開発環境に親しんできた経験があれば、それを生かしたRIA開発が可能ということだ。
プラットフォームとして重要視されるのが普及率。春日井氏は、「Rich Internet Application Statics」のデータを引用して、日本におけるSilverlightの普及率が80%程度であることを紹介。競合製品であるFlashの普及率には及ばないものの、Webブラウザのプラグインとしては過去最速のペースで伸びているという。また、「ほとんどのPCメーカーにSilverlightをプリインストールしてもらえている」(春日井氏)とのことで、今後も普及は進む見込みだ。
「Webブラウザ用のプラグイン」「クロスプラットフォーム」「クロスブラウザ」「クロスデバイス」など、Flashと多くの共通点を持つSilverlight。春日井氏は、その最大の特徴として「『XAML』と呼ばれるXMLベースの言語でUIを定義し、.NETのマネージドコードであるC#やVB .NETでロジックを組めることだ」と説明した。
開発ツールでも、プログラマ向けのVisual Studioとデザイナ向けのExpression Blendでは、まったく同じSilverlightのプロジェクトファイルを用いており、プログラマとデザイナの共同作業において、スムーズなデータのやりとりが可能になる。
先日、米国で発表された携帯端末OSのWindows Phone 7では、Silverlightがプラットフォームとして採用された(ゲームプラットフォームのXNAも採用されている)。そのほかにも組み込み向けの Windows Embedded Standard 7など、マルチデバイスへの対応も着々と進んでいる。
すでにベータ版が公開されたIE9も、RIAプラットフォームを構成する要素として注目される。HTML5への対応度が注目されているが、Windows 7との密接な連携も目玉だという。今回IE9の設計コンセプトの1つが、「大切なのはコンテンツ=役者であり、Webブラウザはあくまでもそれを見るための劇場である」というもの。実際、ベータ版ではとてもシンプルな見た目だ。
RIA開発の例として春日井氏は、Expression Blendを使ったUIグラフィック作成とインタラクションの定義記述や、Expression Encoderを使った動画エンコードの処理のデモを行い、各ツールの連携の高さをアピールした。特に、Expression Blendに搭載されているSketchFlowはプロトタイピングを支援する機能として、Silverlightだけでなく、FlashやJava、あるいはWebサイトのモックアップ作りに利用しても面白そうだ。
最後に春日井氏は、マイクロソフトのオープンソースへの取り組みとして、CodePlexを紹介。「ほかの開発者がどのようなソースを書いているかなど知ることができるので、ライブラリとしてももちろん、開発の参考にも利用してほしい」と締めくくった。
クラウドの本質は技術ではなくビジネスの変化にあり
特別講演として最後に登壇したのは、Amazon Data Services Japan マーケティングマネージャーの小島英揮氏。「RIA開発の視点で考える『クラウド』の現実」と題して、世界規模でクラウド基盤を提供するAmazon Web Services(以下、AWS)と、企業がクラウドを導入する際に見落としてはいけない本質について語った。
まず小島氏は、世間ではクラウドに関するさまざまな誤解があると指摘。その1つが「AWSはAmazon.com ECサービスの余剰コンピュータリソースを流用している」というもの。小島氏は、これをはっきりと否定し、「共通しているのは運用ノウハウだけであり、データセンターやコンピュータリソースはECサービスとは、まったく別のもの」と説明した。そのうえで、この1〜2年でAWSのデータセンター利用規模がAmazon.comのそれを上回ったことを示し、AWSに対するニーズが急増していると明かした。
収益源としてはECが多くを占めるものの、この流れはAWSやそのほかのクラウド市場が今後さらに拡大することを示しているといえる。実際、海外だけでなく日本国内でもすでに多くの企業がAWSを利用している。
講演の中で小島氏が強調したのが、クラウドの真のメリットとビジネスに与える影響について。クラウドが語られる際、仮想化やアプリケーションプラットフォームなど、どうしても技術的な話になりがちだが、本当に重要なのはサーバ調達や管理の変化である。
必要なときに必要なだけ即座にコンピュータリソースを調達できる。これがクラウドのメリットであり、さらにいえばインフラを持たないことで管理業務や維持費の削減によってビジネス面でのメリットがもたらされる。「クラウドは技術だけで語っていると、その本質は見えてこない。調達やビジネスモデルの変化としてとらえることが重要。電気に例えるなら、問題にすべきは発電機の仕組みではなく、電気の調達方法が変わることで、それによってビジネスをどう構築するかである」(小島氏)
RIA開発の視点でも、この「必要なときだけ」という特徴がメリットになる。まず、当然サーバ周りの手間が軽減できる。FlashでもSilverlightでも、製品の進化や周辺環境の充実などによって開発効率は着実に向上している。しかしながら、そのアプリケーションをデプロイする際のサーバ周りの手間に大きな変化はない。開発期間や予算が圧縮される一方の昨今、掛かる手間や時間はなるべく削減したい。これまでは、開発工数全体に占める“本来の業務”は30%で残りの70%は付帯業務であることが多かった。クラウドの利用によって、本来の業務を70%に、付帯業務を30%に逆転させることができる。
そもそもRIA開発というのは、従来の開発方法に対して“追加”されるもので、むしろコスト増といえる。もちろん、RIAによってユーザーに使いやすいアプリケーションを提供できれば、トータルで見た生産性の向上などは期待できる。しかし、開発に限ればコストは増えることになる。RIAを導入したうえで、全体のコストを抑えるにはどうするか。その答えが、クラウド化によるハードウェアコストの削減である。
数あるクラウドの中で、小島氏がAWSのメリットとして挙げたのが、「仮想OSとミドルウェア」という提供形態による汎用性の高さ。クラウドには「SaaS」「PaaS」と呼ばれるサービスも存在するが、目的によっては適している場合と、そうでない場合がある。
アプリケーション基盤として利用する場合、開発者がその環境に慣れていないとハードルになってしまう。また、クラウド上で開発したサービスを自社サーバに移すことも難しい。AWSのような仮想OS/仮想マシンの形であれば、プラットフォームは自由に構築できるし(既存のスキルを生かせる)、テストとして利用した後で自社サーバに移すことも簡単だ。パブリックなサービスを行うだけでなく、テスト開発時に本番を想定した環境として気軽に利用できることも、AWSのメリットとなる。
さらにAWSでは、仮想OSだけでなく分散処理(Elastic MapReduce)やプッシュサービス(Amazon SNS)のサービスも提供している。この点について小島氏は、「AWSはもはやPaaSやSaaS、IaaSといった切り口では表現できないし、Amazon自身も何にカテゴライズされるかは気にしていない。ユーザーにどんなニーズがあるか、それをどうやって提供するかということだけを考えている」と、クラウド業界をけん引する企業として、貫禄を示した。
これまで米国内での利用が中心という認識もあったAWSだが、今後はデータセンタ増強やコミュニティ支援など、アジア地域での展開も積極的に行うとした。
提供:アドビ システムズ株式会社、マイクロソフト株式会社
アイティメディア営業企画/制作:@IT 編集部
掲載内容有効期限:2010年11月19日
@IT リッチクライアント カンファレンスVI イベントレポート インデックス |
|
「クラウド時代のRIA開発は「スピード」「持続性」「安全性」が重要」― 基調講演 | |
「クラウドとRIAをつなぐAndroidの開発環境を整える」― アドビ システムズ | |
「RIAとクラウド、開発環境までをトータルで提供」― マイクロソフト | |
「クラウドの本質は技術ではなくビジネスの変化にあり」― 特別講演 |