« オブジェクトをforeachで反復処理 | メイン | CSSでタブをつくってみる »

Javaでマッシュアップする!はてなブックマークに追加 livedoorクリップに追加 Yahoo!ブックマークに追加 del.icio.usに追加 イザ!ブックマーク ニフティクリップに追加

 突然ですがJavaってマッシュアップに向いてないと思っていませんか?

 こんにちは、つくるぶガイドブログ Javal担当の(株)エーティーエルシステムズ エンタープライズ・アーキテクチャ・ユニットです。担当で唯一のチームなのでちょっと長いです。

 さて、確かにJavaはエンタープライズ向けの言語です。ですが、マッシュアップ・アプリケーションを作ることだってできます。むしろJava言語の良さを活かして簡単にマッシュアップすることができます。

 Javaカテゴリでは普段Javaを使って開発をしている方を対象にマッシュアップアプリケーションを作る方法を紹介していきたいと思います。

 業務でStruts使ってるから、Strutsアプリケーションは作れるけど、Ajaxを利用したアプリケーションは敷居が高いなぁ、とおもっていたりするJavaエンジニアが対象です。

StrutsとAjaxアプリケーション

arch-old.jpg

 上図のようにリクエストをActionクラスで処理し、ビジネスロジックを実行、JSP(HTML)でレスポンスを返すというようなよくあるStrutsアプリケーションは現在のWebアプリケーションのアーキテクチャにそぐわなくなってきています。

というのも、Strutsはリクエストのたびに画面全体を再描画することが前提となっていますが、Ajaxではリクエストの単位は画面上のある部品に対する動的変化を目的とするためです。

例えば、ユーザ情報の入力フォームで郵便番号から住所を検索するような場合に、Ajaxアプリケーションなら住所の項目のみを再描画できますが、Strutsアプリケーションでは画面全体を再描画することになってしまいます。

 また、Strutsのレスポンスは通常はHTMLを出力するのに対し、AjaxでのレスポンスはJavascriptで扱いやすいJSON、XMLのデータ構造を主に使うためです。


 とはいえ、Ajaxアプリケーションへ改良したとしても、既存のコードがすべて使えなくなるわけではなくフロント部分であるStrutsを置き換えるだけでビジネスロジック部分は再利用することが可能です。

 置き換える作業もわずらわしい手順を踏まなくても比較的簡単にStrutsが担当していたView部分を今風なAjaxアプリケーションへ代えることが可能です。


 次回より一般的に使われているStrutsNonAjaxWebアプリケーションをAjaxと他のWebAPIを利用した魅力的なWebアプリケーションへ改良していく流れを追って行きます。お楽しみに♪