Apache Sling

3,183 views
3,053 views

Published on

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

No Downloads
Views
Total views
3,183
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
63
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Apache Sling

  1. 1. Apache Sling Andreas Hartmann CTO, BeCompany GmbH
  2. 2. REST REpresentational State Transfer Roy T. Fielding‘s dissertation Not a technology/standard/software Set of architectural constraints Optimized for common use-cases of the WWW (based on experience)
  3. 3. REST in the WWW HTML docs (representations) = states Hyperlinks + forms = transitions GET /products/lenya /products/lenya /products /products/cocoon POST /products/cocoon title=Apache%20Cocoon
  4. 4. Concerns Simplicity Reliability Visibility Extensibility Reusability Cacheability Scalability Efficiency
  5. 5. REST Constraints Client-Server Layered transport (firewalls, proxies, …) Caching Stateless server Uniform interface Code on demand
  6. 6. REST Data Elements Resource (anything that can be addressed, independent of a particular point in time) URIs to identify resources Resource metadata: source link, alternates, … Representation = data (byte sequence) Repr. metadata: media type, last modified, …
  7. 7. Uniform Interface Representation of resources in one of an emerging set of standard formats Uniform resource identification mechanism Messages are self-descriptive: representation/resource/control metadata Intermediaries can transform the messages, e.g. compressing for optimized transport
  8. 8. Common Violations Indirect application state: Addressing and caching issues Cookies (server-side state) Frames Incremental processing issues Embedding metadata in HTML head <img> without @width, @height dynamically sized table columns
  9. 9. Apache Sling Web application framework JCR for content storage Process HTTP requests in a RESTful way Scripts (JSR-233) or Servlets for processing OSGi for deploying modules at runtime
  10. 10. Application Scenarios Everything (well, „everything is content“) WCM, DAM, Wiki, Blog, ERP, … Especially for content-oriented applications
  11. 11. Sling encourages REST Thinking in resources (mapped to JCR nodes) Representation selection (HTML, Atom, PDF, …) via part of URI Uniform interface for content handling: GET + POST + PUT + DELETE
  12. 12. UnRESTful Addressing /product .jsp ?id=13423 URI doesn't address Not part of URI: the resource not cacheable
  13. 13. Request Processing in Sling GET /news/today .atom PUT /news/today ?title=Today Resource Resource sling:resourceType sling:resourceType feed feed Servlet / Script Servlet / Script /apps/feed/atom.esp /apps/feed/PUT.esp
  14. 14. Sling Demo Start application Connect via WebDAV Connect via Eclipse Plug-In Dojo Tree Example

×