J2EEは、エンタープライズアプリケーションの設計と開発の迅速化およびコスト削減を実現するために、コンポーネントベースの設計・開発そして配置などのアプローチを提供している
J2EEテクノロジの構成要素は、プラットフォーム仕様・リファレンス実装・J2EE BluePrints・互換性テストツールである
プラットフォーム仕様は、J2EE APIの最小機能セット、およびベンダが提供する必要のある企画が記述され、ベンダはこれらのAPIおよび機能を独自の手法で実装できる
リファレンス実装は、サンプルアプリケーション、ツールおよびドキュメントを含む、規格に準拠しているJ2EEプラットフォームを提供する
J2EE BluePrintsは、J2EEアプリケーションの構築方法が記述されている設計ガイドである
互換性テストツールは、J2EEの機能セットを使用して作成したコンポーネントにおけるコードの可搬性を保証する
J2EEプラットフォームでは、複数層分散アプリケーションモデル・コンポーネントの再利用性・XMLに基づいたデータ交換・セキュリティモデル・コンポーネントの再利用・トランザクション制御などを提供する
複数層とは、クライアント層・中間層(ウェブ層・EJB層・統合層)・バックエンド層から成る
J2EE BluePrintsにしたがって、プレゼンテーション層・ビジネス層・統合層のパターンに分類される 分散アプリケーションモデルにおける中間層に対応
J2EEパターンを使用してシステム設計を行う場合、モジュール性・保護と公開・コンポーネントの拡張性・ロールと責任・契約・プラグイン可能な動作・パフォーマンスを実現できる
プレゼンテーション層・ビジネス層との依存性を軽減する
EJBの検索や接続の詳細などをカプセル化する(+Proxy) LookupServiceを使用してEJBの検索や接続を行う機能を実装できる ビジネス層のサービスをクライアント毎にカスタマイズできる(+Adapter) キャッシュを行いネットワークパフォーマンスを向上できる
統合層で用意されているパターン データベース固有のコードを分離し、ベンダに依存させないようにカプセル化する DataSourceに対してDataAccessObjectで隠蔽する ValueObjectを使用しデータを保持する
EJBのCMP(Container Managed Persistency)の場合は、コンテナにより透過的なデータ操作が可能なため不要
ネットワークを使用して情報のやりとりを行う分散アプリケーションやEJBのネットワークでのオーバーヘッドを軽減するため
ネットワークでの利用を考慮しシリアライズ可能である必要がある(方が望ましい)