Rapid RESTful Web Applications with Apache Sling and Jackrabbit<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />
Speakers<br />Craig S Dickson<br />craig@craigsdickson.com<br />Ruben Reusser<br />headwire.com, Inc<br />rr@headwire.com<...
Agenda<br />What is<br />Apache Jackrabbit/JCR170 and 283<br />Apache Sling<br />Demo Application<br />headwire.com, Inc, ...
What does Jackrabbit Provide? <br />JCR 170/283 repository<br />Hierarchical Storage of Data<br />Versioning<br />Query La...
What does Jackrabbit Provide? <br />Hierarchical Storage of Data<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<b...
What does Jackrabbit Provide? <br />Query Language<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />select * f...
What does Jackrabbit Provide? <br />Search<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />Select * from nt:b...
What does Jackrabbit Provide? <br />Security<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br /><ul><li>By defau...
Allows for row level security per user</li></li></ul><li>What does Jackrabbit Provide? <br />Pluggable Persistence Manager...
File System
Database
Oracle
Derby
MySQL
DB2
MS SQL Server
Persistence Manager is pluggable, new persistence managers can be written</li></li></ul><li>What does Sling Provide?<br />...
Upcoming SlideShare
Loading in...5
×

Rapid RESTful Web Applications with Apache Sling and Jackrabbit

9,477

Published on

This is the presentation from JavaOne 2011 that Ruben Reusser and I worked on. The presentation was heavily demonstration based, so there are not as many slides.

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

No Downloads
Views
Total Views
9,477
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
82
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Rapid RESTful Web Applications with Apache Sling and Jackrabbit"

  1. 1. Rapid RESTful Web Applications with Apache Sling and Jackrabbit<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />
  2. 2. Speakers<br />Craig S Dickson<br />craig@craigsdickson.com<br />Ruben Reusser<br />headwire.com, Inc<br />rr@headwire.com<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />
  3. 3. Agenda<br />What is<br />Apache Jackrabbit/JCR170 and 283<br />Apache Sling<br />Demo Application<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />
  4. 4. What does Jackrabbit Provide? <br />JCR 170/283 repository<br />Hierarchical Storage of Data<br />Versioning<br />Query Language<br />Search<br />Security<br />Pluggable Persistence Manager<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />
  5. 5. What does Jackrabbit Provide? <br />Hierarchical Storage of Data<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />root<br />apps<br />data<br />content<br />sling:resourceType<br />jcr:title<br />
  6. 6. What does Jackrabbit Provide? <br />Query Language<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />select * from nt:base where jcr:path like ‘/data/%’<br />
  7. 7. What does Jackrabbit Provide? <br />Search<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />Select * from nt:base where contains(*, ‘hello world’)<br />Query is executed with apache lucene and result snippets are automatically provided.<br />
  8. 8. What does Jackrabbit Provide? <br />Security<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br /><ul><li>By default path based security, respected by search and access to the repository
  9. 9. Allows for row level security per user</li></li></ul><li>What does Jackrabbit Provide? <br />Pluggable Persistence Manager<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br /><ul><li>Jackrabbit can store data on:
  10. 10. File System
  11. 11. Database
  12. 12. Oracle
  13. 13. Derby
  14. 14. MySQL
  15. 15. DB2
  16. 16. MS SQL Server
  17. 17. Persistence Manager is pluggable, new persistence managers can be written</li></li></ul><li>What does Sling Provide?<br />RESTful framework to access and develop<br />OSGi (Felix)<br />Script execution and resolution<br />Multiple programming languages<br />WebDav<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />
  18. 18. What does Sling Provide?<br />RESTful framework to access and develop<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />
  19. 19. What does Sling Provide?<br />Script execution and resolution<br /><ul><li>Primary Resource Type is used to find corresponding script in /apps
  20. 20. Each resource type can provide a script for any VERB (GET/PUT/DELETE)
  21. 21. Each resource type can provide a script for any extension and selector</li></ul> Index.html, index.json, index.hello.html<br />Out of the box supported languages:<br /> JSP, ECMA Script, Groovy, Scala, Java<br />
  22. 22. Why Rapid?<br />Easy to create forms<br />Easy to store/retrieve data<br />Script Engine<br />Content Driven<br />Developer works on extending the engine and not on Individual page<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />
  23. 23. DEMO<br />Add a Form<br />Create the Data<br />Render a list of the Data<br />View the Data<br />Update the Data<br />Delete the Data<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />
  24. 24. Ready for Prime Time?<br />Sling/Jackrabbit are the backbone of multiple CMS and other applications<br />Examples: <br />Adobe ADEP/WEM<br />Magnolia<br />Jahia<br />…<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />
  25. 25. More Information<br />http://sling.apache.org<br />http://jackrabbit.apache.org<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />
  26. 26. Questions?<br />Craig S Dickson<br />craig@craigsdickson.com<br />http://www.craigsdickson.com<br />Ruben Reusser<br />headwire.com, Inc<br />rr@headwire.com<br />http://www.headwire.com<br />headwire.com, Inc, Craig S. Dickson, Ruben Reusser<br />
  1. A particular slide catching your eye?

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

×