Your SlideShare is downloading. ×
0
Design and architecture of Apache Jackrabbit Jukka Zitting Jackrabbit committer
Agenda <ul><li>Components structure </li></ul><ul><li>Internal extension points </li></ul><ul><li>Configuration </li></ul>...
Component structure core jcr-com. rmi api spi spi-com. spi2jcr jcr2spi tests text webdav jca webapp ocm-ntm ocm
Internal extension points <ul><li>PersistenceManager </li></ul><ul><li>AccessManager </li></ul><ul><li>SearchIndex </li></...
Configuration <ul><li>XML files </li></ul><ul><ul><li>repository.xml </li></ul></ul><ul><ul><li>workspace.xml </li></ul></...
Item states <ul><li>NodeState, PropertyState </li></ul><ul><li>Managed by an ItemStateManager </li></ul><ul><ul><li>Shared...
Clustering <ul><li>Shared persistence manager </li></ul><ul><li>Journal to coordinate cluster nodes </li></ul><ul><ul><li>...
Indexing <ul><li>Default implementation based on Lucene </li></ul><ul><li>Full text + “accurate” matches </li></ul><ul><li...
Future ideas, NGP‏ <ul><li>Append-only storage </li></ul><ul><ul><li>Inspired by MVCC, Subversion, etc. </li></ul></ul><ul...
Comments / Questions ?
Upcoming SlideShare
Loading in...5
×

Design and architecture of Jackrabbit

3,125

Published on

Presentation at the Amsterdam JCR community gathering in April 2008

Published in: Technology, News & Politics
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,125
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
137
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Design and architecture of Jackrabbit"

  1. 1. Design and architecture of Apache Jackrabbit Jukka Zitting Jackrabbit committer
  2. 2. Agenda <ul><li>Components structure </li></ul><ul><li>Internal extension points </li></ul><ul><li>Configuration </li></ul><ul><li>Item states </li></ul><ul><li>Clustering </li></ul><ul><li>Indexing </li></ul><ul><li>Future ideas, NGP </li></ul>
  3. 3. Component structure core jcr-com. rmi api spi spi-com. spi2jcr jcr2spi tests text webdav jca webapp ocm-ntm ocm
  4. 4. Internal extension points <ul><li>PersistenceManager </li></ul><ul><li>AccessManager </li></ul><ul><li>SearchIndex </li></ul><ul><li>DataStore </li></ul><ul><li>FileSystem </li></ul>
  5. 5. Configuration <ul><li>XML files </li></ul><ul><ul><li>repository.xml </li></ul></ul><ul><ul><li>workspace.xml </li></ul></ul><ul><li>Fixed structure </li></ul><ul><ul><li>With <param/> entries </li></ul></ul><ul><li>Replace with IoC? </li></ul>
  6. 6. Item states <ul><li>NodeState, PropertyState </li></ul><ul><li>Managed by an ItemStateManager </li></ul><ul><ul><li>Shared </li></ul></ul><ul><ul><li>Local/Session </li></ul></ul><ul><ul><li>Virtual </li></ul></ul><ul><li>Replace with Bundles? </li></ul>
  7. 7. Clustering <ul><li>Shared persistence manager </li></ul><ul><li>Journal to coordinate cluster nodes </li></ul><ul><ul><li>Observation/indexing </li></ul></ul><ul><ul><li>Locking </li></ul></ul><ul><ul><li>Node type changes </li></ul></ul><ul><ul><li>Etc. </li></ul></ul>
  8. 8. Indexing <ul><li>Default implementation based on Lucene </li></ul><ul><li>Full text + “accurate” matches </li></ul><ul><li>Single index per workspace (+ version store)‏ </li></ul><ul><li>Configurable (many new features in 1.4)‏ </li></ul>
  9. 9. Future ideas, NGP‏ <ul><li>Append-only storage </li></ul><ul><ul><li>Inspired by MVCC, Subversion, etc. </li></ul></ul><ul><ul><li>No updates or removes </li></ul></ul><ul><ul><li>Garbage collection </li></ul></ul><ul><li>Optimized for read-only, no refresh! </li></ul><ul><li>Concurrent transactions! </li></ul><ul><li>Point in time recovery </li></ul>
  10. 10. Comments / Questions ?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×