Always Learning

Core J2EE Patterns: Best Practices and Design Strategies
Deepak Alur
John Crupi
Dan Malks

ISBN-10: 0130648841
ISBN-13:  9780130648846

Publisher:  Prentice Hall
Copyright:  2001
Format:  Paper; 496 pp
Published:  06/26/2001
We're sorry, this product is no longer available and has been replaced with Core J2EE Patterns: Best Practices and Design Strategies, 2/E.

Please contact your Pearson rep if you are using this product and need instructor resources.


Print this content

In this section:


Description

Focuses on patterns best practices, design strategies and proven solutions using key J2EE techniques (JSP, servlets, EJB & JMS). Also identifies bad practices and recommends solutions.


Table of Contents



Foreword.


Preface.


Acknowledgments.

I. PATTERNS AND J2EE.

1. Introduction.

What Is J2EE? What Are Patterns? Historical References. Defining a Pattern. Categorizing Patterns. J2EE Pattern Catalog. Continuous Evolution. How to Use the J2EE Pattern Catalog. Benefits of Using Patterns. Patterns, Frameworks, and Reuse. Summary.

2. J2EE Platform Overview.

A Brief Perspective. Application Servers-The New Breed. Convergence of Java Technologies. The Rise of the J2EE Platform. J2EE Value Proposition. J2EE Platform. J2EE Architecture. Java 2 Standard Edition. J2EE Application Components and Containers. Standard Services. J2EE Platform Roles. Deployment Descriptors. J2EE Patterns and J2EE Platform. Summary.

II. DESIGN CONSIDERATIONS, BAD PRACTICES, AND REFACTORINGS.

3. Presentation Tier Design Considerations and Bad Practices.

Presentation Tier Design Considerations. Session Management. Controlling Client Access. Validation. Helper Properties-Integrity and Consistency. Presentation Tier Bad Practices. Control Code in Multiple Views. Exposing Presentation-Tier Data Structures to Business Tier. Exposing Presentation-Tier Data Structures to Domain Objects. Allowing Duplicate Form Submissions. Exposing Sensitive Resources to Direct Client Access. Assuming <jsp:setProperty> Will Reset Bean Properties. Creating Fat Controllers.

4. Business Tier Design Considerations and Bad Practices.

Business Tier Design Considerations. Using Session Beans. Using Entity Beans. Caching Enterprise Bean Remote References and Handles. Business and Integration Tiers Bad Practices. Mapping Object Model Directly to Entity Bean Model. Mapping Relational Model Directly to Entity Bean Model. Mapping Each Use Case to a Session Bean. Exposing All Enterprise Bean Attributes via Getter/Setter Methods. Embedding Service Lookup in Clients. Using Entity Bean as Read-Only Object. Using Entity Beans as Fine-Grained Objects. Storing Entire Entity Bean-Dependent Object Graph. Exposing EJB-related Exceptions to Non-EJB Clients. Using Entity Bean Finder Methods to Return a Large Results Set. Client Aggregates Data from Business Components. Using Enterprise Beans for Long-Lived Transactions. Stateless Session Bean Reconstructs Conversational State for Each Invocation.

5. J2EE Refactorings.

Presentation Tier Refactorings. Introduce a Controller. Introduce Synchronizer Token. Localize Disparate Logic. Hide Presentation Tier-Specific Details From the Business Tier. Remove Conversions from View. Hide Resource From a Client. Business and Integration Tier Refactorings. Wrap Entities With Session. Introduce Business Delegate. Merge Session Beans. Eliminate Inter-Entity Bean Communication. Move Business Logic to Session. General Refactorings. Separate Data Access Code. Refactor Architecture by Tiers. Use A Connection Pool.

III. J2EE PATTERN CATALOG.

6. J2EE Patterns Overview.

What Is a Pattern? Identifying a Pattern. The Tiered Approach. J2EE Patterns. Presentation Tier Patterns. Business Tier Patterns. Integration Tier Patterns. Guide to the Catalog. Terminology. Use of UML. Pattern Template. J2EE Pattern Relationships. Relationship to Known Patterns. Patterns Roadmap. Summary.

7. Presentation Tier Patterns.

Intercepting Filter. Context. Problem. Forces. Solution. Consequences. Related Patterns. Front Controller. Context. Problem. Forces. Solution. Consequences. Related Patterns. View Helper. Context. Problem. Forces. Solution. Consequences. Related Patterns. Composite View. Context. Problem. Forces. Solution. Consequences. Sample Code. Related Patterns. Service to Worker. Context. Problem. Forces. Solution. Consequences. Sample Code. Related Patterns. Dispatcher View. Context. Problem. Forces. Solution. Consequences. Sample Code. Related Patterns.

8. Business Tier Patterns.

Business Delegate. Context. Problem. Forces. Solution. Consequences. Sample Code. Related Patterns. Value Object. Context. Problem. Forces. Solution. Consequences. Sample Code. Related Patterns. Session Facade. Context. Problem. Forces. Solution. Consequences. Sample Code. Related Patterns. Composite Entity. Context. Problem. Forces. Solution. Consequences. Sample Code. Related Patterns. Value Object Assembler. Context. Problem. Forces. Solution. Consequences. Sample Code. Related Patterns. Value List Handler. Context. Problem. Forces. Solution. Consequences. Sample Code. Related Patterns. Service Locator. Context. Problem. Forces. Solution. Consequences. Sample Code. Related Patterns.

9. Integration Tier Patterns.

Data Access Object. Context. Problem. Forces. Solution. Consequences. Sample Code. Related Patterns. Service Activator. Context. Problem. Forces. Solution. Consequences. Sample Code. Related Patterns. EPILOGUE J2EE Patterns Applied. PSA Overview. Use Case Model. Use Cases, Patterns, and Pattern Frameworks. Create Project Use Case. Pattern Identification. Pattern Realization. Reserve Resource Use Case. Pattern Identification. Pattern Realization. Find Available Resources Use Case. Pattern Identification. Pattern Realization. Bibliography. Apache Software License.

Index.



Back to top

Print this content

In this section:


Sample Chapter

View a Sample Chapter PDF:/samplechapter/0130648841.pdf


Author Bios

DEEPAK ALUR is an Enterprise Java Architect with the Sun Java Center. He has over 12 years of experience in the software industry. He has been focused on design and implementation of enterprise applications using Object-Oriented technologies, patterns, Java, and J2EE.

JOHN CRUPI is the Chief Java Architect of the Sun Java Center. He has over 15 years of experience in distributed object computing and remains focused on creating reusable, scalable architectures for J2EE. He is also a JavaReport columnist for the Architect's Corner.

DAN MALKS is an Enterprise Java Architect with the Sun Java Center. He has over 14 years of experience in the software industry and focuses on Object-Oriented technologies. He has been published in numerous industry periodicals and books on Java, J2EE, and patterns.


Backcover Copy

Over the last few years, Java 2 Platform, Enterprise Edition (J2EE) technology has emerged and matured as a standard platform for building enterprise applications. While the platform has matured into a solid offering for developing and deploying enterprise applications, it does offer its challenges. As developers, often we confuse learning the technology with learning to design with the technology. In this book, senior architects from the Sun Java Center, Sun's Java consulting organization share with the reader their cumulative design experience with and expertise on J2EE technology.

The primary focus of the book is on patterns, best practices, design strategies, and proven solutions using the key J2EE technologies including JavaServer Pages (JSP), Servlets, Enterprise Java Beans (EJB), and Java Message Service (J.M.S) API. Other ancillary technologies like JDBC and JNDI are also discussed as relevant to their usage in these patterns. The J2EE Patterns catalog with 16 patterns and numerous strategies is presented to document and promote best practices for these technologies.

In addition to the patterns and strategies, the book offers the following:

  • Presents various design strategies for the presentation tier and business tier design.
  • Identifies bad practices in presentation, business, and integration tiers, and offers directions to remedy them by using certain patterns, strategies, and refactorings.
  • Refactorings for various tiers and mechanics to move away from a bad implementation to a better solution.
  • Sample code and examples for patterns, strategies, and refactorings.

Core J2EE Patterns delivers:

  • Proven solutions for enterprise applications
  • J2EE Patterns Catalog with patterns for JSP technology, EJB technology, and J.M.S.
  • Identifies bad practices and recommends solutions
  • Refactorings to improve existing designs using patterns, strategies, and best practices
  • UML Diagrams illustrate structure and behavior of each pattern

Back to top

Log in to the Instructor Resource Center

Login name: 

  Password: 

Forgot login/password?  |  Need to redeem an access code?

        

Instructor Resource Center File Download

This work is protected by local and international copyright laws and is provided solely for the use of instructors in teaching their courses and assessing student learning. Dissemination or sale of any part of this work (including on the World Wide Web) will destroy the integrity of the work and is not permitted. The work and materials from this site should never be made available to students except by instructors using the accompanying text in their classes. All recipients of this work are expected to abide by these restrictions and to honor the intended pedagogical purposes and the needs of other instructors who rely on these materials.

Cancel     I accept, proceed with download

Print this content

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students contact your Pearson Higher Education representative.

Back to top