Apache Sling is an open sourceWeb framework for the Java platform designed to create content-centric applications on top of a JSR-170-compliant (a.k.a. JCR) content repository such as Apache Jackrabbit.[2] Apache Sling allows developers to deploy their application components as OSGi bundles or as scripts and templates in the content repository. Supported scripting languages are JSP, server-side JavaScript, Ruby, Velocity. The goal of Apache Sling is to expose content in the content repository as HTTP resources, fostering a RESTful style of application architecture.
Sling is different from many other Web application frameworks in the
sense that it truly focuses on the web aspect of the "web application" development and
through its development paradigm suggests an intuitive RESTful
development of a true web application.
Other frameworks focus more on the application development and therefore are ideal extensions to Sling.[3]
The Sling project was started on August 27, 2007,[4] when Day Software proposed to donate the source base of its internal web framework powering the Day Communiqué WCM to the Apache Software Foundation. The project was accepted to the Apache Incubator with Apache Jackrabbit being the sponsoring project. On June 18, 2009 [5] the project graduated as an Apache top-level project.
Features
Content resolution that maps a request URL to a content node in the content repository
Servlet resolution that maps a content node and a request method to a Servlet handling the request
Default servlets supporting WebDAV, content creation from web forms, and JSON representation
A JavaScript client library, allowing access to the content repository through AJAX