Core J2EE Patterns : Best Practices and Design Strategies (Prentice Hall Core) (2 UPD REV)

Core J2EE Patterns : Best Practices and Design Strategies (Prentice Hall Core) (2 UPD REV)

  • ただいまウェブストアではご注文を受け付けておりません。 ⇒古書を探す
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 650 p.
  • 言語 ENG,ENG
  • 商品コード 9780133807462
  • DDC分類 005

Full Description


Appropriate for all intermediate-to-advanced courses in Java programming and program design. This second edition of the industry's definitive J2EE patterns guide has been thoroughly updated to reflect the powerful new patterns and technologies available with J2EE 1.4. From start to finish, leading consultants from the Sun Java Center identify and thoroughly describe today's most powerful J2EE patterns for building applications with superior performance, scalability, and robustness. Along the way, they share Sun's best practices for development with a wide range of J2EE technologies, including Java Server Pages, Servlets, EJB, and more. They organize their proven design solutions by tier, including expert techniques for the presentation, business, and integration tiers. This second edition introduces new refactorings, new patterns for using XML and constructing J2EE Web services, and discussions of bad practices to avoid. Finally, the authors present an end-to-end multi-tier case study covering every stage of enterprise development. Includes forewords written by industry leaders, Grady Booch and Martin Fowler.

Table of Contents

Foreword                                           xvii
Grady Booch
Foreword xix
Martin Fowler
Preface xxi
Acknowledgments xxviii
Acknowledgments - First Edition xxix
Part I: Patterns and J2EE 2 (110)
Chapter 1 Introduction 6 (12)
What Is J2EE? 8 (1)
What Is a Pattern? 9 (2)
Historical References 9 (1)
Defining a Pattern 9 (2)
Categorizing Patterns 11 (1)
J2EE Pattern Catalog 11 (5)
Continuous Evolution 11 (2)
How to Use the J2EE Pattern Catalog 13 (1)
Benefits of Using Patterns 14 (2)
Patterns, Frameworks, and Reuse 16 (1)
Summary 17 (1)
Chapter 2 Presentation Tier Design 18 (26)
Considerations and Bad Practices
Presentation Tier Design Considerations 20 (13)
Session Management 20 (2)
Controlling Client Access 22 (6)
Validation 28 (2)
Helper Properties-Integrity and 30 (3)
Consistency
Presentation Tier Bad Practices 33 (11)
Control Code in Multiple Views 33 (1)
Exposing Presentation-Tier Data 34 (1)
Structures to Business Tier
Exposing Presentation-Tier Data 35 (1)
Structures to Domain Objects
Allowing Duplicate Form Submissions 35 (1)
Exposing Sensitive Resources to Direct 36 (1)
Client Access
Assuming <jsp:setProperty> Will 36 (1)
Reset Bean Properties
Creating Fat Controllers 36 (1)
Using Helpers as Scriplets 37 (7)
Chapter 3 Business Tier Design Considerations 44 (18)
and Bad Practices
Business Tier Design Considerations 46 (7)
Using Session Beans 46 (3)
Using Entity Beans 49 (3)
Caching Enterprise Bean Remote References 52 (1)
and Handles
Business and Integration Tiers Bad Practices 53 (9)
Mapping the Object Model Directly to the 53 (1)
Entity Bean Model
Mapping the Relational Model Directly to 53 (1)
the Entity Bean Model
Mapping Each Use Case to a Session Bean 54 (1)
Exposing All Enterprise Bean Attributes 55 (1)
via Getter/Setter Methods
Embedding Service Lookup in Clients 55 (1)
Using Entity Beans as Read-Only Objects 56 (1)
Using Entity Beans as Fine-Grained Objects 56 (1)
Storing Entire Entity Bean-Dependent 57 (1)
Object Graph
Exposing EJB-related Exceptions to 58 (1)
Non-EJB Clients
Using Entity Bean Finder Methods to 59 (1)
Return a Large Results Set
Client Aggregates Data from Business 59 (1)
Components
Using Enterprise Beans for Long-Lived 60 (1)
Transactions
Stateless Session Bean Reconstructs 60 (2)
Conversational State for Each Invocation
Chapter 4 J2EE Refactorings 62 (50)
Presentation Tier Refactorings 64 (28)
Introduce a Controller 64 (3)
Introduce Synchronizer Token 67 (5)
Localize Disparate Logic 72 (8)
Hide Presentation Tier-Specific Details 80 (4)
From the Business Tier
Remove Conversions from View 84 (4)
Hide Resources From a Client 88 (4)
Business and Integration Tier Refactorings 92 (10)
Wrap Entities With Session 92 (2)
Introduce Business Delegate 94 (2)
Merge Session Beans 96 (2)
Reduce Inter-Entity Bean Communication 98 (2)
Move Business Logic to Session 100 (2)
General Refactorings 102 (14)
Separate Data Access Code 102 (3)
Refactor Architecture by Tiers 105 (3)
Use A Connection Pool 108 (4)
Part II: J2EE Pattern Catalog 112 (468)
Chapter 5 J2EE Patterns Overview 116 (26)
What Is a Pattern? 118 (2)
Identifying a Pattern 118 (1)
Patterns Versus Strategies 119 (1)
The Tiered Approach 120 (1)
J2EE Patterns 121 (3)
Presentation Tier Patterns 122 (1)
Business Tier Patterns 123 (1)
Integration Tier Patterns 123 (1)
Guide to the Catalog 124 (6)
Terminology 124 (4)
Use of UML 128 (1)
Pattern Template 129 (1)
J2EE Pattern Relationships 130 (5)
Relationship to Known Patterns 135 (1)
Patterns Roadmap 135 (6)
Summary 141 (1)
Chapter 6 Presentation Tier Patterns 142 (158)
Intercepting Filter 144 (22)
Problem 144 (1)
Forces 144 (1)
Solution 145 (20)
Consequences 165 (1)
Related Patterns 165 (1)
Front Controller 166 (15)
Problem 166 (1)
Forces 166 (1)
Solution 166 (14)
Consequences 180 (1)
Related Patterns 180 (1)
Context Object 181 (24)
Problem 181 (1)
Forces 181 (1)
Solution 181 (22)
Consequences 203 (1)
Related Patterns 203 (2)
Application Controller 205 (35)
Problem 205 (1)
Forces 205 (1)
Solution 205 (33)
Consequences 238 (1)
Related Patterns 239 (1)
View Helper 240 (22)
Problem 240 (1)
Forces 241 (1)
Solution 241 (19)
Consequences 260 (1)
Related Patterns 261 (1)
Composite View 262 (14)
Problem 262 (1)
Forces 262 (1)
Solution 262 (9)
Consequences 271 (1)
Sample Code 272 (3)
Related Patterns 275 (1)
Service to Worker 276 (12)
Problem 276 (1)
Forces 276 (1)
Solution 276 (5)
Consequences 281 (1)
Sample Code 281 (6)
Related Patterns 287 (1)
Dispatcher View 288 (12)
Problem 288 (1)
Forces 288 (1)
Solution 288 (5)
Consequences 293 (1)
Sample Code 294 (5)
Related Patterns 299 (1)
Chapter 7 Business Tier Patterns 300 (160)
Business Delegate 302 (13)
Problem 302 (1)
Forces 302 (1)
Solution 303 (5)
Consequences 308 (1)
Sample Code 309 (4)
Related Patterns 313 (2)
Service Locator 315 (26)
Problem 315 (1)
Forces 316 (1)
Solution 316 (13)
Consequences 329 (1)
Sample Code 330 (10)
Related Patterns 340 (1)
Session Fa軋de 341 (16)
Problem 341 (1)
Forces 342 (1)
Solution 342 (3)
Consequences 345 (2)
Sample Code 347 (8)
Related Patterns 355 (2)
Application Service 357 (17)
Problem 357 (1)
Forces 357 (1)
Solution 358 (8)
Consequences 366 (1)
Sample Code 367 (6)
Related Patterns 373 (1)
Business Object 374 (17)
Problem 374 (1)
Forces 375 (1)
Solution 375 (10)
Consequences 385 (2)
Sample Code 387 (1)
Related Patterns 388 (3)
Composite Entity 391 (24)
Problem 391 (1)
Forces 392 (1)
Solution 392 (9)
Consequences 401 (1)
Sample Code 402 (11)
Related Patterns 413 (2)
Transfer Object 415 (18)
Problem 415 (1)
Forces 415 (1)
Solution 415 (9)
Consequences 424 (1)
Sample Code 425 (7)
Related Patterns 432 (1)
Transfer Object Assembler 433 (11)
Problem 433 (1)
Forces 433 (1)
Solution 434 (4)
Consequences 438 (1)
Sample Code 439 (4)
Related Patterns 443 (1)
Value List Handler 444 (16)
Problem 444 (1)
Forces 444 (1)
Solution 445 (5)
Consequences 450 (1)
Sample Code 451 (7)
Related Patterns 458 (2)
Chapter 8 Integration Tier Patterns 460 (120)
Data Access Object 462 (34)
Problem 462 (1)
Forces 462 (1)
Solution 463 (30)
Consequences 493 (2)
Related Patterns 495 (1)
Service Activator 496 (20)
Problem 496 (1)
Forces 496 (1)
Solution 496 (18)
Consequences 514 (1)
Related Patterns 514 (2)
Domain Store 516 (41)
Problem 516 (1)
Forces 516 (1)
Solution 516 (39)
Consequences 555 (1)
Related Patterns 556 (1)
Web Service Broker 557 (24)
Problem 557 (1)
Forces 557 (1)
Solution 558 (21)
Consequences 579 (1)
Related Patterns 579 (1)
Epilogue 580 (45)
Web Worker Micro-Architecture 581 (40)
Workflow Mini-Primer 581 (3)
Web Worker Micro Architecture 584 (1)
Problem 584 (3)
Forces 587 (1)
Solution 587 (33)
Consequences 620 (1)
Bibliography 621 (4)
The Apache Software License, Version 1.1 625 (2)
Index 627