J2EE AntiPatterns
Buy Rights Online Buy Rights

Rights Contact Login For More Details

More About This Title J2EE AntiPatterns

English

BILL DUDNEY is a Java architect who?s been building J2EE applications for five years and distributed computing solutions for 14. He is co-author of Jakarta® Pitfalls (Wiley).

STEPHEN ASBURY is co-author of Developing Java™ Enterprise Applications and author of Enterprise Linux® at Work (both from Wiley), as well as four other books on development technology.

JOSEPH K. KROZAK is Vice President of Technology Development for Krozak Information Technologies, Inc., a supplier of advanced software solutions to Fortune 500 and mid-market companies.

KEVIN WITTKOPF has been a software architect and developer for more than seventeen years. He focuses on enterprise integration, Web services, messaging, and service-based architecture.

English

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.

loading