SlideShare a Scribd company logo
AEM ARCHITECTURE
The six key steps to create a solid AEM solution
The six key steps
An overall
picture
Feature
mapping
The content
structure
The
integration
Deployment
model
Routine
maintenance
Create Perform Simplify
Trash out Finalize the Plan for
THE OVERALL PICTURE
Get it right…
Getting the overall picture right
 Its important to create an overall picture of the solution and
finalize where AEM fits in this overall solution before proceeding
further
 Decide on the boundary of each of the system in the overall
scope and finalize the responsibility of each
 Analyze the system separately from authoring point of view and
publish point of view. The overall layout you foresee for author
might be very different from that of publish
 The role of AEM in the overall system solution can fall into one
of the following three categories
AEM as umbrella system
A standalone AEM implementation or AEM as the wrapper system that
integrates with other systems and delivers the site
 AEM most often would be
the umbrella system
integrating with other
systems to serve the
functionality
 In this configuration AEM
takes the responsibility of
integrating with other
systems to provide
integrated functionality
AEM
A B C
X
AEM as umbrella system
AEM as provider system
Beware of the impact on AEM internal functionalities when using AEM as
provider system
 AEM would very well be
one of the backend system
providing services to other
systems
 Beware of the AEM
internal working details
when deploying AEM in
this mode
 E.g., how can AEM deliver
targeted content as
service???
System X
B C
A
AEM as provider system
AEM
AEM as independent system in the stack
 AEM could also be an
independent system
providing services to be
consumed directly from the
client devices
 AJAX calls directly to AEM
to pull content (becoming
popular in sites
implementing client MVC
frameworks)
 Beware of the security
implications when deploying
in this mode
System X
B CA
AEM as independent system
AEM
The de facto layers in the eco system
 Always consider the de facto layers
in the eco system
 These are almost always there and
has to be planned for in the
overall layout
 With AEM, these layers impacts
some of the key decisions made
 Remember AEM has dispatcher
and make attempt to cache
everything that goes out of AEM
 Anything that’s cached in
dispatcher can be cached in CDN
The de facto layers
Content Delivery Networks
Data centers
Load Balancers
Web servers
FEATURE MAPPING
Product selection and mapping the features needed to the
capabilities
AEM only vs. AEM + others
List out all the features needed and map it to the capabilities
 Consider all the features
required for the overall solution.
Features include capabilities like
Security, Multi-lingual, Analytics,
Search, Targeting, so on…
 AEM provides capabilities for
most of these features which
may or may not suffice for the
given requirement
 Beware leveraging some of
these features from AEM might
require additional licensing
Validate objectively
Adobe would try to goad you into
using their stack. While using
products from the same suite has its
advantages, it might have serious
limitations especially when your
overall solution is a complex mix of
multiple systems
Validate with POC’s
You might need few proof of concepts if you are choosing different products to
complete the feature requirements
 Some of the functionalities within AEM are tightly integrated
 For example, AEM targeting depends on campaign management and
Profiles. In case you make a choice to use Profile from a different
system and targeting from AEM, be sure that the fitment is correct
 Work of the details to the most granular level possible at this stage
 Its wise to plan few proof of concepts to validate any assumptions
that are taken
CONTENT STRUCTURE
Almost all design aspects link back to the content structure
Content structure
Almost all minor design aspects link back to the content structure
 The content structure impacts
security design, template
finalization, component visibility,
content flow, …
 Remember content stored in JCR in
hierarchical
 Keep the content structure as
simple as possible and contain
cross linking of content to the
minimal
 Keep the structure flexible…
provide to maintain more
languages, companies,
departments…
Some technical stuff to remember
 There are no rigid primary keys in
JCR storage. Do not depend on
them
 You cannot store null values.
Property not present means value
is null or empty or non-existent
 Design to keep the queries to run
on nodes nested as deep as
possible in the JCR structure
INTEGRATION
Correct integration approach is the key to the success of the
implementation
Integration approaches
Move the integration as close to the browser as possible
Integrate in the browser: Possible
when the services to be integrated
with are exposed over http and
available for consumption from the
browser
Integration at the OSGI: Use
this for logic intensive
integration. Create wrapper
bundles to be consumed from
multiple places
Integrate at the dispatcher:
Possible when the services to be
integrated with are available over
http; but are not exposed to the
browser
Integrate at the Sling layer:
Maintain caution to avoid making
this layer logic intensive. Simple
REST end points can be consumed
at sling layer
When AEM exposes services
Expose them as REST Services
Logic in OSGI
Sling servlet as gateway
Make it RESTful
Through dispatcher
Implementation Exposing
Less frequently changing content
Use batch jobs to periodically pull content into AEM
Batch job to pull
content periodically
and store it within
AEM
Expose
content for
AEM
consumption
DEPLOYMENT MODEL
Plan the deployment model well in advance…
Deployment drives some design choices
The big Mongo vs. Tar war in AEM 6.1… and Tar wins hands down
MAINTENANCE
Remember: AEM will breakdown if maintenance activities
are not carried out periodically
Backup, Purge, Compact
A lot happens inside AEM and is prone to corruption if not maintained
properly
Backup Purge Compact
 AEM backup is
copying the file system
 Repository structure to
align with backup
policy
 Provision additional
systems to run backup
on if preferred
 Plan separate backups
for author and publish
 Version, workflows
and audit logs needs
to be purged
 Finalize purge policy
and configure purge
activities
 The repository would
quickly grow to a
huge size if not for
purging
 This requires AEM
downtime.
 Best approach is to do
it on one instance and
clone that instance to
other instances
(publish)
 Keep the publish
instance homogenous
(identical clones)
THANK YOU
Feedback and suggestions welcome. Please write to ashokkumar_ta /
ashokkumar.ta@gmail.com

More Related Content

What's hot

AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWS
Ian Massingham
 
Az 104 session 4: azure storage
Az 104 session 4: azure storageAz 104 session 4: azure storage
Az 104 session 4: azure storage
AzureEzy1
 
Aws multi-region High Availability
Aws multi-region High Availability Aws multi-region High Availability
Aws multi-region High Availability
Adam Book
 
Intro to AWS Cloud Development Kit | AWS Floor28
Intro to AWS Cloud Development Kit | AWS Floor28Intro to AWS Cloud Development Kit | AWS Floor28
Intro to AWS Cloud Development Kit | AWS Floor28
Amazon Web Services
 
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptxDevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptx
Turja Narayan Chaudhuri
 
Azure ARM Template
Azure ARM TemplateAzure ARM Template
Azure ARM Template
DevOps Indonesia
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
AdobeMarketingCloud
 
Adobe Experience Manager Vision and Roadmap
Adobe Experience Manager Vision and RoadmapAdobe Experience Manager Vision and Roadmap
Adobe Experience Manager Vision and Roadmap
Loni Stark
 
Microservices Architecture for AEM
Microservices Architecture for AEMMicroservices Architecture for AEM
Microservices Architecture for AEM
Maciej Majchrzak
 
Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)
Amazon Web Services
 
Introduction to Azure IaaS
Introduction to Azure IaaSIntroduction to Azure IaaS
Introduction to Azure IaaS
Robert Crane
 
Tech talk on Tailwind CSS
Tech talk on Tailwind CSSTech talk on Tailwind CSS
Tech talk on Tailwind CSS
Squareboat
 
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
Jalpesh Vadgama
 
Az 900 session 2-core azure services
Az 900 session 2-core azure servicesAz 900 session 2-core azure services
Az 900 session 2-core azure services
AzureEzy1
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Amazon Web Services
 
AEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & FeaturesAEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & Features
Abhinit Bhatnagar
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core components
Lokesh BS
 
AKS
AKSAKS
FinOps
FinOpsFinOps
OpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of SwaggerOpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of Swagger
SmartBear
 

What's hot (20)

AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWS
 
Az 104 session 4: azure storage
Az 104 session 4: azure storageAz 104 session 4: azure storage
Az 104 session 4: azure storage
 
Aws multi-region High Availability
Aws multi-region High Availability Aws multi-region High Availability
Aws multi-region High Availability
 
Intro to AWS Cloud Development Kit | AWS Floor28
Intro to AWS Cloud Development Kit | AWS Floor28Intro to AWS Cloud Development Kit | AWS Floor28
Intro to AWS Cloud Development Kit | AWS Floor28
 
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptxDevSecOps in the Cloud from the Lens of a  Well-Architected Framework.pptx
DevSecOps in the Cloud from the Lens of a Well-Architected Framework.pptx
 
Azure ARM Template
Azure ARM TemplateAzure ARM Template
Azure ARM Template
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
Adobe Experience Manager Vision and Roadmap
Adobe Experience Manager Vision and RoadmapAdobe Experience Manager Vision and Roadmap
Adobe Experience Manager Vision and Roadmap
 
Microservices Architecture for AEM
Microservices Architecture for AEMMicroservices Architecture for AEM
Microservices Architecture for AEM
 
Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)Introduction to Amazon Elastic File System (EFS)
Introduction to Amazon Elastic File System (EFS)
 
Introduction to Azure IaaS
Introduction to Azure IaaSIntroduction to Azure IaaS
Introduction to Azure IaaS
 
Tech talk on Tailwind CSS
Tech talk on Tailwind CSSTech talk on Tailwind CSS
Tech talk on Tailwind CSS
 
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
Ahmedabad- Global Azure bootcamp- Azure Storage Services- Global Azure Bootca...
 
Az 900 session 2-core azure services
Az 900 session 2-core azure servicesAz 900 session 2-core azure services
Az 900 session 2-core azure services
 
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
Infrastructure Is Code with the AWS Cloud Development Kit (DEV372) - AWS re:I...
 
AEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & FeaturesAEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & Features
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core components
 
AKS
AKSAKS
AKS
 
FinOps
FinOpsFinOps
FinOps
 
OpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of SwaggerOpenAPI 3.0, And What It Means for the Future of Swagger
OpenAPI 3.0, And What It Means for the Future of Swagger
 

Similar to The six key steps to AEM architecture

Amazon EC2 Systems Manager for Hybrid Cloud Management at Scale
Amazon EC2 Systems Manager for Hybrid Cloud Management at ScaleAmazon EC2 Systems Manager for Hybrid Cloud Management at Scale
Amazon EC2 Systems Manager for Hybrid Cloud Management at Scale
Amazon Web Services
 
Andy West – Director of Technology Architecture, Pearson
Andy West – Director of Technology Architecture, PearsonAndy West – Director of Technology Architecture, Pearson
Andy West – Director of Technology Architecture, Pearson
RightScale
 
EMC Atmos Cloud Storage Architecture
EMC Atmos Cloud Storage ArchitectureEMC Atmos Cloud Storage Architecture
EMC Atmos Cloud Storage Architecture
EMC
 
Oracle UCM Implementation Patterns
Oracle UCM Implementation PatternsOracle UCM Implementation Patterns
Oracle UCM Implementation Patterns
Brian Huff
 
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Steven Smith
 
Amplexor Customer Experience Management seminar Technical overview Euroclear ...
Amplexor Customer Experience Management seminar Technical overview Euroclear ...Amplexor Customer Experience Management seminar Technical overview Euroclear ...
Amplexor Customer Experience Management seminar Technical overview Euroclear ...
Amplexor
 
Best practice adoption (and lack there of)
Best practice adoption (and lack there of)Best practice adoption (and lack there of)
Best practice adoption (and lack there of)
John Pape
 
07 software design
07   software design07   software design
07 software design
kebsterz
 
07 software design
07   software design07   software design
07 software design
kebsterz
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
Jignesh Patel
 
Ppt slides 05
Ppt slides 05Ppt slides 05
Ppt slides 05
locpx
 
Grid Control
Grid ControlGrid Control
Grid Control
bcole23
 
Pega robotics best practices building solutions (1)
Pega robotics best practices   building solutions (1)Pega robotics best practices   building solutions (1)
Pega robotics best practices building solutions (1)
KPMG US
 
Pega Robotics Training @Phno: whatsapp @8142976573.
Pega Robotics Training @Phno: whatsapp @8142976573.Pega Robotics Training @Phno: whatsapp @8142976573.
Pega Robotics Training @Phno: whatsapp @8142976573.
Santhoo Vardan
 
Dynamo Amazon’s Highly Available Key-value Store Giuseppe D.docx
Dynamo Amazon’s Highly Available Key-value Store Giuseppe D.docxDynamo Amazon’s Highly Available Key-value Store Giuseppe D.docx
Dynamo Amazon’s Highly Available Key-value Store Giuseppe D.docx
jacksnathalie
 
01 concepts of_object-orientation (1)
01 concepts of_object-orientation (1)01 concepts of_object-orientation (1)
01 concepts of_object-orientation (1)
AaDi RA
 
Unit iii(part b - architectural design)
Unit   iii(part b - architectural design)Unit   iii(part b - architectural design)
Unit iii(part b - architectural design)
BALAJI A
 
Test Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutionsTest Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutions
Quontra Solutions
 
Designing a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsDesigning a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutions
QUONTRASOLUTIONS
 
Moving file shares to ibm file net p8 summary
Moving file shares to ibm file net p8 summaryMoving file shares to ibm file net p8 summary
Moving file shares to ibm file net p8 summary
David Champeau
 

Similar to The six key steps to AEM architecture (20)

Amazon EC2 Systems Manager for Hybrid Cloud Management at Scale
Amazon EC2 Systems Manager for Hybrid Cloud Management at ScaleAmazon EC2 Systems Manager for Hybrid Cloud Management at Scale
Amazon EC2 Systems Manager for Hybrid Cloud Management at Scale
 
Andy West – Director of Technology Architecture, Pearson
Andy West – Director of Technology Architecture, PearsonAndy West – Director of Technology Architecture, Pearson
Andy West – Director of Technology Architecture, Pearson
 
EMC Atmos Cloud Storage Architecture
EMC Atmos Cloud Storage ArchitectureEMC Atmos Cloud Storage Architecture
EMC Atmos Cloud Storage Architecture
 
Oracle UCM Implementation Patterns
Oracle UCM Implementation PatternsOracle UCM Implementation Patterns
Oracle UCM Implementation Patterns
 
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
Design Pattern Mastery - Momentum Dev Con 19 Apr 2018
 
Amplexor Customer Experience Management seminar Technical overview Euroclear ...
Amplexor Customer Experience Management seminar Technical overview Euroclear ...Amplexor Customer Experience Management seminar Technical overview Euroclear ...
Amplexor Customer Experience Management seminar Technical overview Euroclear ...
 
Best practice adoption (and lack there of)
Best practice adoption (and lack there of)Best practice adoption (and lack there of)
Best practice adoption (and lack there of)
 
07 software design
07   software design07   software design
07 software design
 
07 software design
07   software design07   software design
07 software design
 
Aspect Oriented Software Development
Aspect Oriented Software DevelopmentAspect Oriented Software Development
Aspect Oriented Software Development
 
Ppt slides 05
Ppt slides 05Ppt slides 05
Ppt slides 05
 
Grid Control
Grid ControlGrid Control
Grid Control
 
Pega robotics best practices building solutions (1)
Pega robotics best practices   building solutions (1)Pega robotics best practices   building solutions (1)
Pega robotics best practices building solutions (1)
 
Pega Robotics Training @Phno: whatsapp @8142976573.
Pega Robotics Training @Phno: whatsapp @8142976573.Pega Robotics Training @Phno: whatsapp @8142976573.
Pega Robotics Training @Phno: whatsapp @8142976573.
 
Dynamo Amazon’s Highly Available Key-value Store Giuseppe D.docx
Dynamo Amazon’s Highly Available Key-value Store Giuseppe D.docxDynamo Amazon’s Highly Available Key-value Store Giuseppe D.docx
Dynamo Amazon’s Highly Available Key-value Store Giuseppe D.docx
 
01 concepts of_object-orientation (1)
01 concepts of_object-orientation (1)01 concepts of_object-orientation (1)
01 concepts of_object-orientation (1)
 
Unit iii(part b - architectural design)
Unit   iii(part b - architectural design)Unit   iii(part b - architectural design)
Unit iii(part b - architectural design)
 
Test Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutionsTest Automation Framework Online Training by QuontraSolutions
Test Automation Framework Online Training by QuontraSolutions
 
Designing a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutionsDesigning a Test Automation Framework By Quontra solutions
Designing a Test Automation Framework By Quontra solutions
 
Moving file shares to ibm file net p8 summary
Moving file shares to ibm file net p8 summaryMoving file shares to ibm file net p8 summary
Moving file shares to ibm file net p8 summary
 

More from Ashokkumar T A

A quick introduction to Strapi CMS
A quick introduction to Strapi CMSA quick introduction to Strapi CMS
A quick introduction to Strapi CMS
Ashokkumar T A
 
A quick introduction to GraphQL
A quick introduction to GraphQLA quick introduction to GraphQL
A quick introduction to GraphQL
Ashokkumar T A
 
Cloud trends - 2020
Cloud   trends - 2020Cloud   trends - 2020
Cloud trends - 2020
Ashokkumar T A
 
AEM - Binary less replication
AEM - Binary less replicationAEM - Binary less replication
AEM - Binary less replication
Ashokkumar T A
 
Microservices trends - 2020
Microservices   trends - 2020Microservices   trends - 2020
Microservices trends - 2020
Ashokkumar T A
 
Upgrading or migrating to a higher AEM version - Planning and process
Upgrading or migrating to a higher AEM version - Planning and processUpgrading or migrating to a higher AEM version - Planning and process
Upgrading or migrating to a higher AEM version - Planning and process
Ashokkumar T A
 
Aligning to AEMs Release Cycle
Aligning to AEMs Release CycleAligning to AEMs Release Cycle
Aligning to AEMs Release Cycle
Ashokkumar T A
 
Designing for search in AEM
Designing for search in AEMDesigning for search in AEM
Designing for search in AEM
Ashokkumar T A
 
AEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly toolsAEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly tools
Ashokkumar T A
 
On MQ Series & JMS
On MQ Series & JMSOn MQ Series & JMS
On MQ Series & JMS
Ashokkumar T A
 
Aem offline content
Aem offline contentAem offline content
Aem offline content
Ashokkumar T A
 
Reactive applications
Reactive applicationsReactive applications
Reactive applications
Ashokkumar T A
 
Redis overview
Redis overviewRedis overview
Redis overview
Ashokkumar T A
 
Apache shiro security framework
Apache shiro security frameworkApache shiro security framework
Apache shiro security framework
Ashokkumar T A
 
Web analytics an intro
Web analytics   an introWeb analytics   an intro
Web analytics an intro
Ashokkumar T A
 
Cms product evaluation
Cms product evaluationCms product evaluation
Cms product evaluation
Ashokkumar T A
 
Aem maintenance
Aem maintenanceAem maintenance
Aem maintenance
Ashokkumar T A
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricks
Ashokkumar T A
 

More from Ashokkumar T A (18)

A quick introduction to Strapi CMS
A quick introduction to Strapi CMSA quick introduction to Strapi CMS
A quick introduction to Strapi CMS
 
A quick introduction to GraphQL
A quick introduction to GraphQLA quick introduction to GraphQL
A quick introduction to GraphQL
 
Cloud trends - 2020
Cloud   trends - 2020Cloud   trends - 2020
Cloud trends - 2020
 
AEM - Binary less replication
AEM - Binary less replicationAEM - Binary less replication
AEM - Binary less replication
 
Microservices trends - 2020
Microservices   trends - 2020Microservices   trends - 2020
Microservices trends - 2020
 
Upgrading or migrating to a higher AEM version - Planning and process
Upgrading or migrating to a higher AEM version - Planning and processUpgrading or migrating to a higher AEM version - Planning and process
Upgrading or migrating to a higher AEM version - Planning and process
 
Aligning to AEMs Release Cycle
Aligning to AEMs Release CycleAligning to AEMs Release Cycle
Aligning to AEMs Release Cycle
 
Designing for search in AEM
Designing for search in AEMDesigning for search in AEM
Designing for search in AEM
 
AEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly toolsAEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly tools
 
On MQ Series & JMS
On MQ Series & JMSOn MQ Series & JMS
On MQ Series & JMS
 
Aem offline content
Aem offline contentAem offline content
Aem offline content
 
Reactive applications
Reactive applicationsReactive applications
Reactive applications
 
Redis overview
Redis overviewRedis overview
Redis overview
 
Apache shiro security framework
Apache shiro security frameworkApache shiro security framework
Apache shiro security framework
 
Web analytics an intro
Web analytics   an introWeb analytics   an intro
Web analytics an intro
 
Cms product evaluation
Cms product evaluationCms product evaluation
Cms product evaluation
 
Aem maintenance
Aem maintenanceAem maintenance
Aem maintenance
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricks
 

Recently uploaded

Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 

The six key steps to AEM architecture

  • 1. AEM ARCHITECTURE The six key steps to create a solid AEM solution
  • 2. The six key steps An overall picture Feature mapping The content structure The integration Deployment model Routine maintenance Create Perform Simplify Trash out Finalize the Plan for
  • 4. Getting the overall picture right  Its important to create an overall picture of the solution and finalize where AEM fits in this overall solution before proceeding further  Decide on the boundary of each of the system in the overall scope and finalize the responsibility of each  Analyze the system separately from authoring point of view and publish point of view. The overall layout you foresee for author might be very different from that of publish  The role of AEM in the overall system solution can fall into one of the following three categories
  • 5. AEM as umbrella system A standalone AEM implementation or AEM as the wrapper system that integrates with other systems and delivers the site  AEM most often would be the umbrella system integrating with other systems to serve the functionality  In this configuration AEM takes the responsibility of integrating with other systems to provide integrated functionality AEM A B C X AEM as umbrella system
  • 6. AEM as provider system Beware of the impact on AEM internal functionalities when using AEM as provider system  AEM would very well be one of the backend system providing services to other systems  Beware of the AEM internal working details when deploying AEM in this mode  E.g., how can AEM deliver targeted content as service??? System X B C A AEM as provider system AEM
  • 7. AEM as independent system in the stack  AEM could also be an independent system providing services to be consumed directly from the client devices  AJAX calls directly to AEM to pull content (becoming popular in sites implementing client MVC frameworks)  Beware of the security implications when deploying in this mode System X B CA AEM as independent system AEM
  • 8. The de facto layers in the eco system  Always consider the de facto layers in the eco system  These are almost always there and has to be planned for in the overall layout  With AEM, these layers impacts some of the key decisions made  Remember AEM has dispatcher and make attempt to cache everything that goes out of AEM  Anything that’s cached in dispatcher can be cached in CDN The de facto layers Content Delivery Networks Data centers Load Balancers Web servers
  • 9. FEATURE MAPPING Product selection and mapping the features needed to the capabilities
  • 10. AEM only vs. AEM + others List out all the features needed and map it to the capabilities  Consider all the features required for the overall solution. Features include capabilities like Security, Multi-lingual, Analytics, Search, Targeting, so on…  AEM provides capabilities for most of these features which may or may not suffice for the given requirement  Beware leveraging some of these features from AEM might require additional licensing Validate objectively Adobe would try to goad you into using their stack. While using products from the same suite has its advantages, it might have serious limitations especially when your overall solution is a complex mix of multiple systems
  • 11. Validate with POC’s You might need few proof of concepts if you are choosing different products to complete the feature requirements  Some of the functionalities within AEM are tightly integrated  For example, AEM targeting depends on campaign management and Profiles. In case you make a choice to use Profile from a different system and targeting from AEM, be sure that the fitment is correct  Work of the details to the most granular level possible at this stage  Its wise to plan few proof of concepts to validate any assumptions that are taken
  • 12. CONTENT STRUCTURE Almost all design aspects link back to the content structure
  • 13. Content structure Almost all minor design aspects link back to the content structure  The content structure impacts security design, template finalization, component visibility, content flow, …  Remember content stored in JCR in hierarchical  Keep the content structure as simple as possible and contain cross linking of content to the minimal  Keep the structure flexible… provide to maintain more languages, companies, departments… Some technical stuff to remember  There are no rigid primary keys in JCR storage. Do not depend on them  You cannot store null values. Property not present means value is null or empty or non-existent  Design to keep the queries to run on nodes nested as deep as possible in the JCR structure
  • 14. INTEGRATION Correct integration approach is the key to the success of the implementation
  • 15. Integration approaches Move the integration as close to the browser as possible Integrate in the browser: Possible when the services to be integrated with are exposed over http and available for consumption from the browser Integration at the OSGI: Use this for logic intensive integration. Create wrapper bundles to be consumed from multiple places Integrate at the dispatcher: Possible when the services to be integrated with are available over http; but are not exposed to the browser Integrate at the Sling layer: Maintain caution to avoid making this layer logic intensive. Simple REST end points can be consumed at sling layer
  • 16. When AEM exposes services Expose them as REST Services Logic in OSGI Sling servlet as gateway Make it RESTful Through dispatcher Implementation Exposing
  • 17. Less frequently changing content Use batch jobs to periodically pull content into AEM Batch job to pull content periodically and store it within AEM Expose content for AEM consumption
  • 18. DEPLOYMENT MODEL Plan the deployment model well in advance…
  • 19. Deployment drives some design choices The big Mongo vs. Tar war in AEM 6.1… and Tar wins hands down
  • 20. MAINTENANCE Remember: AEM will breakdown if maintenance activities are not carried out periodically
  • 21. Backup, Purge, Compact A lot happens inside AEM and is prone to corruption if not maintained properly Backup Purge Compact  AEM backup is copying the file system  Repository structure to align with backup policy  Provision additional systems to run backup on if preferred  Plan separate backups for author and publish  Version, workflows and audit logs needs to be purged  Finalize purge policy and configure purge activities  The repository would quickly grow to a huge size if not for purging  This requires AEM downtime.  Best approach is to do it on one instance and clone that instance to other instances (publish)  Keep the publish instance homogenous (identical clones)
  • 22. THANK YOU Feedback and suggestions welcome. Please write to ashokkumar_ta / ashokkumar.ta@gmail.com