• 検索結果がありません。

Java EE 6で再考されるべき

ドキュメント内 スライド 1 (ページ 37-43)

アプリケーション設計パターンの考察(2)

Java EEのトラディショナルなソフトウェア構成(1)

 Java EEアプリケーションのトラディショナルなソフトウェア構成

… 3ティア構成(3階層構成)

プレゼンテーション層

JSF(またはその他のWebフレームワーク)

ビジネス層

EJB

データアクセス層

JPA

Java EEサーバ(コンテナ)

プレゼンテー ション層

ビジネス層 データ

アクセス層 クライアント

データベース

依存関係

EJB JPA

JSF

Java EEのトラディショナルなソフトウェア構成(2)

 3ティア構成のメリット

大規模なアプリケーション開発において、分業がしやすくなる。

各ティアが疎結合となっているため、相互に影響しにくい。

 入出力項目の名前に変更があっても、ビジネス層に影響が及ばない。

 データベースのカラムに変更があっても、ビジネス層に影響が及ばな い。

再利用性・拡張性が高い。

 複数のプレゼンテーション技術に同時に対応できる。

※PCとモバイルなど

 新しいプレゼンテーション技術が登場した場合、容易に対応できる。

Java EEのトラディショナルなソフトウェア構成(3)

 3ティア構成の課題

構成が複雑になりやすい。

各ティアを疎結合にするためには、ティアとティアをつなぎ合わせるため の“グルーコード”が必要。

※例えば受け渡し用のオブジェクト(DTO)を作成し、値をコピーする必要 がある。

コード量が非常に多くなる。

 3ティア構成に対する問題提起

必ずしも分業が必要なほど、大規模なアプリケーションばかりではない。

アプリケーションのライフサイクルの中で、本当に「プレゼンテーション 層を入れ替えること」があるのか。

Java EE 6におけるソフトウェア構成

 ティア分割を意識しないソフトウェア構成

Java EE 6では、

 CDIによって、各コンポーネントモデル(JSF、EJB、JPA)がシームレ スに連携できるようになった

 パッケージングが見直され、EJBクラスを直接WARファイルにパッケー ジング可能になった

受け渡し用のオブジェクト(DTO)は不要になり、ティア分割を意識しない ソフトウェア構成が実現可能に(Ruby on Railsのイメージ)。

Java EEサーバ(コンテナ)

クライアント

データベース JSF

JPA EJB

まとめ~Java EE 6におけるソフトウェア構成

 Java EE 6時代のソフトウェア構成

“ティア分割を意識しない構成“は、3ティア構成に比べて以下のような メリットがある。

 コード量が少なくなる。

 構成がシンプルになる

☆ Java EE 6では、3ティア構成と“ティア分割を意識しない構成”を、

アプリケーションの特性や規模に応じて選択可能となる。

ドキュメント内 スライド 1 (ページ 37-43)

関連したドキュメント