Java EEの進化を取り込んで保守性と生産性を高めよ!--Javaシステムでの“モダナイゼーション”の在り方

森英幸
2013-05-23 16:01:00
  • このエントリーをはてなブックマークに追加

Java EEへの移行で重要となるDRY、JSF、CDI

 以上のようにJava EEの採用メリットを説明した上で大橋氏は、Java EEを使ったシステム開発における、3つの重要なキーワード「DRY」「JSF」「CDI」について解説した。以下、各キーワードについて要点を簡単に紹介しよう。

DRY

 J2EEスタイルで開発された既存のアプリケーションもJava EEでも動くが、その場合は標準フレームワークとサードパーティフレームワークで機能を二重持ちすることになる。

 DRY(Don't Repeat Yourself)は、こうした機能の重複を排除し、プラットフォームをシンプル化しようという考え方だ。アプリケーションを標準APIベースに書き換えることになるが、Java EEのEoD機能を活用すれば、コード量を削減することが可能であり、これを機にコンポーネント化を促進してテストをしやすいコードに生まれ変わらせることもできる。こうしてコード自体のメンテナンス性を高めると同時に、メンテナンスが必要なコード資産を適正化することで、保守コストを削減することが可能になるという。

 DRYを適用してシステムのシンプル化を図る際には、Java EEのロードマップを見据えて、対応を考える必要があると大橋氏は言う。

 「たとえば、もうすぐJava EE 7でBatch Applicationが標準搭載されますが、Java EE 6にはバッチ機能がありません。バッチ機能が必要なアプリケーションを開発する場合、将来的にはJava EEの標準機能を使うとしても、それまでの対応を検討して、あらかじめ移行計画を立てておく必要があります」(大橋氏)

JSF

 「JSF(JavaServer Faces)」は、Java EE 5から搭載されているウェブフレームワークだ。このJSFを活用することが上のDRYを実践するうえで一つのキモとなるという。

 ウェブフレームワークとしては、「Struts」がJ2EEの時代から広く使われているが、基本設計が古く制約も多い。そして、開発元のApache Software Foundationは、この4月にStruts 1のサポート終了を正式に発表している(Struts 2は開発継続)。今後はセキュリティフィックスも提供されなくなるため、Struts 1ベースのアプリケーションを運用している企業は、対応策に苦慮していることだろう。

 「いずれStrutsから離れなければならないなら、今こそJSFに移行すべきだ」と大橋氏は主張する。同じウェブフレームワークといっても、Strutsはアクション駆動型であり、一方のJSFはコンポーネントベースである。このコンポーネントベースの開発スタイルにより、開発生産性を向上させることができるという。

 「JSFでは、画面上にGUI部品を配置して、Javaのクラスのフィールドやメソッドをマッピングするといったスタイルで開発が行えます。しかも、Strutsで必要だったHTTPリクエストのハンドリング処理を記述する必要は一切ありません。開発も楽になりますし、HTTPの要素が入ってこないので単体テストも自動化なども容易です。コンポーネント単位での再利用も可能になります」(大橋氏)

JSFに移行することで開発生産性の向上が図れる
※クリックすると拡大画像が見られます
このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]