JavaとJavaEEプログラマのブログ

JavaEEを中心にしたをソフトウェア開発についてのブログ

昔のJavaEEアプリとJavaEE6アプリの個人的な比較イメージ。

"継承"を使いこなすのがオブジェクト指向の神髄といった、今から思えば妙な流行があったのせいか、EJB2.1やStrutsなど"継承"を中心にしたモデルやフレームワークが人気を誇った。
しかし、"継承"を中心としたモデルは以下の理由で破綻。

    • 設計が難しい
    • 実装も難しい
    • 修正も難しい
    • 使いこなしや教育も難しい("継承"を理解せずに、「おまじないだと思って、このクラスを継承する」と言うプログラマが激増した)
    • 継承関係の正しさを確認出来るテストケースを書きにくいのでテスト駆動で開発しにくい。

これらの反省に基づいてDIコンテナーを使った"委譲"を中心にしたモデルやフレームワークが開発され、次の理由で大いに人気を博す。

    • テストケースを書きやすい。
    • 実装しやすい
    • 修正も容易。
    • よって、アジャイルに開発を進めやすい。
    • 分散化や疎結合がやりやすくなり、Webと相性が良くなってきた感じ

これらの利点を標準として、まとめたのがJavaEE6。

  • JavaEE6アプリ

JavaEE6アプリを構成するビジネスロジックを作成し呼び出すために、特定のクラスを継承したり使用する必要は無い。
使用したいクラスをフィールドに宣言すれば、CDIがそのクラスのインスタンスをフィールドに自動で設定する。

JavaEE6はその生産性の高さでStruts系を殲滅↓
ニュース - 「Java EE 7はクラウド環境に向いた機能を追加」、日本オラクルが説明:ITpro

 日本オラクルが開発フレームワークの利用状況について調査した結果では、日本ではMVCフレームワークApache Strutsが人気で、Java開発者の33%が使っているという(Java EEは24%、Spring Frameworkは23%)。ところが世界では、Strutsを使っているユーザーは、「Eclipse Community Survey 2012」によると、Struts 1.xで1.3%、2.xで1.3%と低い。「外部フレームワークからJava EEへの回帰がトレンドになっている」という。