Struts (リンク)は Java サーブレットや JavaBean 、リソースバンドル、XML といった標準的な Java 関連技術をベースにした Java のフレームワークである。Java 開発者は長い間、堅牢なサーバサイドフレームワークとして Struts を利用している。最近、Adobe Systems のテクニカルエバンジェリストである Anirudh Sasikumar 氏が、Flex を Struts のフロントエンドとして統合した新しいソリューションを開発した。彼はそれを FxStruts(リンク) と名づけ、特徴を次のように説明している。
FxStruts は無償のオープンソースライブラリで、bean:write タグと同じ機能(ただし AMF か XML 形式で出力される点が異なる)を提供している。プレーンな Java オブジェクトなら何でもよいので渡してやれば、Flex フレンドリな AMF か XML の出力が得られる。ActionErrors とトランザクショントークンのサポートもついている。
Sasikumar 氏は Web アプリケーションの開発と密接に関わってきたこともあり、FxStruts の開発に意欲的だ。彼は次のように述べている。
Web アプリケーション開発はやりにくい仕事だ。最初、単純な JSP を使ったものを作るが、しばらくするとその Web アプリケーションは、JSP タグと HTML マークアップとサーバサイドコードがごちゃまぜになったタグの山と化してしまう。そして開発者は、もっとまとまりのよい開発方法が必要だということにすこしずつ気付き、MVC や Struts、Spring などを学ぶようになる。
FxStruts は MVC アプリケーションのビューを Flex に切り替える際に生じる問題を解決するように作られている。Saikumark 氏が言うように、ビューレイヤを一旦 Flex に切り替えたら、Struts を使いながらモデルからデータを取得するのはむずかしくなる。FxStruts はこの部分を簡単にするために開発された。
Saikumark 氏は Struts MailReader アプリケーション(リンク)を Action クラスに一切変更を加えることなく Flex を使ったユーザインタフェース( UI )へと切り替えるという FxStruts のデモを行っている。行った変更は新しい JSP と struts-config.xml のマッピングの追加だけだ。
FxStruts は、興味がある人のために、ASL 2.0 ライセンスの taglib 部分と、LGPL 3.0 ライセンスの AMF/XML シリアライゼーション部分に分けられ、Google Code(リンク) で公開されている。Flex コンポーネントの HTTPAMFService は MPL 1.1 ライセンスだ。
Struts MailReader アプリケーションの Flex バージョン( WAR 形式)は、Google Code から取得できる(リンク),。本格的な機能をそなえた Flex アプリケーションを Struts 上に開発するために必要なステップに焦点をあてたチュートリアル付だ。インストール方法や既存の Struts アプリケーションをどのように Flex へと移行すればよいかをしるしたドキュメントも準備されている。