Coherence provides an in-memory data grid that offers high performance, scalability, and availability. It uses a peer-to-peer architecture with automatic cluster management. Coherence provides ACID transactions across the distributed grid. Future enhancements will simplify configuration and management, integrate with WebLogic, and add capabilities like cache persistence and federated caching across data centers.
2. COHERENCE – INTRO
Problem Domain of Coherence:
High load, stateful middle tier services using shared services
• Service Clients
• Scale naturally
• Browsers, application clients, mobile apps, other consumers.
• Service / Application Implementation
• Stateful
• High load
• Custom apps, BPM processes, service bus endpoints, …
• Shared Services
• Complex / Expensive to scale
• RDBMS, cloud services, supplier and partner
services, mainframe applications, and so on.
5. COHERENCE – IS POWERFUL
• In Memory Data Grid
• Peer to Peer
• High Availability
• Extreme performance
• Linear scaling
• Parallel querying
• Automatic cluster management
• New / failed node detection
• Automatic / transparent failover
• Automatic load balancing
• Super robust transactions
• ACID guarantees
• Including grid-based processing
• Even when servers are being removed / added
6. COHERENCE – IS EASY
• Associate a ContactId with a Contact in the cache:
cache.put(contactId, contact);
• Retrieve the Contact associated with a ContactId from the cache:
contact = (Contact) cache.get(contactId);
• Remove mapping of ContactId to Contact from the cache:
cache.remove(contactId);
• Find all contacts who live in Massachusetts.
Set setResults =
cache.entrySet(ff.createFilter("homeAddress.state = 'MA'"));
“The world's most expensive hash map”
7. COHERENCE – IN THE CLOUD
• Part of Oracle Cloud Application Foundation
11. COHERENCE – NEAR FUTURE (12C)
• Solves the “stale cache” problem
• Applications updating DB outside Coherence
• Leverages existing technologies
• Golden Gate & TopLink Grid
• No programming
12. COHERENCE – NEAR FUTURE (12C)
• Fully integrated in WebLogic infrastructure
• A Coherence container similar to EJB, JMS and JCA
• Management through Configuration Wizard, WebLogic
Console, WLST, JMX, Enterprise Manager
• Simplified Operations Management
• Configure, manage and deploy Coherence from the
WebLogic Console
• Manage Coherence resources centrally
• Grid Archive (GAR)
• Consolidates Coherence application and configuration
into a single distributable entity
• Can be packaged in WebLogic EAR
13. COHERENCE – NEAR FUTURE (12C)
• One programming model for all events
• Triggers
• Backing Map Listeners
• Partition Listeners
• Cache Stores
• Formalizes programming semantics for event driven
architectures
• Declarative configuration
• Simplified but powerful
14. COHERENCE – NEAR FUTURE (12C)
• Facilitate programmatic configuration and extension
• Enable dynamic runtime configuration
• Moving towards removing XML requirement to construct
configuration
• Fully documented approaches for extension
15. COHERENCE – NEAR FUTURE (12C)
• Decouples backup operations from application’s
interaction with the data grid
• ~40-50% reduction in request latency
• Speed vs consistency guarantees
Synchronous Backups
Asynchronous Backups
16. COHERENCE – NEAR FUTURE (12C)
• Common Fusion Middleware install, patching and
upgrade technology
• Oracle Universal Installer (OUI)
• OPatch
17. COHERENCE – WITH EXALOGIC
• Optimizations for Exabus
• Dramatically increases availability
Exabus
19. COHERENCE – FUTURE
• Cache Persistence
• Backup of cached data on disk (Local Disk and/or SAN)
• Recovery from disk during cold start and after simultaneous
node failure
• Federated Caching
• Cross Data Center Data Management
• Distribute updates from one to one/many other data grids.
20. COHERENCE – IS THE FUTURE
• Important product for Oracle
• Part of Cloud Application Foundation
• Customers demand “Google-like” performance
• Integration with everything
• Lazy man’s path to:
• Stability
• Performance
Editor's Notes
Use CaseCreate a Coherence Application (GAR)coherence-application.xml, coherence-cache-config.xml, pof-config.xmlPackage GARGAR can also be packaged in WebLogic EAREstablish Coherence InfrastructureTiered topology (Application layer and Storage layer)Leverage Configuration Wizard, Console, WLST, FMWCDeploy GAR into Coherence InfrastructureConsole, WLST, FMWC, webLogic.DeployerCoherence services will be automatically startedMonitor Deployment and Cluster InfrastructureMultiple Topologies Supported- Coherence-only, Coherence/Java EE, Storage-enabled/storage-disabled, Coherence*Extend, Coherence*Web, etc