Sun Java Solaris Communities My SDN Account Join SDN
 
Article

Sun Java Center - J2EE Patterns

 
 
Patterns

Here we present a list of common requirements that typically arise when designing and architecting a J2EE solution. We present a requirement or a motivation in a brief statement and then point you to one or more patterns that might address the requirement. While this requirements list is not exhaustive, we hope that it helps you to quickly identify the relevant patterns based on your needs.

Presentation Tier related:

If you are looking for this: Find it here:
Doing preprocessing or post-processing of your requests DecoratingFilter
Centralizing control for request handling FrontController, DecoratingFilter
Adding logging, debugging, or some other behavior to be completed for each request FrontController, DecoratingFilter
Creating a generic command interface for delegating processing from a controller to helper components FrontController
Whether to implement your Controller as a servlet or JSP FrontController
Creating a View from numerous sub Views CompositeView
Whether to implement your View as a servlet or JSP ViewHelper
How to partition your View and Model ViewHelper
Where to encapsulate your presentation-related data formatting logic ViewHelper
Whether to implement your Helper components as JavaBeans or Custom tags ViewHelper

Combining multiple presentation patterns

Service To Worker, DispatcherView

Where to encapsulate View Management and Navigation logic, which involves choosing a View and dispatching to it Service To Worker, DispatcherView

Business Tier related:

If you are looking for this:

Find it here:

Minimize coupling between presentation and business tiers Business Delegate
Cache business services for clients Business Delegate
Hide implementation details of business service lookup/creation/access Business Delegate, ServiceLocator
Isolate vendor and technology dependencies for services lookup ServiceLocator
Provide uniform method for business service lookup and creation ServiceLocator
Hide the complexity and dependencies for enterprise bean and JMS component lookup ServiceLocator
Transfer data between business objects and clients across tiers Value Object
Minimize code duplication between entity beans and value object classes Value Object
Provide simpler uniform interface to clients BusinessDelegate
Reduce remote method invocations by providing coarse-grained method access to business tier components Session Façade
Manage relationships between enterprise bean components and hide the complexity of interactions Session Façade
Protect the business tier components from direct exposure to clients Session Façade, BusinessDelegate
Provide uniform boundary access to business tier components Session Façade
Design complex entity beans Aggregate Entity
Identify coarse-grained objects and dependent objects for entity bean design Aggregate Entity
Design for coarse-grained entity beans Aggregate Entity
Reduce or eliminate the entity bean clients' dependency on the database schema Aggregate Entity
Reduce or eliminate entity bean to entity bean relationships Aggregate Entity, Session Façade
Reduce number of entity beans and improve manageability Aggregate Entity
Obtain the data model for the application from various business tier components Value Object Assembler
On the fly construction of the data model Value Object Assembler
Hide the complexity of data model construction from the clients Value Object Assembler
Provide query and list processing facility Value List Handler
Minimize the overhead of using enterprise bean finder methods Value List Handler
Provide query results caching for clients on the server side with forward and backward navigation Value List Handler

Integration Tier related:

If you are looking for this: Find it here:
Minimize coupling between business and resource tiers Data Access Object
Centralize access to resource tiers Data Access Object
Minimize complexity of resource access in business tier components Data Access Object
Provide asynchronous processing for enterprise bean components Service Activator
Send a message to an enterprise bean component Service Activator

(c) 2000-2001 Sun Microsystems, Inc. All Rights Reserved.

Version 1.0 Beta

Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.