Apache Sling is an
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
Web framework
A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build an ...
for the
Java platform
Java is a set of computer software and specifications developed by James Gosling at Sun Microsystems, which was later acquired by the Oracle Corporation, that provides a system for developing application software and deploying it in a cro ...
designed to create content-centric applications on top of a
JSR-170-compliant (a.k.a. JCR)
content repository such as
Apache Jackrabbit. 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
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
,
Ruby
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum (aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapp ...
,
Velocity
Velocity is the directional speed of an object in motion as an indication of its rate of change in position as observed from a particular frame of reference and as measured by a particular standard of time (e.g. northbound). Velocity i ...
. The goal of Apache Sling is to expose content in the content repository as
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
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.
The Sling project was started on August 27, 2007, 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
the project graduated as an Apache top-level project.
Features
*Content resolution that maps a request
URL
A Uniform Resource Locator (URL), colloquially termed as a web address, is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving it. A URL is a specific type of Uniform Resource Identifie ...
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
JSON (JavaScript Object Notation, pronounced ; also ) is an open standard file format and data interchange format that uses human-readable text to store and transmit data objects consisting of attribute–value pairs and arrays (or other s ...
representation
*A JavaScript client library, allowing access to the content repository through
AJAX
Ajax may refer to:
Greek mythology and tragedy
* Ajax the Great, a Greek mythological hero, son of King Telamon and Periboea
* Ajax the Lesser, a Greek mythological hero, son of Oileus, the king of Locris
* ''Ajax'' (play), by the ancient Gree ...
*Support for server-side scripting with
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
,
JSP,
Ruby
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum (aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapp ...
,
Velocity
Velocity is the directional speed of an object in motion as an indication of its rate of change in position as observed from a particular frame of reference and as measured by a particular standard of time (e.g. northbound). Velocity i ...
and
Scala
*
OSGi-based extensibility through
Apache Felix – the Felix Web Console was originally developed by the Apache Sling project
See also
*
Apache Jackrabbit
*
Apache Felix
References
External links
*
{{Apache Software Foundation
Sling
sling may refer to:
Places
*Sling, Anglesey, Wales
*Sling, Gloucestershire, England, a small village in the Forest of Dean
People with the name
* Otto Šling (1912–1952), repressed Czech communist functionary
Arts, entertainment, and media
* ...
Java enterprise platform
Web frameworks