J2EEデザインパターン

[cover photo]
  • William Crawford, Jonathan Kaplan 著、有限会社 福龍興業, 佐藤 直生 監訳、木下 哲也 訳
  • 2004年03月 発行
  • 404ページ
  • 定価3,990円
  • ISBN4-87311-178-1
  • 原書: J2EE Design Patterns

オライリー・ジャパンで書籍を購入:


効率的で美しいアプリケーションを設計するためには、複雑な仕組みを抽象化、単純化するデザインパターンの利用が不可欠です。開発アプリケーションが大規模になるほど、そして複雑になるほど、その恩恵も大きくなります。本書はJ2EEに特化したデザインパターンの解説書です。拡張性、柔軟性、そしてパフォーマンスに重点を置いた新しいデザインパターンを多数紹介するだけでなく、実際にどのように適用すればよいのか、多くのサンプルコードを例示しながら、J2EEアプリケーション開発の極意を説いています。J2EE開発者の座右の書となる決定版です。

監訳者まえがき
はじめに

1章 Javaエンタープライズデザイン
        1.1 デザインパターン
                1.1.1 パターンの分析
                1.1.2 パターンの提示
        1.2 J2EE
        1.3 アプリケーション層
                1.3.1 コンポーネントベースの開発
        1.4 主要な開発コンセプト
                1.4.1 拡張性
                1.4.2 スケーラビリティ
                1.4.3 信頼性
                1.4.4 適時性
                1.4.5 以降の章では

2章 UML
        2.1 UMLの起源
        2.2 『荒野の7人』
        2.3 UMLとソフトウェア開発ライフサイクル
        2.4 ユースケース図
        2.5 クラス図
                2.5.1 クラス間の関係
                2.5.2 クラス図を使用したパターンの記述
                2.5.3 オブジェクト
                2.5.4 パッケージ
        2.6 相互作用図
                2.6.1 シーケンス図
                2.6.2 コラボレーション図
        2.7 アクティビティ図
        2.8 配置図

3章 プレゼンテーション層のアーキテクチャ
        3.1 サーバサイドのプレゼンテーション層
        3.2 アプリケーション構造
                3.2.1 MVC(Model-View-Controller)パターン
                3.2.2 J2EEにおけるMVCの使用
        3.3 中核コントローラの構築
                3.3.1 Front Controllerパターン
                3.3.2 フロントコントローラサーブレット
                3.3.3 Decoratorパターン
                3.3.4 フロントコントローラの装飾

4章 高度なプレゼンテーション層デザイン
        4.1 Webアプリケーションにおける再利用
        4.2 コントローラの拡張
                4.2.1 Service to Workerパターン
                4.2.2 J2EEにおけるService to Worker
        4.3 高度なビュー
                4.3.1 View Helperパターン
                4.3.2 ビューヘルパの実装
                4.3.3 Composite View

5章 プレゼンテーション層のスケーラビリティ
        5.1 スケーラビリティとボトルネック
        5.2 コンテンツキャッシング
                5.2.1 コンテンツコンポーネントのキャッシング
                5.2.2 Asynchronous Pageパターン
                5.2.3 動的なコンテンツキャッシング
                5.2.4 Caching Filterパターン
                5.2.5 キャッシングフィルタの実装
        5.3 リソースプール
                5.3.1 Resource Poolパターン
                5.3.2 リソースプールの実装

6章 ビジネス層
        6.1 ビジネス層
                6.1.1 ビジネス層のコンポーネント
        6.2 ドメインオブジェクト
                6.2.1 ドメインオブジェクトモデル
                6.2.2 オブジェクトモデルの構築
                6.2.3 Composite Entityパターン/Entity Fa溝deパターン

7章 層と層の間の通信
        7.1 Data Transferパターン
                7.1.1 データ転送オブジェクト
                7.1.2 Data Transfer Hashパターン
                7.1.3 行セットDTO

8章 データベースとデータパターン
        8.1 データアクセスパターン
                8.1.1 Data Access Objectパターン
                8.1.2 DAO Factoryパターン
                8.1.3 レイジーロード
                8.1.4 IsDirtyパターン
                8.1.5 プロシージャアクセスオブジェクト
        8.2 Primary Keyパターン
                8.2.1 PK Block Generatorパターン
                8.2.2 Stored Procedures for Primary Keysパターン
        8.3 オブジェクトリレーショナルマッピング
                8.3.1 複雑なクラス関係
                8.3.2 Table Inheritanceパターン
                8.3.3 Serialized Entityパターン
                8.3.4 Tuple Tableパターン

9章 ビジネス層のインタフェース
        9.1 ビジネスロジックの抽出
                9.1.1 Business Delegate
                9.1.2 Business Delegate Factoryパターン
        9.2 リモートサービスへのアクセス
                9.2.1 Service Adapterパターン
                9.2.2 Session Fa溝deパターン
        9.3 リソースの特定
                9.3.1 Service Locatorパターン
                9.3.2 Service Locatorパターンの変形型
                9.3.3 サービスロケータの実装

10章 エンタープライズにおける並行処理
        10.1 トランザクション管理
                10.1.1 トランザクションについて
                10.1.2 ACID Transactionパターン
                10.1.3 トランザクションとオブジェクト
                10.1.4 Transactional Contextパターン
        10.2 一般的な並列処理パターン
                10.2.1 リソースのロック
                10.2.2 Optimistic Concurrencyパターン
                10.2.3 Pessimistic Concurrencyパターン
        10.3 並列処理の実装
                10.3.1 Lockable Objectパターン
                10.3.2 Lock Managerパターン
                10.3.3 Version Numberパターン

11章 メッセージング
        J2EEでのメッセージング
        非同期のメッセージング対Webサービス
        11.1 メッセージングと統合
                11.1.1 メッセージングの種類
        11.2 メッセージ配信パターン
                11.2.1 Point-to-Point Distributionパターン
                11.2.2 Publish-Subscribeパターン
                11.2.3 Malformed Message Channelパターン
        11.3 メッセージタイプ
                11.3.1 イベントメッセージ
                11.3.2 ドキュメントメッセージ
                11.3.3 コマンドメッセージ
        11.4 メッセージの関連付け
                11.4.1 Sequenced Messagesパターン
        11.5 メッセージクライアントパターン
                11.5.1 Message Handlerパターン
                11.5.2 Polling Consumerパターン
                11.5.3 Event-Driven Consumerパターン
                11.5.4 Message Fa溝deパターン
                11.5.5 Message Selectorパターン
                11.5.6 Competing Consumersパターン
        11.6 メッセージングの統合
                11.6.1 Pipes and Filtersパターン
                11.6.2 Content-Based Routingパターン
                11.6.3 Content Aggregatorパターン
                11.6.4 Control Busパターン
        11.7 参考文献

12章 J2EEアンチパターン
        12.1 アンチパターンの原因
        12.2 アーキテクチャのアンチパターン
                12.2.1 Excessive Layeringアンチパターン
                12.2.2 Leak Collectionアンチパターン
        12.3 プレゼンテーション層のアンチパターン
                12.3.1 Magic Servletアンチパターン
                12.3.2 Monolithic JSPアンチパターンとCompound JSPアンチパターン
                12.3.3 Overstuffed Sessionアンチパターン
        12.4 EJBアンチパターン
                12.4.1 Everything Is an EJBアンチパターン
                12.4.2 Round-Trippingアンチパターン
                12.4.3 Stateful When Stateless Will Doアンチパターン

付録A プレゼンテーション層のパターン
        A.1 アーキテクチャパターン
        A.2 高度なアーキテクチャパターン
        A.3 スケーラビリティパターン

付録B ビジネス層のパターン
        B.1 ビジネス層のパターン
        B.2 データ転送パターン
        B.3 データベースパターン
        B.4 ビジネス層インタフェースパターン
        B.5 並列処理パターン

付録C メッセージングパターン
        C.1 メッセージ配信パターン
        C.2 メッセージクライアントパターン
        C.3 メッセージング統合パターン

付録D J2EEアンチパターン
        D.1 アーキテクチャのアンチパターン
        D.2 プレゼンテーション層のアンチパターン
        D.3 ビジネス層のアンチパターン


索引

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]