- How do you build scalable application using AEM?
caching, modulaity, layers, data vs content., rendering, (cluster pending, common store)
Scalability Handle in AEM/ Web Application
1)Good Capacity Planning –
2)Chossing correct architecture patterns
static vs dynamic
2)Chosing correct deploymnet strategy
For AEM 6/6.1,
Single Tar MK
Tar MK with Cold Standby
Tar MK Farms
Oak Cluster with MongoMK Failover for High Availability in a Single Datacenter
Oak Cluster with MongoMK Failover Across Multiple Datacenters
AEM Community store
Data store separation
3)Integration Types / Design Appraches
Multi level caching
Type of FEED Integration
- a) High Processiong Feed .. Ex- DAM assets renditions processing Solun. Offloading , data store sharing including publish
- b) High Volume – Ex .. PIM data sync, soln offloading processing instance, import throttling, batch saves, separate replication queues, Use nt:unstructured, no NAS
High Frequency Input Field – ex.. news feed
- c) High Volume and Processing –
- cc) High Volume and High Performance Delivery
- d) Geographically Distributed Editors – apache mod deflate, dispatcher
- e) Many DAM assets – datastore common set up , ex..Amazon S3 for data store
Tar MK – Performance – Segment Store
Mongo MK – Scalability – Documenet Store
Separate Data store – TAR, FileSys, S3, Mongo,RDB
- Various way of achieving Application Deployment For AEM 6/6.1,
- Single Tar MK
- Tar MK with Cold Standby
- Tar MK Farms
- Oak Cluster with MongoMK Failover for High Availability in a Single Datacenter
- Oak Cluster with MongoMK Failover Across Multiple Datacenters
- AEM Community store
- Data store separation
- Integration with REST, SOAP API
- Sling Flow
- How OSGI works?
- How Sling works?
- Servlets in CQ
SlingAllMethodsServlet Helper base class for data modifying Servlets used in Sling.
SlingSafeMethodsServlet Helper base class for read-only Servlets used in Sling.
- AEM stalk
- OSGI – activate method what it does?
activation, deactivation methods uses component needs to be notified, when it is activated and deactivated. For this, the component may implement an activate method and a deactivate method.
- servlet global variable
- strutured vs unstruterd content
CRX allows you to store both structured and unstructured data. If you use a strict, pre-defined repository structure, CRX acts like a database. If you use an unstructured repository, you can use it like a file system, and put information of any type at any place in the repository.
The JCR node type nt:unstructured is designed to accept any properties, so you can dump at will strings, dates or even binaries into such a node. This node type is very useful to get started with coding an application when you do not know what the end result should look like. It allows for a development approach coined “data first, structure later” where structure emerges from data, rather than be defined a priori.
On the other end of the spectrum you can have rigidly defined node types. JCR can enforce constraints on data structures according to schema.JCR allows you to specify e.g. mandatory properties, default values or the allowed child node types in a node hierarchy. The Apache Jackrabbit site has a good overview of the Compact Namespace and Node Type Definition which is a notation used to define such structure.
- jcr single property node vs multiple property node
In some cases, a property may have more than one value. A property that may have more than one value is referred to as a multi-valued property (regardless of whether it currently has one or more than one value).
Whether a particular property is a multi-valued property is governed by the property definition applicable to it, which is determined by the node type of the property’s parent node.
The values within a multi-valued property are ordered.
Accessing the values of such a property is done with the method Property.getValues, which returns an array of Value objects that contains the values in their prescribed order.
Accessing a multi-valued property with Property.getValue, or a single-value property with Property.getValues will throw a ValueFormatException.
The values stored within a multi-valued property are all of the same type.
- SEO Techniques
- Create unique accurate Page Title
- 4.Domain Nmae
- 5.Site Structure
- 6.Site Map
- URL Structure
- Indexable content – Img should have alt, applet, flash with text desc in html
- Keyword usage and target
- 10.404 page
- 11.Effectoieve use robots.txt
- 12.Image optimization – alt, separate directory, JPEG or supported type in extn, noscript for resposnive image,
- video optimization – crawlable
- Integrate Component with Webservices
- Tag api handling – how it is used pages
- faceted search in CQ
- servlets mapping in cq, same servlet for many other work
- localization using cq
- Dynamic data integration with CQ component
- Heading Label globalization
- MSM – how it works
- AEM with Spring Services Integration
- complete tech flow ecomm with CQ
- dynamic web service integration with AEM component various options
- workflow set up – customized set up
- dynamic web service data integration with component
- salesforce integration
- SAML, SSO, Oauth in CQ
- AEM 6 vs 6.1 Features
31.AEM Project challenges and risks
2) Licesne cost
3) Integration with Non Java tech
4) ecommerce full fledged appl
5) Maintaining cost – migration
32. Why AEM
1) Full Fledged Products for entire marketing business
2) Marketing Cloud Tech
3) Built on top of open source tech
4) Business Agility –
5, OOB, Marketing cloud
1) Careful evaluation & Suitable Architecture
2) Monolithic architecture – This one need careful scalable and perform, householding activity
3) Continuos version chnage need proper plan
4) Stability issue – some fea, session management
5) Need Product knowledge – Sync up