Wiley.com
Print this page Share

J2EE AntiPatterns

ISBN: 978-0-471-14615-5
Paperback
624 pages
August 2003
J2EE AntiPatterns (0471146153) cover image
This title is out-of-print and not currently available for purchase from this site.

Acknowledgments.

Foreword.

Author Bios.

Introduction.

Chapter 1: Distribution and Scaling.

AntiPattern: Localizing Data.

AntiPattern: Misunderstanding Data Requirements.

AntiPattern: Miscalculating Bandwidth Requirements.

AntiPattern: Overworked Hubs.

AntiPattern: The Man with the Axe.

Refactorings.

Plan Ahead.

Choose the Right Data Architecture.

Partition Data and Work.

Plan for Scaling (Enterprise-Scale Object Orientation).

Plan Realistic Network Requirements.

Use Specialized Networks.

Be Paranoid.

Throw Hardware at the Problem.

Chapter 2: Persistence.

AntiPattern: Dredge.

AntiPattern: Crush.

AntiPattern: DataVision.

AntiPattern: Stifle.

Refactorings.

Light Query.

Version.

Component View.

Pack.

Chapter 3: Service-Based Architecture.

AntiPattern: Multiservice.

AntiPattern: Tiny Service.

AntiPattern: Stovepipe Service.

AntiPattern: Client Completes Service.

Refactorings.

Interface Partitioning.

Interface Consolidation.

Technical Services Layer.

Cross-Tier Refactoring.

Chapter 4: JSP Use and Misuse.

AntiPattern: Ignoring Reality.

AntiPattern: Too Much Code.

AntiPattern: Embedded Navigational Information.

AntiPattern: Copy and Paste JSP.

AntiPattern: Too Much Data in Session.

AntiPattern: Ad Lib TagLibs.

Refactorings.

Beanify.

Introduce Traffic Cop.

Introduce Delegate Controller.

Introduce Template.

Remove Session Access.

Remove Template Text.

Introduce Error Page.

Chapter 5: Servlets.

AntiPattern: Including Common Functionality in Every Servlet.

AntiPattern: Template Text in Servlet.

AntiPattern: Using Strings for Content Generation.

AntiPattern: Not Pooling Connections.

AntiPattern: Accessing Entities Directly.

Refactorings.

Introduce Filters.

Use JDom.

Use JSPs.

Chapter 6: Entity Beans.

AntiPattern: Fragile Links.

AntiPattern: DTO Explosion.

AntiPattern: Surface Tension.

AntiPattern: Coarse Behavior.

AntiPattern: Liability.

AntiPattern: Mirage.

Refactorings.

Local Motion.

Alias.

Exodus.

Flat View.

Strong Bond.

Best of Both Worlds.

Façade.

Chapter 7: Session EJBs.

AntiPattern: Sessions A-Plenty.

AntiPattern: Bloated Session.

AntiPattern: Thin Session.

AntiPattern: Large Transaction.

AntiPattern: Transparent Façade.

AntiPattern: Data Cache.

Refactorings.

Session Façade.

Split Large Transaction.

Chapter 8: Message-Driven Beans.

AntiPattern: Misunderstanding JMS.

AntiPattern: Overloading Destinations.

AntiPattern: Overimplementing Reliability.

Refactorings.

Architect the Solution.

Plan Your Network Data Model.

Leverage All Forms of EJBs.

Chapter 9: Web Services.

AntiPattern: Web Services Will Fix Our Problems.

AntiPattern: When in Doubt, Make It a Web Service.

AntiPattern: God Object Web Service.

AntiPattern: Fine-Grained/Chatty Web Service.

AntiPattern: Maybe It’s Not RPC.

AntiPattern: Single-Schema Dream.

AntiPattern: SOAPY Business Logic.

Refactorings.

RPC to Document Style.

Schema Adaptor.

Web Service Business Delegate.

Chapter 10: J2EE Services.

AntiPattern: Hard-Coded Location Identifiers.

AntiPattern: Web = HTML.

AntiPattern: Requiring Local Native Code.

AntiPattern: Overworking JNI.

AntiPattern: Choosing the Wrong Level of Detail.

AntiPattern: Not Leveraging EJB Containers.

Refactorings.

Parameterize Your Solution.

Match the Client to the Customer.

Control the JNI Boundary.

Fully Leverage J2EE Technologies.

Appendix A AntiPatterns Catalog.

Distribution and Scaling AntiPatterns.

Persistence AntiPatterns.

Service-Based Architecture AntiPatterns.

JSP Use and Misuse AntiPatterns.

Servlet AntiPatterns.

Entity Bean AntiPatterns.

Session EJB AntiPatterns.

Message-Driven Bean AntiPatterns.

Web Services AntiPatterns.

J2EE Service AntiPatterns.

Appendix B: Refactorings Catalog.

Distribution and Scaling Refactorings.

Persistence Refactorings.

Service-Based Architecture Refactorings.

JSP Use and Misuse Refactorings.

Servlet Refactorings.

Entity Bean Refactorings.

Session EJBs Refactorings.

Message-Driven Bean Refactorings.

Web Service Refactorings.

J2EE Service Refactorings.

Appendix C: What’s on the Web Site.

System Requirements.

What’s on the Web Site.

References.

Index.

Back to Top