One of the concepts I see confused quite a bit is the relationship between Apache Sling and AEM. In their quest to find the right version of a bundle, many developers think of Sling as a single dependency of AEM. To understand this why this concept is incorrect and why it arises, we first need to understand exactly what Apache Sling is.
What is Apache Sling
Apache Sling is an application framework for building web applications. Apache Sling uses OSGi as an inversion of control container to allow developers to dynamically add and modify the application during runtime