Your SlideShare is downloading. ×
OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence
OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence
OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence
OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence
OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence
OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence
OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence
OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence
OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence
OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence
OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence
OSGi Community Event 2010 - Modular Applications on a Data Grid - A Case Study Using OSGi and Oracle Coherence
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

918

Published 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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
918
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
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

×