2. The following is intended to outline general product
use and direction. It is intended for information
purposes only, and may not be incorporated into any
contract. It is not a commitment to deliver any
material, code, or functionality, and should not be
relied upon in making purchasing decisions.
The development, release, and timing of any features
or functionality described for Oracle’s products
remains at the sole discretion of Oracle.
3. Presentation Objectives
To Understand…
1) How Coherence improves performance, enables
linear scalability, and provides availability for
shared services
2) How Coherence leverages its distributed
architecture to enable high performance analytics
and processing on application domain objects
3) Coherence’s roadmap and strategic direction
4. Oracle Fusion Middleware
Complete, Open, Integrated, Best-in-Class
Web Mobile Social
User Engagement
Content Management
Identity
Management
Business Intelligence
Development Business Process
Tools Management
Service Integration
Enterprise
Management
Data Integration
Cloud Application
Foundation
5. Oracle Coherence Value Path
Lowered Costs Increased Quality of Service
Benefits
Performance Linear Scalability Availability
Reliability Resource Utilization Interoperability
Oracle Coherence Data Grid
Caching Analytics Transactions Events
Features
Cache Map Query Map Observable Map
Write Behind Caching Invocable Map Coherence*Web
Coherence*Web C++/.NET Interop TopLink Grid
6. Enterprise Application Scalability
Challenges
Ease of Scaling
Service Clients • Grows and scales
• Browsers, supplier and partner clients, application naturally
clients, mobile apps, and other service consumers.
• Increasing load
Service Implementation • Computationally
• Custom applications, BPM processes, service bus intensive work
endpoints, UI services, and other service providers. • Highly dependent on
shared services
Shared Services • Complex and
• RDBMS, cloud services, supplier and partner expensive to scale
services, mainframe applications, and so on. • High latency SPOB
and SPOF
7. Traditional Clustering
• Dependent on shared service
Service Clients latency
• Increase in size of cluster
leads to increase in load on
shared service
Service Service Service
Node 1 Node 2 Node N • Inconsistent view of data
across cluster nodes
Cached Cached Cached
Objects Objects Objects • No possibility for in-memory
analytics
• Limited in-memory cache
due to
Shared Service • Capacity implications
• Java garbage collection
8. Enters the Coherence Data Grid
Ease of Scaling • Clustered Caching
• Provides a consistent view
Service Clients of data across cluster
• Partitioned Caching
Service Service Service • Increase in size of cluster
Node 1 Node 2 Node N adds capacity but does not
decrease performance
In-memory Data Grid • Distributed Data
Processing
• Enables a distributed
Shared Services platform for high
performance in-memory
analytics
9. How to Integrate with Coherence
Two Options
1. Custom integration through Coherence API
• For Java, C++, and .NET applications
2. Through Existing ‘Switch-On’ Integrations
• Oracle TopLink Grid – For JPA object relational
data offload
• Oracle Service Bus – For service results
caching
• Oracle Coherence*Web – For HTTP session
caching
10. Coherence Basic Inteface
Custom Integration
• Application uses NamedCache neCache =
CacheFactory
Coherence API to .getCache("NetworkElement");
store/access its data
…
• Application cache
NetworkElement ne = new
properties are configured NetworkElement(“ID-321”, “OC-
externally through XML 196”, “Nortel Networks);
file neCache.put(“ID-321”, ne);
…
• Basic cache access
through NamedCache NetworkElement ne =
neCache.get(“ID-321”);
Map interface
11. Replicated Caching Scheme
JVM JVM
Application Logic Application Logic
Business Logic Business Logic
Application Cluster
Domain Objects
Coherence Cluster
Object Object Object Object
A B Replicated Cache A B
Service
Object Object Object Object
C D C D
Coherence Node Coherence Node
12. Distributed Caching Scheme
JVM JVM
Application Logic Application Logic
Business Logic Business Logic
Application Cluster
Domain Objects
Primary Primary
Coherence Cluster
Object Object Object Object
A B Distributed Cache C D
Service
Coherence Node Coherence Node
13. Near-Caching Topology
JVM JVM
Application Logic Application Logic
Business Logic Business Logic
Local Cache Local Cache
Application Cluster
Coherence Cluster
JVM JVM
Domain Objects
Primary Primary
Object Object Object Object
A B Distributed Cache C D
Service
Coherence Node Coherence Node
14. Heterogeneous Topology
C++ Application .NET Application
Application Logic Application Logic
Business Logic Business Logic
Local Cache Local Cache
Application Cluster
Coherence Cluster
JVM JVM
Domain Objects
Primary Primary
Object Object Object Object
A B Distributed Cache C D
Service
Coherence Node Coherence Node
15. Reliability
Partitioned Fault Tolerance
• Automatically and
transparently manages
the fault tolerance of
your data.
• Backups are
guaranteed to be on a
separate physical
machine as the primary.
• Backup responsibilities
for one node’s data is
shared amongst the
other nodes in the grid.
16. Write Behind
• All data writes occur through cache
• Updates to the cache are written asynchronously to
the data source
17. Coherence Elastic Data | In-Memory Cache
Seamless management of data
across memory and disk-based Coherence
devices, including RAM, Solid
State Disk (SSD), and Storage
Area Networks (SAN)
RAM
Tuned journaling algorithms
enabling near memory speed
access to data regardless of FLAS
storage medium H
4x increase in data capacity
Very high performance, low latency DIS
Massively concurrent reads and K
writes (to external storage)
19. Trading & Risk Platform
Example of conceptual architecture
Profit & Loss Management & Modelling &
Trading
Risk Management Compliance Development
Multi-Channel Management
Continuous Monitoring
Trading Desk Portals
Existing Systems Business Insight
Real-time Alerts Market Data Models Orders
Trading Compliance
Pricing
Enterprise Management
Algorithms Positions Trades Instruments
Risk Profit & Loss
SLA Management
Order Low-Latency Infrastructure
Management
Risk
Modelling Data Event High Activity Management
Data Grid
Integration Processing Availability Monitoring
Market Feeds High Performance Persistent Data
Performance Tuning
News Feeds
Valuation Models Historic Market Data Market Reference Data Instruments Positions Content
Shared Dynamic Infrastructure
Key
Oracle Confidential and Proprietary Existing Assets New Components In Memory New Interface
20. Presentation Objectives
To Understand…
1) How Coherence improves performance, enables
linear scalability, and provides availability for
shared services
2) How Coherence leverages its distributed
architecture to enable high performance analytics
and processing on application domain objects
3) Coherence’s roadmap and strategic direction
21. Data Processing
Parallel Query
• Programmatic query mechanism
• Queries performed in parallel across the grid
• Standard indexes provided out-of-the-box and supports implementing
your own custom indexes
22. Data Processing
Continuous Query Cache
• Automatically, transparently and dynamically maintains a view locally
based on a specific criteria (i.e. Filter)
• Same API as all other Coherence caches
23. Data Processing
Invocable Map
• The inverse of caching
• Sends the processing (e.g. EntryProcessors) to where the data is in the
grid
• Standard EntryProcessors provided Out-of-the-box
• Once and only once guarantees
• Processing is automatically fault-tolerant
• Processing can be:
• Targeted to a specific key
• Targeted to a collection of keys
• Targeted to any object that matches a specific criteria (i.e. Filter)
26. Presentation Objectives
To Understand…
1) How Coherence improves performance, enables
linear scalability, and provides availability for
shared services
2) How Coherence leverages its distributed
architecture to enable high performance analytics
and processing on application domain objects
3) Coherence’s roadmap and strategic direction
27. Coherence Roadmap
Theme Features Benefit
Ease Of Use Cache Configuration GUI and Eclipse user-friendly configuration
tooling
Shared Coherence Container Increase manageability and HA
Infrastructure
Customizable partitioning Finer grained control of
partitioning
REST API Extended client language
integration
Multi-Datacenter Replication Push replication feature full
support
RASP Query “Explain Plan” Better query visibility
Delta backups Increase write performance
Innovation Exabus: Native IB support Dramatically Lower Latency
Continuous Aggregation Real-Time Analytics
Oracle Confidential – Do Not Distribute
28. How to Learn More
• Attend the Oracle University (OU) course
• You can register in this course by using this link
• Read Coherence 3.5 book
• Provides a great introduction to Coherence
• Attend the Coherence SIG Meetings
• Available in San Francisco, NYC, London, and Toronto
• Use OTN Coherence Forum
• Follow-ups with Coherence Architects/PMs with deep
experience in FS
30. Coherence Fusion Middleware Integrations
at a Glance TopLink Grid for
Database Access
Coherence to Coherence*Web
Performance
Improve Quality for HTTP
Improvements
End-To-End of RTD Results Session Offload
Management
Oracle EM Coherence
Oracle RTD Enterprise Applications
Management Pack
WebLogic
GlassFish
Server
Oracle Oracle
Golden Database Service
Gate Bus
Golden Gate Coherence Adapter for Service Result Caching for
Change Data Capture Improved Service Performance
31. Oracle Integrations By Value
Oracle IGBU Oracle Golden Gate WebCenter
Oracle CGBU Real-time Decision SOA BPEL
Oracle GlassFish Oracle ADF SOA Human Workflow
Oracle Access Manager Oracle PeopleSoft SOA Business Rules
Oracle CEP Oracle Secure Token Service SOA Coherence Adapter
TopLink Oracle Identity Federation SOA Technology Adapters
WebLogic Portal Meta-data Services (MDS) BI Publisher
Service Delivery Platform Oracle Entitlement Services
WebLogic Server Oracle BEAM
Oracle Service Bus ATG
SOA Infrastructure ATG Hosted Services
Oracle Data Integration Oracle Web Services Manager
Advanced Capabilities
Value
Data Grid
Data Cache
Oracle Confidential – Do Not Distribute
Simple Clustering 31