SlideShare a Scribd company logo
1 of 22
Download to read offline
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

Four approaches to integrate aem with external systems by Jan Kuzniak
Four approaches to integrate aem with external systems by Jan KuzniakFour approaches to integrate aem with external systems by Jan Kuzniak
Four approaches to integrate aem with external systems by Jan Kuzniak
AEM HUB
 

What's hot (20)

Four approaches to integrate aem with external systems by Jan Kuzniak
Four approaches to integrate aem with external systems by Jan KuzniakFour approaches to integrate aem with external systems by Jan Kuzniak
Four approaches to integrate aem with external systems by Jan Kuzniak
 
An introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel AvivAn introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
An introduction to AWS CloudFormation - Pop-up Loft Tel Aviv
 
Building PaaS with Amazon EKS for the Large-Scale, Highly Regulated Enterpris...
Building PaaS with Amazon EKS for the Large-Scale, Highly Regulated Enterpris...Building PaaS with Amazon EKS for the Large-Scale, Highly Regulated Enterpris...
Building PaaS with Amazon EKS for the Large-Scale, Highly Regulated Enterpris...
 
AEM (CQ) Dispatcher Security and CDN+Browser Caching
AEM (CQ) Dispatcher Security and CDN+Browser CachingAEM (CQ) Dispatcher Security and CDN+Browser Caching
AEM (CQ) Dispatcher Security and CDN+Browser Caching
 
Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부Fargate 를 이용한 ECS with VPC 1부
Fargate 를 이용한 ECS with VPC 1부
 
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
 
(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS(DVO401) Deep Dive into Blue/Green Deployments on AWS
(DVO401) Deep Dive into Blue/Green Deployments on AWS
 
Sling Models Overview
Sling Models OverviewSling Models Overview
Sling Models Overview
 
Amazon Personalize 개인화 추천 모델 만들기::김태수, 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon Personalize 개인화 추천 모델 만들기::김태수, 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나Amazon Personalize 개인화 추천 모델 만들기::김태수, 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
Amazon Personalize 개인화 추천 모델 만들기::김태수, 솔루션즈 아키텍트, AWS::AWS AIML 스페셜 웨비나
 
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive20190731 Black Belt Online Seminar Amazon ECS Deep Dive
20190731 Black Belt Online Seminar Amazon ECS Deep Dive
 
Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018
 Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018 Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018
Terraform을 이용한 Infrastructure as Code 실전 구성하기 :: 변정훈::AWS Summit Seoul 2018
 
Welcome to the AWS Cloud
Welcome to the AWS CloudWelcome to the AWS Cloud
Welcome to the AWS Cloud
 
Deep Dive on AWS CloudFormation
Deep Dive on AWS CloudFormationDeep Dive on AWS CloudFormation
Deep Dive on AWS CloudFormation
 
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
Amazon EMR과 SageMaker를 이용하여 데이터를 준비하고 머신러닝 모델 개발 하기
 
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
 
Dynamic components using SPA concepts in AEM
Dynamic components using SPA concepts in AEMDynamic components using SPA concepts in AEM
Dynamic components using SPA concepts in AEM
 
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model  20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
 
Content migration to AEM
Content migration to AEMContent migration to AEM
Content migration to AEM
 
Mastering the Sling Rewriter
Mastering the Sling RewriterMastering the Sling Rewriter
Mastering the Sling Rewriter
 
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
 

Similar to The six key steps to AEM architecture

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
 
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
 
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

More from Ashokkumar T A (17)

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
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

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