JackRabbit OAK
Yash Mody, PhD
CTO | Tekno Point Consulting
www.teknopoint.us	
  
Introducing the “oak”
Hierarchical Content repository
New age CMS – distributed, loosely couples,
multiplatform solution
JCR Compliant (not full coverage)
Scalable (>100 M nodes)
Cloud Deployments
www.teknopoint.us	
  
Architecture
.NodeStore
.MicroKernel (MK)
.NodeState
www.teknopoint.us	
  
Overview
OAK	
  JCR	
  
OAK	
  CORE	
  
OAK	
  PLUGINS	
  
www.teknopoint.us	
  
Layers
Light wt HTTP
protocol for JSON
www.teknopoint.us	
  
The Node store architecture
www.teknopoint.us	
  
fundamentals
Hierarchical/Tree Model with nodes and properties
Everything else is plugin based
Tree is immutable, changes are new revisions
Multi Version Concurrency Control (MVCC) model
Snapshot Isolation
Relaxed first committer wins strategy
Write Skew (ex: joint accounts)
www.teknopoint.us	
  
Node state Model
Node – unordered collection
Content revisions will change states of Nodes
Node State is an immutable snapshot of a specific state
NodeState and NodeBuilder Interfaces
www.teknopoint.us	
  
Node store
Implementation of Node State Model
Java API for NSM functionality
www.teknopoint.us	
  
Microkernel
NSM implementation with String only JSON API
Remoteable
Stateless
2 flavors of MK: Document and Segment
Document – Max performance in stand alone systems
Segment – Max Scalability for cluster
www.teknopoint.us	
  
Other stuff
Compare NodeState
Commit Hooks – controls/modifies what to do with a
commit
Commit Editors – parallel processing of multiple hooks
Commit Validators – only validates. Cannot modify
www.teknopoint.us	
  
Thanks
@yash_mody
http://www.linkedin.com/in/modyyash
www.teknopoint.us	
  

Introducing Apache Jackrabbit OAK