Home Page Icon
Home Page
Table of Contents for
A.3. Scalability Patterns
Close
A.3. Scalability Patterns
by Jonathan Kaplan, William Crawford
J2EE Design Patterns
A Note Regarding Supplemental Files
Preface
Audience
Organization of This Book
For Further Reading
Conventions Used in This Book
Comments and Questions
Acknowledgments
William Crawford
Jonathan Kaplan
1. Java Enterprise Design
1.1. Design Patterns
1.1.1. The Anatomy of a Pattern
1.1.2. Presenting Patterns
1.2. J2EE
1.3. Application Tiers
1.3.1. Component-Based Development
1.3.1.1. Characteristics of components
1.4. Core Development Concepts
1.4.1. Extensibility
1.4.1.1. Techniques for extensibility
1.4.2. Scalability
1.4.3. Reliability
1.4.4. Timeliness
1.5. Looking Ahead
2. The Unified Modeling Language
2.1. Origins of UML
2.2. The Magnificent Seven
2.3. UML and Software Development Lifecycles
2.4. Use Case Diagrams
2.5. Class Diagrams
2.5.1. Relationships Between Classes
2.5.1.1. Aggregation and composition
2.5.2. Describing Patterns with Class Diagrams
2.5.3. Objects
2.5.4. Packages
2.6. Interaction Diagrams
2.6.1. Sequence Diagrams
2.6.2. Collaboration Diagrams
2.7. Activity Diagrams
2.8. Deployment Diagrams
3. Presentation Tier Architecture
3.1. Server-Side Presentation Tier
3.2. Application Structure
3.2.1. The Model-View-Controller Pattern
3.2.2. Using MVC in J2EE
3.2.2.1. The data model
3.2.2.2. The controller servlet
3.2.2.3. JSP: The view
3.3. Building a Central Controller
3.3.1. The Front Controller Pattern
3.3.2. The Front Controller Servlet
3.3.2.1. Deploying the front controller
3.3.3. The Decorator Pattern
3.3.4. Decorating the Front Controller
3.3.4.1. Implementing a decorating filter
3.3.4.2. Deploying decorating filters
3.3.4.3. Other decorators
4. Advanced Presentation Tier Design
4.1. Reuse in Web Applications
4.2. Extending the Controller
4.2.1. The Service to Worker Pattern
4.2.2. Service to Worker in J2EE
4.2.2.1. Models and views
4.2.2.2. Actions
4.2.2.3. The dispatcher
4.2.2.4. The front controller
4.3. Advanced Views
4.3.1. The View Helper Pattern
4.3.2. Implementing a View Helper
4.3.2.1. Parsing the RSS
4.3.2.2. Using the RSS: Custom tags
4.3.3. Composite View
4.3.3.1. The Composite View pattern
4.3.3.2. Implementing composite views
4.3.3.3. Reusing the front controller and dispatcher
4.3.3.4. Building the custom tags
4.3.3.5. Using templates
5. Presentation Tier Scalability
5.1. Scalability and Bottlenecks
5.2. Content Caching
5.2.1. Caching Content Components
5.2.2. The Asynchronous Page Pattern
5.2.2.1. Implementing the Asynchronous Page pattern
5.2.3. Dynamic Content Caching
5.2.4. The Caching Filter Pattern
5.2.5. Implementing a Caching Filter
5.3. Resource Pool
5.3.1. The Resource Pool Pattern
5.3.2. Implementing a Resource Pool
6. The Business Tier
6.1. The Business Tier
6.1.1. Business Tier Components
6.1.1.1. Business tier components
6.1.1.2. Supporting players
6.2. Domain Objects
6.2.1. Domain Object Model
6.2.2. Building an Object Model
6.2.2.1. Define the vision
6.2.2.2. Gather the user cases
6.2.2.3. Find object candidates
6.2.2.4. Implementing a domain object model in J2EE
6.2.3. Composite Entity/Entity Façade Pattern
6.2.3.1. A composite entity schema
7. Tier Communications
7.1. Data Transfer Patterns
7.1.1. Data Transfer Objects
7.1.1.1. Data objects as DTOs
7.1.1.2. Dedicated data transfer objects
7.1.2. Data Transfer Hash Pattern
7.1.3. Row Set DTOs
8. Database and Data Patterns
8.1. Data Access Patterns
8.1.1. Data Access Object Pattern
8.1.2. DAO Factory Pattern
8.1.3. Lazy Load
8.1.4. The IsDirty Pattern
8.1.5. Procedure Access Object
8.2. Primary Key Patterns
8.2.1. PK Block Generator Pattern
8.2.2. Stored Procedures for Primary Keys Pattern
8.3. Object-Relational Mappings
8.3.1. Complex Class Relations
8.3.2. Table Inheritance Pattern
8.3.2.1. Concrete Table Inheritance strategy
8.3.2.2. Class Table Inheritance strategy
8.3.3. The Serialized Entity Pattern
8.3.3.1. A serialized entity example
8.3.3.2. XML and serialized entities
8.3.4. The Tuple Table Pattern
8.3.4.1. A tuple table example
9. Business Tier Interfaces
9.1. Abstracting Business Logic
9.1.1. Business Delegate
9.1.1.1. Organizing business logic into business delegates
9.1.1.2. Business delegate implementation
9.1.1.3. Nesting business delegates
9.1.1.4. Stateful business delegates
9.1.2. Business Delegate Factory Pattern
9.1.2.1. Modifying business delegate behavior
9.2. Accessing Remote Services
9.2.1. The Service Adapter Pattern
9.2.2. Session Façade
9.2.2.1. Implementing a session façade
9.2.2.2. Web services session façades
9.2.2.3. Session façade and business delegate
9.3. Finding Resources
9.3.1. The Service Locator Pattern
9.3.2. Service Locator Variations
9.3.3. Implementing a Service Locator
10. Enterprise Concurrency
10.1. Transaction Management
10.1.1. About Transactions
10.1.2. ACID Transaction Pattern
10.1.2.1. Transaction isolation
10.1.2.2. System and business transactions
10.1.3. Transactions and Objects
10.1.4. Transactional Context Pattern
10.1.4.1. Implementing transactional context with business delegates
10.2. General Concurrency Patterns
10.2.1. Locking Resources
10.2.2. Optimistic Concurrency Pattern
10.2.3. Pessimistic Concurrency Pattern
10.3. Implementing Concurrency
10.3.1. Lockable Object Pattern
10.3.2. Lock Manager Pattern
10.3.2.1. Online lock manager strategy
10.3.2.2. Offline lock manager strategy
10.3.3. Version Number Pattern
11. Messaging
11.1. Messaging in J2EE
11.1.1. Asynchronous Messaging Versus Web Services
11.2. Messaging and Integration
11.2.1. Types of Messaging
11.2.1.1. Guaranteed messaging
11.2.1.2. Nonguaranteed messaging
11.2.1.3. Persistent and nonpersistent messages in JMS
11.3. Message Distribution Patterns
11.3.1. Point-to-Point Distribution Pattern
11.3.2. Publish-Subscribe Pattern
11.3.3. Malformed Message Channel Pattern
11.4. Message Types
11.4.1. Event Message
11.4.2. Document Message
11.4.3. Command Message
11.5. Correlating Messages
11.5.1. Sequenced Message Pattern
11.6. Message Client Patterns
11.6.1. Message Handler Pattern
11.6.2. Polling Consumer Pattern
11.6.3. Event-Driven Consumer Pattern
11.6.4. Message Façade Pattern
11.6.5. Message Selector Pattern
11.6.6. Competing Consumers Pattern
11.7. Messaging and Integration
11.7.1. Pipes and Filters Pattern
11.7.2. Content-Based Routing Pattern
11.7.3. Content Aggregator Pattern
11.7.4. Control Bus Pattern
11.8. For Further Reading
12. J2EE Antipatterns
12.1. Causes of Antipatterns
12.2. Architectural Antipatterns
12.2.1. Excessive Layering
12.2.1.1. Reducing layers
12.2.2. Leak Collection
12.2.2.1. Reclaiming lost memory
12.3. Presentation Tier Antipatterns
12.3.1. The Magic Servlet
12.3.1.1. Refactoring the magic servlet
12.3.2. Monolithic/Compound JSPs
12.3.2.1. Fixing monolithic and compound JSPs
12.3.3. Overstuffed Session
12.3.3.1. Unstuffing the session
12.4. EJB Antipatterns
12.4.1. Everything Is an EJB
12.4.1.1. Escaping EJBs
12.4.2. Round-Tripping
12.4.2.1. Reducing round-tripping
12.4.3. Stateful When Stateless Will Do
12.4.3.1. Turning stateful into stateless
A. Presentation Tier Patterns
A.1. Architectural Patterns
A.2. Advanced Architectural Patterns
A.3. Scalability Patterns
B. Business Tier Patterns
B.1. Business Tier Patterns
B.2. Data Transfer Patterns
B.3. Database Patterns
B.4. Business Tier Interface Patterns
B.5. Concurrency Patterns
C. Messaging Patterns
C.1. Message Distribution Patterns
C.2. Message Client Patterns
C.3. Messaging Integration Patterns
D. J2EE Antipatterns
D.1. Architectural Antipatterns
D.2. Presentation Tier Antipatterns
D.3. Business Tier Antipatterns
About the Authors
Colophon
Copyright
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
View Helper
Next
Next Chapter
Asynchronous Page
Scalability Patterns
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset