8th sakai conference4-7 december 2007 newport beach sakai jcr content hosting steve githens &...

9
8th Sakai Conference 4-7 December 2007 Newport Beach Sakai JCR Content Sakai JCR Content Hosting Hosting Steve Githens & Aaron Zeckoski sgithens/ [email protected]

Upload: norma-houston

Post on 15-Jan-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 8th Sakai Conference4-7 December 2007 Newport Beach Sakai JCR Content Hosting Steve Githens & Aaron Zeckoski sgithens/aaron@caret.cam.ac.uk

8th Sakai Conference

4-7 December 2007Newport Beach

Sakai JCR Content HostingSakai JCR Content Hosting

Steve Githens & Aaron Zeckoski

sgithens/[email protected]

Page 2: 8th Sakai Conference4-7 December 2007 Newport Beach Sakai JCR Content Hosting Steve Githens & Aaron Zeckoski sgithens/aaron@caret.cam.ac.uk

2

JCR Content HostingJCR Content Hosting

• An implementation of the ContentHostingService API which uses JCR as the storage mechanism underneath– Multiple JCR implementations available

• Fully compatible with the Resources tool and Webdav

• Migration tools are included

Page 3: 8th Sakai Conference4-7 December 2007 Newport Beach Sakai JCR Content Hosting Steve Githens & Aaron Zeckoski sgithens/aaron@caret.cam.ac.uk

3

Key advantagesKey advantages

• Uses an industry standard API (JCR)

• Many implementations available– Jackrabbit, Xythos, Alfresco, etc.

• Highly customizable and configurable– DB/FileSystem, Caching, Tuning

• Uses code which is maintained and tested at thousands of sites outside Sakai– Less maintenance, reliable, supported

URL: http://confluence.sakaiproject.org/confluence/display/SAKDEV/JCR+Integration

Page 4: 8th Sakai Conference4-7 December 2007 Newport Beach Sakai JCR Content Hosting Steve Githens & Aaron Zeckoski sgithens/aaron@caret.cam.ac.uk

4

InstallationInstallation• Installing JCR content is well documented on the

Sakai Wiki– http://confluence.sakaiproject.org/confluence/display/RES/JSR-170

• For trunk the process is very simple– Checkout/build jackrabbit and branch (use -PJCR)

• For 2.4.x it is a little more involved– Upgrade 4 projects, checkout JCR, checkout/build

jackrabbit and branch (with maven 2)

• JCR will be off by default, you can switch back and forth beween legacy and JCR using a tool or by adjusting the configuration

URL: http://confluence.sakaiproject.org/confluence/display/RES/JSR-170

Page 5: 8th Sakai Conference4-7 December 2007 Newport Beach Sakai JCR Content Hosting Steve Githens & Aaron Zeckoski sgithens/aaron@caret.cam.ac.uk

5

JCR Inspector toolJCR Inspector tool• Switch Content from Legacy to JCR

• View the full JCR data tree

• Start/stop/monitor content migration

URL: http://confluence.sakaiproject.org/confluence/display/SAKDEV/JCRInspector

Page 6: 8th Sakai Conference4-7 December 2007 Newport Beach Sakai JCR Content Hosting Steve Githens & Aaron Zeckoski sgithens/aaron@caret.cam.ac.uk

6

Content Hosting usageContent Hosting usage

0.000

0.200

0.400

0.600

0.800

1.000

Updates Deletes Inserts Reads

• Usage stats collected from various high load institutions

• Reads outweigh everything else by around 20 to 1

• Content is rarely removed or updated

• These numbers were used to construct the simulation load tests

Page 7: 8th Sakai Conference4-7 December 2007 Newport Beach Sakai JCR Content Hosting Steve Githens & Aaron Zeckoski sgithens/aaron@caret.cam.ac.uk

7

Load TestingLoad Testing

0

50000

100000

150000

200000

250000

300000

350000

DOM SAX Bin JCR

Time to complete load tests

Mass Insert

Simulation

Multi ThreadSimulation

Mass Remove

• A series of Test-Runner load tests have been created to test content hosting and simulate usage– Contact Aaron if you want

to run these tests

• Read performance is comparable between JCR and current binary legacy trunk

Mass Insert - Create 7 Collections and add 556 ResourcesSimulation - Simulate 10000 user accesses with around 200,000 reads, 500 inserts, 125 deletes (random), this is meant to closely match real usageMulti Thread - execute simulation on 10 threads simultaneouslyMass Remove - Remove inserted collections(7)/resources(556)

DOM - Legacy Content Hosting using DOM XML (2.4.0)SAX - Legacy Content Hosting using Saxalizer (2.4.x)Bin - Legacy Content Hosting using Binary Serialization (2.5.x/trunk)JCR - JCR Content Hosting with JackRabbitService underneath

Page 8: 8th Sakai Conference4-7 December 2007 Newport Beach Sakai JCR Content Hosting Steve Githens & Aaron Zeckoski sgithens/aaron@caret.cam.ac.uk

8

Content MigrationContent Migration

• Migration of content from legacy to JCR is managed by an automated process that runs in the background– Copies data from legacy to JCR– Monitors content events to syncronize the JCR data with

the existing legacy data– Delay between series of copies is configurable to keep

from overloading the server– Non-destructive migration (no live data is changed)– Controllable via the JCR Inspector tool

Page 9: 8th Sakai Conference4-7 December 2007 Newport Beach Sakai JCR Content Hosting Steve Githens & Aaron Zeckoski sgithens/aaron@caret.cam.ac.uk

9

Questions?Questions?

• Contact Ian Boston, Steve Githens, or Aaron Zeckoski if you are interested in trying this out or have questions

– http://confluence.sakaiproject.org/confluence/display/SAKDEV/JCR+Integration

– http://confluence.sakaiproject.org/confluence/display/RES/JSR-170