J2Ee Antipatterns

J2Ee Antipatterns

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

Table of Contents

Acknowledgments                                    xi
Foreword xiii
Author Bios xv
Introduction xvii
Chapter 1 Distribution and Scaling 1 (62)
AntiPattern: Localizing Data 5 (8)
AntiPattern: Misunderstanding Data 13 (4)
Requirements
AntiPattern: Miscalculating Bandwidth 17 (6)
Requirements
AntiPattern: Overworked Hubs 23 (8)
AntiPattern: The Man with the Axe 31 (4)
Refactorings 35 (28)
Plan Ahead 37 (4)
Choose the Right Data Architecture 41 (5)
Partition Data and Work 46 (5)
Plan for Scaling (Enterprise-Scale Object 51 (3)
Orientation)
Plan Realistic Network Requirements 54 (2)
Use Specialized Networks 56 (2)
Be Paranoid 58 (2)
Throw Hardware at the Problem 60 (3)
Chapter 2 Persistence 63 (48)
AntiPattern: Dredge 67 (8)
AntiPattern: Crush 75 (6)
AntiPattern: DataVision 81 (6)
AntiPattern: Stifle 87 (4)
Refactorings 91 (20)
Light Query 92 (6)
Version 98 (5)
Component View 103 (4)
Pack 107 (4)
Chapter 3 Service-Based Architecture 111 (44)
AntiPattern: Multiservice 115 (6)
AntiPattern: Tiny Service 121 (6)
AntiPattern: Stovepipe Service 127 (6)
AntiPattern: Client Completes Service 133 (6)
Refactorings 139 (16)
Interface Partitioning 140 (4)
Interface Consolidation 144 (3)
Technical Services Layer 147 (4)
Cross-Tier Refactoring 151 (4)
Chapter 4 JSP Use and Misuse 155 (76)
AntiPattern: Ignoring Reality 159 (6)
AntiPattern: Too Much Code 165 (8)
AntiPattern: Embedded Navigational Information 173 (6)
AntiPattern: Copy and Paste JSP 179 (6)
AntiPattern: Too Much Data in Session 185 (8)
AntiPattern: Ad Lib TagLibs 193 (6)
Refactorings 199 (32)
Beanify 201 (3)
Introduce Traffic Cop 204 (6)
Introduce Delegate Controller 210 (6)
Introduce Template 216 (4)
Remove Session Access 220 (3)
Remove Template Text 223 (4)
Introduce Error Page 227 (4)
Chapter 5 Servlets 231 (52)
AntiPattern: Including Common Functionality 235 (8)
in Every Servlet
AntiPattern: Template Text in Servlet 243 (6)
AntiPattern: Using Strings for Content 249 (6)
Generation
AntiPattern: Not Pooling Connections 255 (6)
AntiPattern: Accessing Entities Directly 261 (6)
Refactorings 267 (16)
Introduce Filters 268 (5)
Use JDom 273 (5)
Use JSPs 278 (5)
Chapter 6 Entity Beans 283 (78)
AntiPattern: Fragile Links 287 (6)
AntiPattern: DTO Explosion 293 (8)
AntiPattern: Surface Tension 301 (6)
AntiPattern: Coarse Behavior 307 (8)
AntiPattern: Liability 315 (4)
AntiPattern: Mirage 319 (6)
Refactorings 325 (36)
Local Motion 326 (5)
Alias 331 (4)
Exodus 335 (5)
Flat View 340 (4)
Strong Bond 344 (7)
Best of Both Worlds 351 (4)
Fa軋de 355 (6)
Chapter 7 Session EJBs 361 (50)
AntiPattern: Sessions A-Plenty 365 (6)
AntiPattern: Bloated Session 371 (6)
AntiPattern: Thin Session 377 (6)
AntiPattern: Large Transaction 383 (8)
AntiPattern: Transparent Fa軋de 391 (4)
AntiPattern: Data Cache 395 (6)
Refactorings 401 (10)
Session Fa軋de 402 (4)
Split Large Transaction 406 (5)
Chapter 8 Message-Driven Beans 411 (30)
AntiPattern: Misunderstanding JMS 413 (8)
AntiPattern: Overloading Destinations 421 (8)
AntiPattern: Overimplementing Reliability 429 (8)
Refactorings 437 (4)
Architect the Solution 438 (3)
Plan Your Network Data Model 441 (3)
Leverage All Forms of EJBs 444
Chapter 9 Web Services 441 (68)
AntiPattern: Web Services Will Fix Our 451 (6)
Problems
AntiPattern: When in Doubt, Make It a Web 457 (6)
Service
AntiPattern: God Object Web Service 463 (6)
AntiPattern: Fine-Grained/Chatty Web Service 469 (6)
AntiPattern: Maybe It's Not RPC 475 (8)
AntiPattern: Single-Schema Dream 483 (6)
AntiPattern: SOAPY Business Logic 489 (6)
Refactorings 495 (14)
RPC to Document Style 496 (5)
Schema Adaptor 501 (5)
Web Service Business Delegate 506 (3)
Chapter 10 J2EE Services 509 (46)
AntiPattern: Hard-Coded Location Identifiers 511 (6)
AntiPattern: Web = HTML 517 (6)
AntiPattern: Requiring Local Native Code 523 (6)
AntiPattern: Overworking JNI 529 (4)
AntiPattern: Choosing the Wrong Level of 533 (6)
Detail
AntiPattern: Not Leveraging EJB Containers 539 (4)
Refactorings 543 (12)
Parameterize Your Solution 544 (3)
Match the Client to the Customer 547 (3)
Control the JNI Boundary 550 (3)
Fully Leverage J2EE Technologies 553 (2)
Appendix A AntiPatterns Catalog 555 (10)
Distribution and Scaling AntiPatterns 555 (1)
Persistence AntiPatterns 556 (1)
Service-Based Architecture AntiPatterns 557 (1)
JSP Use and Misuse AntiPatterns 557 (1)
Servlet AntiPatterns 558 (1)
Entity Bean AntiPatterns 559 (1)
Session EJB AntiPatterns 560 (1)
Message-Driven Bean AntiPatterns 561 (1)
Web Services AntiPatterns 562 (1)
J2EE Service AntiPatterns 563 (2)
Appendix B Refactorings Catalog 565 (10)
Distribution and Scaling Refactorings 565 (1)
Persistence Refactorings 566 (1)
Service-Based Architecture Refactorings 567 (1)
JSP Use and Misuse Refactorings 568 (1)
Servlet Refactorings 569 (1)
Entity Bean Refactorings 570 (1)
Session EJBs Refactorings 571 (1)
Message-Driven Bean Refactorings 572 (1)
Web Service Refactorings 572 (1)
J2EE Service Refactorings 573 (2)
Appendix C What's on the Web Site 575 (4)
System Requirements 575 (1)
What's on the Web Site 576 (3)
References 579 (2)
Index 581