1/36
Contents
List of Examples
List of Figures
List of Tables
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
Part I Coherence Concepts
1
Defining a Data Grid
2
Provide a Data Grid
2.1
Targeted Execution
2.2
Parallel Execution
2.3
Query-Based Execution
2.4
Data-Grid-Wide Execution
2.5
Agents for Targeted, Parallel and Query-Based Execution
2.6
Data Grid Aggregation
2.7
Node-Based Execution
2.8
Work Manager
2.8.1
Oracle Coherence Work Manager: Feedback from a Major Financial Institution
2.9
Summary
3
Provide a Queryable Data Fabric
3.1
Data Fabric
3.2
EIS and Database Integration
3.3
Queryable
3.4
Continuous Query
3.5
Summary
4
Cluster Your Objects and Data
4.1
Coherence and Clustered Data
4.2
Availability
4.2.1
Supporting Redundancy in Java Applications
4.2.2
Enabling Dynamic Cluster Membership
4.2.3
Exposing Knowledge of Server Failure
4.2.4
Eliminating Other Single Points Of Failure (SPOFs)
4.2.5
Providing Support for Disaster Recovery (DR) and Contingency Planning
4.3
Reliability
4.4
Scalability
4.4.1
Distributed Caching
4.4.2
Partitioning
4.4.3
Session Management
4.5
Performance
4.5.1
Replication
4.5.2
Near Caching
4.5.3
Write-Behind, Write-Coalescing and Write-Batching
4.6
Serviceability
4.7
Manageability
4.8
Summary
5
Deliver Events for Changes as they Occur
5.1
Listener Interface and Event Object
5.2
Caches and Classes that Support Events
5.3
Signing Up for All Events
5.4
Using an Inner Class as a MapListener
5.5
Configuring a MapListener for a Cache
5.6
Signing up for Events on specific identities
5.7
Filtering Events
5.8
"Lite" Events
5.9
Advanced: Listening to Queries
5.9.1
Filtering Events Versus Filtering Cached Data
5.10
Advanced: Synthetic Events
5.11
Advanced: Backing Map Events
5.11.1
Producing Readable Backing MapListener Events from Distributed Caches
5.12
Advanced: Synchronous Event Listeners
5.13
Summary
6
Automatically Manage Dynamic Cluster Membership
6.1
Cluster and Service Objects
6.2
Member object
6.3
Listener interface and Event object
7
Managing an Object Model
7.1
Cache Usage Paradigms
7.2
Techniques to Manage the Object Model
7.3
Domain Model
7.3.1
Best Practices for Data Access Objects in Coherence
7.4
Service Layer
7.4.1
Automatic Transaction Management
7.4.2
Explicit Transaction Management
7.4.3
Optimized Transaction Processing
7.5
Managing Collections of Child Objects
7.5.1
Shared Child Objects
7.5.2
Owned Child Objects
7.5.3
Bottom-Up Management of Child Objects
7.5.4
Bi-Directional Management of Child Objects
7.6
Colocating Owned Objects
7.6.1
Denormalization
7.6.2
Affinity
7.7
Managing Shared Objects
7.8
Refactoring Existing DAOs
8
Overview for Implementors
8.1
Basic Concepts
8.1.1
Clustered Data Management
8.1.2
A single API for the logical layer, XML configuration for the physical layer
8.1.3
Caching Strategies
8.1.4
Data Storage Options
8.1.5
Serialization Options
8.1.6
Configurability and Extensibility
8.1.7
Namespace Hierarchy
8.2
Read/Write Caching
8.2.1
NamedCache
8.2.2
Requirements for Cached Objects
8.2.3
NamedCache Usage Patterns
8.3
Querying the Cache
8.4
Transactions
8.5
HTTP Session Management
8.6
Invocation Service
8.7
Events
8.8
Object-Relational Mapping Integration
8.9
C++/.NET Integration
8.10
Management and Monitoring
9
Read-Through, Write-Through, Write-Behind Caching and Refresh-Ahead
9.1
Pluggable Cache Store
9.2
Read-Through Caching
9.3
Write-Through Caching
9.4
Write-Behind Caching
9.5
Write-Behind Requirements
9.6
Refresh-Ahead Caching
9.7
Selecting a Cache Strategy
9.7.1
Read-Through/Write-Through versus Cache-Aside
9.7.2
Refresh-Ahead versus Read-Through
9.7.3
Write-Behind versus Write-Through
9.8
Idempotency
9.9
Write-Through Limitations
9.10
Cache Queries
9.11
Creating a CacheStore Implementation
9.12
Plugging in a CacheStore Implementation
9.13
Implementation Considerations
9.13.1
Re-entrant Calls
9.13.2
Cache Server Classpath
9.13.3
CacheStore Collection Operations
9.13.4
Connection Pools
10
Coherence*Extend
10.1
Types of Clients
10.2
Proxy Service Overview
11
Real Time Client—RTC
11.1
Uses
11.2
Cache Access
11.3
Local Caches
11.4
Event Notification
11.5
Agent Invocation
11.6
Connection Failover
12
Clustering
13
Cluster Services Overview
14
Replicated Cache Service
15
Partitioned Cache Service
16
Near Cache
16.1
Near Cache Invalidation Strategies
16.2
Configuring the Near Cache
16.3
Obtaining a Near Cache Reference
16.4
Cleaning Up Resources Associated with a Near Cache
16.5
Sample Near Cache Configuration
17
Local Storage
18
Local Cache
18.1
Configuring the Local Cache
19
Best Practices
19.1
Coherence and Cache Topologies
19.2
Data Access Patterns
19.2.1
Data Access Distribution (hot spots)
19.2.2
Cluster-node Affinity
19.2.3
Read/Write Ratio and Data Sizes
19.2.4
Interleaving Cache Reads and Writes
19.3
Heap Size Considerations
19.3.1
Using Several Small Heaps
19.3.2
Moving the Cache Out of the Application Heap
20
Network Protocols
20.1
Coherence and the TCMP Protocol
20.2
Protocol Reliability
20.3
Protocol Resource Utilization
20.4
Protocol Tunability
20.5
Multicast Scope
20.6
Disabling Multicast
21
The Coherence Ecosystem
21.1
Breakdown of Coherence editions
21.2
Coherence Client and Server Connections
21.3
Coherence Modules Involved in Connecting Client and Server Editions
21.3.1
How a Single Coherence Client Process Connects to a Single Coherence Server
21.3.2
Considering Multiple Clients and Servers
22
Session Management for Clustered Applications
22.1
Basic Terminology
22.2
Sharing Data in a Clustered Environment
22.3
Reliability and Availability
22.4
Scalability and Performance
22.5
Conclusion
Part II Installing Coherence
23
Installing Oracle Coherence
23.1
Downloading and Extracting Coherence
23.2
Installing Coherence
23.3
Verifying that Multiple Nodes and Servers are Able to Form a Cluster
24
Installing Coherence*Web Session Management Module
24.1
Supported Web Containers
24.2
General Instructions for Installing the Session Management Module
24.3
Installing the Session Management Module on
BEA
WebLogic
8.x
24.4
Installing the Session Management Module on
BEA
WebLogic
9.x
24.5
Installing the Session Management Module on
BEA
WebLogic
10.x
24.6
Installing the Session Management Module on
BEA
WebLogic
Portal 8.1.6+
24.7
Installing the Session Management Module on
Caucho Resin
® 3.0.x
24.8
Installing the Session Management Module on
Oracle
® OC4J 10.1.2.x
24.9
How the Coherence*Web Installer Instruments a Java EE Application
24.10
Testing HTTP Session Management (without a dedicated loadbalancer)
25
Using the Coherence*Web Installer Ant Task
25.1
How to Use the Installer Ant Task
25.2
Installer Ant Task Parameters
25.3
Examples
A
Coherence Features by Edition
A.1
Coherence Server Editions
A.2
Coherence Client Editions
B
AbstractMultiplexingBackingMapListener Class Listing
Glossary