クラウドコンピューティング ~ EC2、Mosso、GoGrid
クラウドコンピューティングのプロバイダーであるEC2、Mosso、GoGridの新しいユーザーエクスペリエンスと、それぞれの機能の違いについて学びます。
作者 Jon Rose, 翻訳者 佐野 徹郎 投稿日 2007年12月19日 午後6時54分
Adobeは先ごろ、WebベースのワードプロセッサであるBuzzwordを開発する、Virtual Ubiquityを買収(参考記事)した。InfoQ.comはAdobe SystemsのDavid Coletta氏とTad Staley氏に、この開発にAdobe Flexを利用することのチャレンジとメリット、そして製品の将来について詳細を聞いた。BuzzwordはWebベースのワードプロセッサで、Adobe Flexで開発されています。Buzzwordは一見、普通のワードプロセッサのようですが、Webブラウザの中で操作します。これはデスクトップのワードプロセッサによるリッチなユーザエクスペリエンスと、Webベースのワードプロセッサによるユビキタスなアクセスとコラボレーション機能を統合します。BuzzwordのプラットフォームとしてAIR/Flexを採用した経緯について。
他のオンラインワードプロセッサがリッチなエクスペリエンスに近づけないのは、HTMLとJavaScriptの限界による制約があるためです。
これは簡単なキー操作による文字間隔の微調整や、ドキュメントの改ページも完備しています。Buzzwordはまた、ドキュメント内の画像をドラッグアンドドロップで配置やリサイズするなど、簡単でパワフルな操作も提供します。Flash Player 9の大幅なパフォーマンスの向上が、このアプローチの実現を可能にしました。
Buzzwordはwww.buzzword.comでフリーで入手できます。
2005年に最初のプラットフォーム候補の評価を行ったときに、私たちが考えたブラウザベースのソフトウェアを開発するための選択肢は、.NET、Java、AJAX(HTML+JavaScript)、そしてFlash Player 8上のFlex 1.5でした。(当時、Flex 2.0はまだベータ版すらなく、Flash Player 9もまだ開発中でした)私たちはユビキティ(つまり既存のWindows、Mac、そしてLinuxの上で利用可能なプラットフォーム)、ゼロインストール、リッチテキストとグラフィックスのサポート、そしてハイパフォーマンスを必要としていました。私たちの検討したプラットフォームはいずれも、この要件を満たすことが出来ず、私たちのやろうとしていることは、ほとんど不可能に思えました。次に、Coletta氏とStaley氏はBuzzwordの開発にFlexを利用することのチャレンジについて語った。
Flex 2.0とFlash Player 9の最初のベータ版がリリースされ、利用可能になった2005年の終わりに、私たちはプロトタイプをアップデートし、Flashプラットフォームのパフォーマンスが大幅に改善されたことを知りました。Flash/FlexがBuzzwordを開発できる唯一のプラットフォームであることは、すぐに明らかとなりました。
InfoQ.comはColetta氏とStaley氏にFlexとAIRに追加したいものは何か尋ねた。私たちが遭遇した(そしてほとんど克服した)ものはかなりのチャレンジです。以下はいくつかの例です。
ひとつの重大な技術的チャレンジは、Flash/Flex環境が完全にポータブルで、異なるOSプラットフォームやブラウザで動作するとはいえ、Flashサンドボックスの(中でも完全なキーボードのサポートやリッチテキストのクリップボードに)いくつかの制限があり、ブラウザのJavaScriptを利用して対処しなければならないことです。JavaScriptを利用することでたくさんのブラウザのサポートを強いられると、サポートするブラウザのポイントリリースに追従することが難しくなり、大抵はFlashの持つユビキティを損なうことになります。さらに、Buzzwordの画面と競合するブラウザのツールバーやメニューバーは、Buzzwordから合理的な編集のアプローチを奪います。幸いなことに、Adobe AIRプラットフォームは、キーボードイベントやシステムクリップボードへのダイレクトアクセスを提供することで、ブラウザ内の制限を克服でき、またウィンドウをフルコントロールすることもできます。
もうひとつの技術的チャレンジは、バックグラウンドのスレッドを使わずに、Buzzwordのユーザインタフェースの応答性を維持することです。Flexの開発に用いるプログラミング言語、ActionScript 3は、基本的にシングルスレッドで、すべてのネットワーク操作に非同期の完了機能が必要です。処理に時間のかかるバックグラウンド操作をスレッドを分離して実行するのは、ユーザインタフェースの応答性を維持するための一般的な方法ですが、私たちはそれができないので、時には不恰好で実装や保守の難しい別の方法が必要です(しかしマルチスレッドプログラミングを正しく行うことが難しいのはよく知られているので、この制限は悪いことばかりではありません)。
デザインの先端で、ビジュアルエフェクトの使い方の、単純さと賢明さとの間の正しいバランスを見つけることはチャレンジなことです。FlashとFlexはアニメーションとトランジションを選択するとても豊富なパレットを提供しますが、ひとたびアプリケーションのユーザインタフェースの一部にアニメーションを導入すると、アプリケーション全体でどのようにビジュアルエフェクトを使うかを考えなければならなくなります。同様に、ビジュアルの革新性と一貫性との間の正しいバランスを考えながら、Buzzwordのフォーマッティングツールバー、ドキュメントスクロールバー、およびコラボレーターバーのような重要なインタフェースデザインのいくつかを導入することができます。
Coletta氏とStaley氏はFlexやAIRの導入を検討している人に以下のようなアドバイスを提示してくれた。FlexとAIRには改善できるところがいくつかありますが、必要な制約の多くを克服することはとても難しいでしょうから、望んでも無駄かもしれません。ひとつの実用的で現実的な要求として、実行時にActionScriptのコードをコンパイルできれば便利でしょう。
あなたが優れた人材を求めているなら、FlashやFlexのバックグラウンドをあまり気にしないでください。それよりも、きちんとしたオブジェクト指向開発のバックグラウンドと、Java、C++やC#などの言語経験のある人を雇いましょう。彼らはActionScript 3やEclipseベースのFlex Builder環境を、とても快適で使い慣れたものだと感じるでしょう。
次にColetta氏とStaley氏は、Adobeの買収について語った。
Coletta氏とStaley氏はBuzzwordの将来について語った。Buzzwordのビジョンの重要な部分は、Web上でエレガントなユーザエクスペリエンスを提供することだったので、Flashプラットフォームにデプロイされるアプリケーションの開発環境として、AdobeのFlexを評価し、選択することになりました。
新しく発表されたApollo(現在のAIR)の初期バージョンを含む、それらのプラットフォームでBuzzwordチームが行った仕事をAdobeが見て、2006年の終わりにVirtual Ubiquityは、Adobeのベンチャーファンドの最初の受け手になりました。
Buzzwordチームは込み合い、混沌とした新しいマーケットに取り組むには、既存のソフトウェア企業と協力して安定感と、効果的にBuzzwordを売り出すためのマーケットエクスポージャを手に入れる必要があることに気がつきました。
Adobeを選択したのは、すばらしいFlashプラットフォーム上でBuzzwordを開発するためだけでなく、BuzzwordがAdobeのすばらしいデザインやドキュメントにとてもよく適合することからも、当然のことでした。私たちはAdobeに本当の変化をもたらすことができ、さまざまな方法で彼らを支援できると思います。Adobeには今後、いくつかのエキサイティングな計画があります。そしてBuzzwordは、Webアプリケーションやコラボレーションの領域で存在感を増しつつあるAdobeの中で、重要な役割を演じる準備ができています。買収に関する更なる情報は、Adobeのサイトをチェックして、プレスリリースやFAQを見てください。
BuzzwordはAdobe Flexで開発された真のリッチインターネットアプリケーションのすばらしい見本を提示する。Coletta氏とStaley氏、およびBuzzwordチームの体験は、RIAの展望を評価する助けになるだろう。Buzzwordはワードプロセッサとして発展を続けます。私たちは変更のトラッキングや名前付きスタイルのような領域で、いくつかのすばらしいデザインと革新を実装したいと考えています。私たちはBuzzwordオンラインを提供しているので、定期的にアップデートを行うことができます。もうすぐ私たちは、6~8週間のアップデートサイクルを確立するでしょう。
私たちはまた、近い将来に、PDFのエクスポートをサポートするつもりです。これはAdobeによる買収のニュースが公になるより前に、私たちのユーザから聞こえてきた要求です。
私たちはAdobeの一員として、多くの領域にBuzzwordを広げたいと考えています。はじめは当然、AIRプラットフォームです。それはオフラインでの利用を可能にするだけでなく、(ブラウザに邪魔されることのない)よりクリーンなユーザインタフェースを提供し、デスクトップとの統合にも近づきます。
AIRのさらに先、Adobeのコラボレーションプラットフォームと、そこで動作する新たなアプリケーションは、豊富な機能の資産によってBuzzwordをうまく補完し、オンラインでコラボレートするためのすばらしい環境を提供するでしょう。
クラウドコンピューティングのプロバイダーであるEC2、Mosso、GoGridの新しいユーザーエクスペリエンスと、それぞれの機能の違いについて学びます。
パート2では、ベンチマークの結果を検証するために用いられるテクニックについてさらに深く見ていきたいと思います。最後に、「なぜプロセッサが異なるとロックのコストも大きく異なるのか」と言う真の疑問に答えます。
本稿では、Stefan Tilkov氏が「RESTful」な設計であると主張するアプリケーションに見受けられる最も一般的なアンチパターンのいくつかについて説明し、それらを避けるための方法を提案しています。
Sven Efftinge氏、Peter Friese氏とJan Köhnlein氏が、MDDを取り入れて成功した経験から、ベストプラクティスの解説を行います。
Our panel of leading experts explores some of the challenges and thought processes that go into making their apps as scalable and performant as possible.
この記事は、Spring 2.5で導入されたアノテーションを探究する3部作の第2弾です。Web層におけるアノテーションのサポートを扱います。最後の論文では、統合と検査で利用できる追加機能を説明する予定です。
私は「浴衣」を着てパーティーに参加したことで、たくさん声を掛けていただけました。 そこで感じたことは、このカンファレンスが人との繋がりを生み出し、また言葉の壁を越えて積極的に交流する場所であることです。民族衣装はそれらを助けてくれるものでした。きっとこの交流が、新たなムーブメントをアジア圏の仲間たちにも与えてくれると確信しています。
No comments
返信