Apache Sling™ is a framework for RESTful web-applications based on an extensible content tree.
In a nutshell, Sling maps HTTP request URLs to content resources based on the request's path, extension and selectors. Using convention over configuration, requests are processed by scripts and servlets, dynamically selected based on the current resource. This fosters meaningful URLs and resource driven request processing, while the modular nature of Sling allows for specialized server instances that include only what is needed.
Sling serves as basis for a variety of applications ranging from blogging engines all the way to enterprise content management systems.
Our Getting Started page will help you start playing with Sling.
If you want to jump straight into the code, see our list of repositories.
Discussions about Sling happen on our mailing lists, see our Project Information page for more info.