Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Apache Sling - The whys and the hows

3,455 views

Published on

Brief into to Sling presented to the Bucharest JUG, 2nd edition, 22-06-2012

  • Dating direct: ♥♥♥ http://bit.ly/2F7hN3u ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Sex in your area is here: ♥♥♥ http://bit.ly/2F7hN3u ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Apache Sling - The whys and the hows

  1. 1. Apache Sling - The whys and the hows Apache Sling – The whys and the hows OSGi, JCR, REST, BCP Robert Munteanu @rombert rmuntean@adobe.comrmuntean@adobe.com @rombert
  2. 2. Who I am  $DAYJOB  FOSS  Adobe CQ  MantisBT − Apache Sling  Mylyn Connector − Apache Jackrabbit for MantisBT − Apache Felix  Mylyn Connector for Review Boardrmuntean@adobe.com @rombert
  3. 3. Why Sling Bringing back the funrmuntean@adobe.com @rombert
  4. 4. Apache Sling architecturermuntean@adobe.com @rombert
  5. 5. Why Sling (2)  Non-mainstream technology choices  Standard nonetheless  Coherent  Opinionated (TM?)rmuntean@adobe.com @rombert
  6. 6. Why Sling (3)  Content first approach  RESTful access to resources  Polyglot request handling  Java  Javascript  JSP  Ruby  Access control management  Logging ( slf4j )rmuntean@adobe.com @rombert
  7. 7. Why Sling (4)  Apache Top-level project  High-profile Sling adopters  Sakai Project ( sakaiproject.org )  Adobe CQ ( adobe.com/products/cq.html)  Idium Web ( idium.no/web/ )rmuntean@adobe.com @rombert
  8. 8. Why Felix  Sling is a set of OSGi bundles  Builds on support from Apache Felix – Dependency Injection – Eventing – Configuration Admin – Modularityrmuntean@adobe.com @rombert
  9. 9. Why Jackrabbitrmuntean@adobe.com @rombert
  10. 10. Why Jackrabbit (2)rmuntean@adobe.com @rombert
  11. 11. Sling use cases  Blogs, news , bug trackers  Digital asset management  Wikisrmuntean@adobe.com @rombert
  12. 12. And now...rmuntean@adobe.com @rombert
  13. 13. OSGi component @Component @Service(ChaosMonkey.class) public class DrunkChaosMonkey implements ChaosMonkey { @Reference SlingRepository repo; void doWhateverAChaosMonkeyDoes() { … } }rmuntean@adobe.com @rombert
  14. 14. Eventing @Component @Service(EventHandler.class) @Property(name=”event.topics”, value=”some/event/queue”) class LazyHandler implements EventHandler { public void handleEvent(Event event) {…} }rmuntean@adobe.com @rombert
  15. 15. Project layoutrmuntean@adobe.com @rombert
  16. 16. Think in content, not in tables /content/myblog/posts/iphone_shipping/attachments/front.jpg [Blog] [Post] [Attachment] - blogId - postId - attachmentId - author - blogId - postId - title - filename - text + resource (nt:resource) - date In-depth discussion at http://wiki.apache.org/jackrabbit/DavidsModelrmuntean@adobe.com @rombert
  17. 17. Q&Armuntean@adobe.com @rombert
  18. 18. Resources  Apache Sling – http://sling.apache.org  Apache Felix – http://felix.apache.org  Apache Jackrabbit – http://jackrabbit.apache.org  @rombert{,w}rmuntean@adobe.com @rombert

×