What is Adobe Experience Manager

aem-tutorial, adobe experience manager
What is AEM ?

Many of people are confused about aem, in this aem tutorial we elaborate what is aem, exactly.

In this AEM Tutorial series we will learn about aem, what is aem and its working, how it different from other Content Management System.What technologies are used in aem. How it support REST FULL service.

Adobe Experience Manager is the latest java base, Content Management System. Which uses many technology stacks including OSGI framework, Java Content Repository,Sling framework, Dispatcher which is the some portion taken from Dev-Ops to provide some advance feature like load-balancing and cache management and some other advance security feature like url rewriting etc, which makes AEM different and robust Content Management System. Adobe Experience Manager is best suitable for content oriented web-applications. Where content is changes time to time.This is where you can learn more about is aem architecture.

Aem uses OSGI framework to provide modularity to the application by making the application in bundles form.The OSGI bundle is basically a jar file, which is the collection
of classes and interfaces.

We play with components, services, sling models and servlet to work in aem. Service is the java class that uses some osgi annotations to register java class as service with component annotation and properties. The way we define the class as service, component may be different because of annotations version, actually there are different version of annotation are available in OSGI framework, how to registers a java class as service , component. we will learn lots about in other posts.

Sling model is just a simple java pojo class with getter and setter methods to getting and setting values of java object, with some additional efforts, means we inject all
sling model properties using sling injection annotations, so that it automatically map these properties with jcr node properties and we can directly fetch them using sightly.

Java content repository is the specifications of java where everything is stored in node form. which uses the unstructured DB to manage and store Data in aem. As everything is stored in node form , obliviously it has some properties that properties are we define using sling models. SO that they can mapped automatically.
JCR-198 is the first version of java specifications and now JCR-283 version-2 is the latest specifications.
Hope so far you got your answer What is aem?

well, in order to work with aem you have to make a project structure using lazy-bone or maven, maven is re-commanded will discuss in other post. So, You have to installed java and maven in your machine. and you must have knowledge of jre, java interface, collections and servlet to work with aem. And AEM jar file with licence file.

When jar file is extracted it generate a folder name crx-quickstart, which is like the server of aem where aem application is deployed. so aem comes with build in server no need to setup the server separately, we can but for this we have configure server for aem separately. aem application can be deployed as standalone application on third party server as OSGI framework bundle.