RIAテクノロジーが成熟してくるにつれ、RIAとサーバサイド テクノロジーとの統合に対するニーズが高まっている。We Are MammothのX2Oフレームワーク(リンク)はこのようなFlex向け統合ソリューションの一つである。InfoQはWe Are Mammoth(リンク)のパートナー、Ka Wai Cheung氏と話し、いかにX2OフレームワークがFlexベースのRIA開発に適しているか聞いた。
InfoQ: X2Oフレームワークとはどのようなものですか?
Cheung氏: X2OはAdobe Flexアプリケーション用につくられたWebベースのデータモデリング プラットフォームで、データベース駆動型のFlexアプリケーションをサーバサイドのプログラミングや設定なしで素早く構築できます。
またX2Oでは、ユーザは自身のデータベースの作成、ストアドプロシージャのビルド、サーバサイド コードの記述、またAS3コードのデータサービスへの統合すら必要ありません。これらはすべてX2Oにより生成されます。
その代わり、ユーザはデータモデルを作成し、思い通りに環境を設定してフレームワークを生成できます。ユーザはFlexアプリケーションの構築を直ちに開始するために必要なコードやツールを入手できます。具体的に言うと、データを管理するためのセキュアなCMS、ユーザのデータモデルに応じたクラスのAS3 SWCファイル、および完全なドキュメンテーションが入手可能です。X2Oはバリューオブジェクトを作成しますが、そこには基本的なCRUDメソッド、リレーションシップ、およびX2Oプロジェクトの設定状態に基づきさらにカスタマイズされたロード メソッドが含まれます。
これはすべてWeb上で行われるため、いかなるインストールも必要としません。生成されたSWCライブラリをFlexプロジェクトに投入するだけで準備は整います。ユーザはデータモデルの修正や再生成を必要なだけ行うことができ、X2Oは驚くほどアジャイルなプラットフォームとなっています。
InfoQ: X2Oフレームワークをつくった理由、およびX2Oにより補足しようとした不足箇所について聞かせてください。
Cheung氏: Flex RIA開発の重要な問題点の一つに、広範囲な知識が必要とされる点があります。開発には、データベース、サーバサイド言語(PHP、Ruby、C#など)、クライアント・サーバ統合(リモーティング、Webサービス、あるいはSOAP)に詳しい人物が必要となります。さらにAS3/MXMLの記述、およびMVC/Cairngormなどのアーキテクチャの構築が必要なのは言うまでもありません。
X2Oは通常、複数の開発者が手動で構築するのに数日から数週間かかるようなあらゆる冗長なサーバサイド プログラミングや統合化を処理することで、Flex開発プロセス全体の効率化をはかります。この効率化により、Flex開発者はデータがどのように構成されているか完全にコントロールしながら、Flexにのみ注力できます。
基本的に、X2OによりFlex開発者はこれらのいかなる言語にも精通する必要のなかったサーバサイド開発者と同様のフィールドで作業することができます。
さらに、X2Oは完全なWebベースとなっているため、Flex開発環境以外にいかなるインストール、あるいは設定作業も必要ありません。2つ目に補足すべき点があるとすれば、それはX2Oをクラウド プログラミングを用いた迅速なFlex開発と統合することでしょう。
クライアント・サーバとFlexとの統合がよりシンプルになる必要があるのは確かです。こちらにリストされているWebORB for Railsプラグインは大変興味深いですが、X2Oをさらに特徴付けているのは、いかなるサーバサイド コードへの作業や統合化も必要としない点です。X2O 開発者に必要なのは、Flex環境でデータの入出力を行うためのコードを記述することだけですが、データモデルへのフルコントロールは持ち続けます。
InfoQ: X2Oのアーキテクチャはサーバサイドでどのように見えるのでしょう?
Cheung氏: X2Oプロジェクトのサーバサイド部分は、開発者には決して公開されません。それはすべて、遠隔的にバックグラウンドで実行しているためです。とは言え、一言で言えば、X2Oはデータベース、ストアドプロシージャ、データアクセス レイヤ、Webサービス レイヤを生成します。SWCファイル(開発者がダウンロードしFlexプロジェクトに投入することになるファイル)は直接Webサービス レイヤに組み込まれます。開発者はSWCファイル内のバリューオブジェクトのメソッドを呼び出すだけでよく、残りの部分は既にプログラムされています。また、われわれはクライアント・サーバ間におけるすべてのリクエスト、およびレスポンスの暗号化も行っています。
先に述べたように、セキュアなCMSやドキュメンテーションも生成されます。これらは独立したWebサイトとしてサーバ上で実行されます。
InfoQ: X2Oの開発に使用されている技術にはどのようなものがあり、またどのように使われていますか?
Cheung氏: X2Oのインフラは.NET.で作られているため、われわれは現時点で、SQL Server 2005および.NET 2.0 を使用しています。また、オープンソースFlexフレームワークを通じてASDocsを生成しています。
InfoQ: X2Oを用いた一般的なユースケースにはどのようなものがありますか?
Cheung氏: X2Oはいかなるデータベース駆動型のFlexアプリケーションにも対応する実行可能な選択肢です。弊社、We Are Mammothではこの2年間、静的コンテンツをもつマイクロサイトから多くのビジネスロジックを伴うデータ量の多い対話的なアプリケーションに至るまで、あらゆる開発にX2Oを使用してきました。
また、X2Oはプロトタイピングにも非常に有効です。通常、Flexのプロトタイピングは効率がよいとは言えません。それは、「実」バージョンの開発が始まると、ほとんどのプロトタイプは使い捨てのコードになるためです。X2Oでは、データモデルを数分で開発でき、リアルに管理されたデータをFlexへ直ちに統合することができます。これにより、プロトタイプから実アプリケーションへスムーズな移行が可能です。
InfoQ: X2Oは無償ですか?また、どのようなリリースプランがありますか?
Cheung氏:現在、X2Oはベータ版で公開されており、ベータ期間中は無償です。この期間、開発者はサインアップすることで、プロジェクトの作成が2つまで可能であり、X2Oの動作に慣れることができます。
われわれは、来るX2Oのフルリリースを2009年に予定しています。おそらく、無償バージョン(ベータ版に似た)および段階的な有償バージョンが用意されるものと思われます。有償バージョンではプロジェクトの制限や機能面で違いがあるでしょう(一例として、フレームワークの開発バージョンとライブバージョンのデプロイメントがあります)。
原文はこちらです:http://www.infoq.com/news/2008/10/x2o-framework-for-flex