• Like

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence

  • 897 views
Uploaded on

OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence (David Whitmarsh

OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence (David Whitmarsh

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
897
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
16
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. David Whitmarsh | Shadowmist Ltd Case Study – An Oracle Coherence Data Grid in OSGi Containers
  • 2. Background • Investment bank client • Post-trade Services • Several distinct application services layered on a set of common data services • High Volumes (up to 3m events/day) • Low Latency
  • 3. Oracle Coherence • Clustered in-memory data cache • API extends java.util.Map • Redundant storage of data – safe against node or machine outage • Primary data store in this application – not 2nd level cache • Internal use of “Portable Object Format” - POF
  • 4. Hardware Topology • Each node runs in a container • All nodes communicate with all others by multicast • Data nodes have 8Gb heaps • Application and Proxy nodes are full grid members but with local storage of data disabled
  • 5. Application Structure
  • 6. Data Model Hierarchies
  • 7. Conventional Coherence Classpath Structure • Stored object and serialisation classes normally on classpath – accessible from Coherence code • Support for specifying ClassLoader – used in JEE, could be used in OSGi
  • 8. Object Models as OSGi Services • All touch points where Coherence needs to be aware of a data object can be intercepted and delegated to OSGi services. • Cache configurations can be provided to Coherence via an OSGi service.
  • 9. Data Node Deployment • On data nodes, coherence must still have access to serialisation and cache configuration
  • 10. POF Evolvable and code releases • POF supports an “Evolvable” model for converting objects between old and new versions both ways without data loss. • Coherence “rolling upgrade” may take considerable time for a large grid • Serialisation via OSGi allows upgrade in- place with no node restarts.
  • 11. The Hard Bits - Coherence • Coherence cache instances traditionally obtained via static factory methods from a single global configuration. – NamedCache cache = CacheFactory.getCache(cacheName); • Static access methods used internally in some places – Proxy service – Messaging pattern
  • 12. The Hard Bits - OSGi • Managing one container per grid node • Development tooling – Eclipse? Maven? Bundlor? Bnd? Spring DM tools? • Version dependencies • Embedding Jars within bundles • Anomalously long startup time for DM server under Eclipse on Windows • Incomplete cleaning of state on restart • Controlled shutdown – order of service removal • Logging