Rapid RESTful Web Applications with Apache Sling and Jackrabbit

  • 8,689 views
Uploaded 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.

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.

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
8,689
On Slideshare
0
From Embeds
0
Number of Embeds
9

Actions

Shares
Downloads
80
Comments
0
Likes
2

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

    headwire.com, Inc, Craig S. Dickson, Ruben Reusser
  • 25. More Information
    http://sling.apache.org
    http://jackrabbit.apache.org
    headwire.com, Inc, Craig S. Dickson, Ruben Reusser
  • 26. Questions?
    Craig S Dickson
    craig@craigsdickson.com
    http://www.craigsdickson.com
    Ruben Reusser
    headwire.com, Inc
    rr@headwire.com
    http://www.headwire.com
    headwire.com, Inc, Craig S. Dickson, Ruben Reusser