Wednesday, June 14, 2017

Technology stack related to AEM

Technology stack:
General scenario:
website developing steps:
1)we need to buy a domain name
2)whatever files you want to get publish, put that stuff on the web server 
3)And host that web server to the domain.
4)database files to webserver.
5)html, css  files to webserver.
6)these are the things to develop website.

example: How to develop school website?
to store the data we require database.(Data layer) 
we are programming to set the data (service layer (to insert the data and remove the data))
UI ———> HTML,CSS.(UI layer).
we have three layers.
What is the server?
the server which takes the requests,processing it and giving the response.
Apache,Tomcat,IBM webserver these are all the servers.
—————————————————————————
If you want to build any application, you should have server, on that you will build the application.
——————————————————————————————————————————————
Did we install any server, while we install AEM??
No,we did not install any server while we install AEM,because by default AEM comes with a server that is Servlet Engine (CQSE or External App server).
If people want to install AEM on the web sphere, they can do it.If they dont want to use that they can.Most of time they use out of the box server.
——————————————————————————————————————————————————
In AEM, CRX Content Repository is the data layer.
(to store the data).
All the contents stores in content repository.
————————————————————————————————————————————————————
In AEM,Sling content delivery is the service layer.
(to insert the data and read  the data and give it to the UI layer).
—————————————————————————————————————————
AEM module is nothing like the UI layer.
——————————————————————————————————————————————————
OSGI framework everything is developed on this framework.
————————————————————————————————————————————————
Optional:APP server for example IBM web sphere ,you have to install AEM on that server.we can do it, it is optional and out of box.[But by default AEM comes with the APP server CQSE].
Note:These are called Portal implementations, where we integrate application server ,that is [AEM+Application server].
[for this we have to request the war file,in order to install AEM].
Please go through the Adobe.
——————————————————————————————————————————————————————
OSGI  is a dynamic software component system for JAVA.In an OSGI based system an application is composed of an assemblage of components called bundles in OSGI terminology which can be dynamically installed, started, stopped and uninstalled at runtime without shutting down and restarting the entire application.
——————————————————————————————————————————————————————
example:In regular java application ,had a existing website ,if i want to add new functionality, we need to change the code and deploy on my app server.
But if we use OSGI framework (it is also a java framework),you can a build a small functionality (like a bundle)  and each bundle you can stop and start it, with out stopping the application.so that is the benefit.
——————————————————————————————————————————————————————
the console that is the 
localhost:4506/system/console/bundles
this is nothing but the apache felix or OSGI console.
if you want to stop anything we can stop it for email bundle.that does not effect the application, only that major functionality get stopped.
—————————————————————————————————————————————————————
In AEM the data layer is the content repository
All the data within AEM is stored in the built-in CRX content repository, which is an implementation of the Java Content Repository specification (JCR).
(In the past the name is JCR and at present they improved and they are mentioning as CRX).
The repository built into AEM is called CRX.
CRX is Adobe’s implementation of the Content Repository Specification for Java Technology 2.0,an official Standard published through the JAVA community process as JSR-238 
(version 1.0 was known as JSR-170).
JCR is useful in the file system (read,write,hierarches,looking,streams,access control)
JCR is used in database (integrity,tx,structure,query)
JCR is used in the content repository (multivalue, unstructured, full-text,sort order, observation, versioning ).
In this JCR you will get all the functionality. 
JCR structure content is stored in the form of  node and property ,it is similar to the database column and rows.
How and where the data is stored ??
localhost:4506/crx/de/index.jsp#/apps
this is where the data is stored.this is basically the developer tool.
All the AEM shipping code,AEM functionality  will be under the libs node.
they are different types of the node, each and everything will have their own node symbols.
Under the home node we have the groups, rep policy and users.
whatever your planning to update/the custom code, will come under the  apps node.(apps all the customized level project code).
under the etc node, you will have the config files and related information.
every node explaination is in the screenshot.
Note: u supposed to not update any code in the lib node, it should be done under the apps node.
Under which folder the content is created??
all your website pages and contents will be under the content folder.
only the system generated will be under the var node.
when you create a node ,under type you will have namespace like nt,cq.if we want we can create our own namespace also.

——————————————————————————————————————————————————

No comments:

Post a Comment