BT

Clear ToolkitがFlexとJavaによる開発の橋渡しとなる

| 作者: Jon Rose フォローする 0 人のフォロワー , Moxie Zhang フォローする 0 人のフォロワー , 翻訳者 渡辺 裕之 フォローする 0 人のフォロワー 投稿日 2009年3月16日. 推定読書時間: 7 分 |

2月24日、Farata SystemsはAdobe FlexとJavaを使ってエンタープライズ向けリッチ・インターネット・アプリケーション(RIA)を開発するためのフレームワークである同社のClear Toolkit(リンク)をオープン・ソース化する手続きを開始したことを発表した。InfoQでは、Farata Systemsの3名の共同経営者の一人であるYakov Fain氏とClear Toolkitについて話をした。

Fain氏はClear Toolkitを開発した理由から説明を始めた。

多くのエンタープライズ・プロジェクトに携わっている際、私達は手動でプログラミングする量を最小化したいと考えました。そこで開発者のためにありきたりで繰り返しの多い仕事を自動化することを試みました。例えば、もしあなたがデータベースを扱うJavaプログラマだとしたら、恐らく結果セットを処理する似たようなJDBCコードの断片を書き続けていることでしょう。私達はXSLテンプレートを調べ、メタデータを研究してSQLのSelect句を扱うような処理をするJavaの完璧なソースコードをどのようにしたら自動生成することができるのか見つけ出したのです。その後さらにAdobe Flexによるフロント・エンドを生成するためのテンプレートを追加しました。今日では、Flex/JavaによるCRUDアプリケーションを生成するのはほんの数分のこととなりました。さらに私達はFlexプロジェクト用のAntスクリプト・ジェネレータ、使い易いロガー、そして手書きのコードを最小化する強化版のFlexコンポーネントの数々も作成しました。

Clear Toolkitを使う典型的なケースとClear Toolkitが解決する問題について訊いたところ、Fain氏は以下のように続けた。

まずClear Toolkitはエンタープライズ向けのFlex/Javaプロジェクトを開始する際に使うことが出来ます。そして私達の優れたFlexコンポーネントはユーザによるデータの変更を追跡するのを容易にしたり、データ・グリッドやフォームの扱いをもっと便利にしたり、たまにしか接続をしないAdobe AIRアプリケーションのデータ同期を自動化したりします。さらに私達は、Flash Playerが搭載されたWebブラウザ以外を必要とせずにエンドユーザが自ら独自のレポートを作成することが出来る、素晴らしいWebレポート・ツールであるClearBIも扱っています。ClearBIは今年後半にオープン・ソース化されるでしょう。

Fain氏によると、現在Clear Toolkitは下記の要素を含んでいる。

  • Clear Data Builder。SQL句またはJavaのDTOに基づくBlazeDSあるいはLCDS向けのCRUDアプリケーションを自動生成するEclipseのプラグインである。
  • DTO2Fx。これはJavaのクラスに対応する適切なActionScriptのクラスを自動生成するプラグインである。
  • Log4FxはFlex logging API上に構築されたEclipseプラグインであるがロギング処理を自動化し、より柔軟でよりユーザが扱い易いようにしている。
  • Fx2AntはFlex Builderプロジェクト向けに最適化されたANTビルド・スクリプトを生成するプラグインである。
  • clear.swcは拡張したFlexコンポーネントのライブラリである。

Fain氏は以下のように説明した。

ほとんどのClear Toolkitコンポーネントは好みに応じて使うことが出来るので、これらのコンポーネントはたいていのFlexプロジェクトで重宝されるでしょう。高度なロガーが必要なだけならば、Log4Fxだけを使えばいいでしょう。もし強化版のデータ・バリデーション・クラスやフォーム処理が必要ならプロジェクトのビルド・パスにclear.swcを追加すればいいでしょう。もしまだSQLを使っているのであれば、Clear Data Builderを使ってCRUD機能を生成すればいいでしょう。そうでないのであれば、JavaのDTOを作成して、UIレイヤで行われたデータの変更内容をサーバと通信する機能を含む、Flexのフロント・エンドを全て生成してしまいましょう。Clear Toolkitは様々な理由によりAdobeの商用版のLive Cycle Data Servicesではなくオープン・ソース版のサーバサイド・コンポーネントであるBlazeDSを採用することを決めた顧客の役に立ちます。私達はBlazeDSは強固でよく設計されたコンポーネントであり、とても重要なエンタープライズ・アプリケーションに使うことが出来ると考えています。

Clear Toolkitのオープン・ソース化についてFain氏は以下のように述べた。

過去二年間、私達はClear Toolkitのコンポーネントを www.myflex.org.で無償で提供してきました。しばらくしてから、私達の会社は確かに優秀なソフトウェア技術者を雇ってはいるものの、人数は限られているので何百という開発者の頭脳を集めたものに勝てる訳がないということに気が付きました。私達はとても多くのコードを書き、Clear Toolkitは銀行を襲う(ような大袈裟なことをする)ことなくRIAを開発するための強固な基盤となりました。Clear Toolkitをオープン・ソース・プラットフォームの選択肢とするのに参加すべく私達は世界中からFlexとJavaの開発者を受け入れました。

Fain氏は以下のように付け加えた。

いまやオープン・ソースのプロジェクトなので、私に言えるのはFarata Systemsが2009年に貢献出来る内容だけになります。
 

  • AIR/BlazeDSアプリケーションにおけるデータの同期に関するソリューションについてドキュメント化する。既にデモ・アプリケーションを開発し近日中に発売する予定のO'Reilly本、Enterprise Development with Flex にこのソリューションについて記述していますが、今はこれを製品用のドキュメントとして変換しているところです。
  • Flex UIコンポーネントを拡張してクライアント側でPDFを生成できるようにする
  • Clearコンポーネント・ライブラリ(clear.swc)に含まれるクラスのドキュメントを用意する
  • Webレポート・ツールのClearBIをオープン・ソース化する
     

Fain氏がInfoQに述べたことに加えて、InsideRIAにおける中心的なフレームワーク・コンポーネントの概要を提示した(リンク)。クライアント・サーバ型に似たアーキテクチャでデータの同期問題に取り組んだことがある人であれば、このフレームワークで最も興味をもつ機能はクライアント側で行われたFlex上の変更を追跡し、サーバ側のJavaと同期化される機能だろう。

もしLCDSを使い慣れているのなら、Data Management ServicesがChangeObjectを使っているということを知っているでしょう。ChangeObjectとはサーバとクライアントで行われた変更を互いに伝播するために使われる特殊なDTOです。私達のコンポーネントにも同様のオブジェクトが含まれていますがLCDSのみならずBlazeDSでも利用できます。
...

DataCollectionクラスは自動的にUIで行われた全ての変更を追跡し、関係するChangeObjectのコレクションをサーバ側に送信します。
...

ユーザが変更内容をサーバに送信する準備が出来たら、以下の一行でChangeObjectのインスタンスのコレクションがサーバに送信されます。collection.sync();

 

Clear ToolkitはMITライセンス下で提供されているので、元々の作成者がFarata Systemsであるというコメントを残している限りは私達のコードを自由にアプリケーション内で使えるということである。最新のビルド及びClear Toolkit 3.1のソースコードはhttp://sourceforge.net/projects/cleartoolkit/に置いてある。現在のドキュメント、デモ、ユーザ・フォーラム、そしてバグ・トラッキング・システムも同じサイトで公開されている。

原文はこちらです:http://www.infoq.com/news/2009/03/clear-toolkit-for-flex-java

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT