new repository in aem 6 by michael marth
TRANSCRIPT
![Page 1: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/1.jpg)
New Repository in AEM 6and other goodies for developers
Michael Marth, Adobe
![Page 2: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/2.jpg)
About @michaelmarth
Senior Engineering Manager at AdobeResponsible for Granite platform
![Page 3: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/3.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Before we start
3
Certifications
![Page 4: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/4.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Scalability Oak
4
AEM 6.0 Content Repository
![Page 5: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/5.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
AEM 6.0 Content Repository
Goals Scalability
Big repositories Distributed, many cluster nodes
Write throughput Parallel writes Write performance
Many child nodes Many ACLs
5
Project “Oak” aka Jackrabbit 3, all open source Apache Software Foundation
http://jackrabbit.apache.org/oak/ Implementation of the JCR spec, JSR-283
Your apps run unchanged
![Page 6: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/6.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Architecture
6
JCR
oak-core
Micro kernel
Oak API
Micro kernel API
1 per language
1 in Java
Many
![Page 7: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/7.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Microkernel choose according to your scalability and performance requirements
7
jjjJCR Content Repository
Persistence
AEM
TAR
Performance Optimized and Made for Scale
![Page 8: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/8.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Node Store Where nodes get stored
8
Nodes Binaries
• Tar MKTar files, locally
• MongoMKMongoDB
• …(other are WIP)
oak-core
JCR
![Page 9: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/9.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Data Stores Where the binary data gets stored
9
• File System (local, NAS, SAN)shareable
• S3for AWS deployments
• In Tar fileseasier backup and ops
• In MongoDBeasier backup and ops
oak-core
JCR
Nodes Binaries
![Page 10: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/10.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
TarMK Memory-mapped files
10
92 GBunused
CQ5.x Tar PM 100GB RAM in Server
8GB JVM
AEM6 Tar MK: 100GB RAM in Server
8GB JVM
92 GB off-heapused for running the repo from RAM
![Page 11: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/11.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
MongoMK Cluster Deployment Topologies
11
MongoS
AEM with Oak
MongoD PrimaryMongoD
SecondaryMongoD
Secondary
MongoDB replication
r/w r r
MongoS
AEM with Oak
MongoS
AEM with Oak
Share
Noth
ing
Share
Noth
ing
![Page 12: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/12.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Micro Kernels Which one shall I use?
12
AEM6 Author
default: TarMKlocal, fast, easy to operate
“I need reliability”: TarMK + Failover instanceHTTP-transported copy of instance, failover switch e.g. Nagios
“I need scalability”: MongoMK ClusterScale CPU (many AEM instances)Scale read throughput (many Mongo replicas)Scale globally (distribute replicas globally)
“I cannot change the repository”: Remain on CRX2 ClusterSupported, but deprecated
![Page 13: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/13.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Micro Kernels Which one shall I use?
13
AEM6 Publish
Primary use case is Publishing: TarMK as a “Farm” (independent instances)fast, independent, easy to operate
Primary use case is User Generated Content: MongoMK in a Publish Clusterall Publish instances running on same MongoDB
![Page 14: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/14.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Search Pluggable Index Providers
14
• Property Index Providerstored in repo, backup’edsync/asyncre-indexable asynchronouslyordered indexes
• Lucenefull-text extractionstored in data store
• Solrin JVM (OSGi runtime) or remote (for production)native queries language exposed
oak-core
JCR
MK
![Page 15: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/15.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Search Configurable Indexes
15
• Index Definition via nodesnot everything indexed by default anymoreallows smaller, specialized, faster indexesno need to index nodes you do not search for
• In AEM: pre-configured indexes for AEM itself
• Define custom indexes for your application’s needswithout an index the repo will be traversed on a query
oak-core
JCR
MK
![Page 16: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/16.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Numbers Performance & Scalability
16
TarMK running on my MacBook (i.e. totally unscientific)• add nodes, session.save() for each node: xxx nodes added / sec• add nodes, batch save(): xxx nodes added / sec• add property, catch save(): xxx properties added / sec• import files from Wikipedia, flat hierarchy:
MongoMK running on our Jenkins server• 1 Oak instance on MongoMK: nodes added / sec…• 3 Oak instances on MongoMK: nodes added / sec… (factor yyy)• 5 Oak instances on MongoMK: nodes added / sec…(factor yyy)
![Page 17: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/17.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Performance & Scalability Some Hints
17
Observations in a Cluster• Many Oak instances, high write throughput needed• Be mindful of observation listeners
• Only listen to local events• Restrict paths you listen on
Many child nodes• Many child nodes, high write throughput• Be mindful of sorted node types
• nt:unstructured is sorted• oak:unstructured is not
![Page 18: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/18.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Efficiency We ♡ Sys Admins
18
Operations Dashboard
![Page 19: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/19.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Project Efficiency Granite Operations Dashboard provides control over system health, diagnosis and maintenance automation, efficiently and extensible.
19
Main features:• System health overview at a glance• Reducing time to find, analyze and fix issues• One-Click System Status to help file AEM Support tickets• Maintenance automation to reduce project operations
![Page 20: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/20.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 20
![Page 21: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/21.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 21
![Page 22: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/22.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 22
![Page 23: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/23.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 23
DEMO
![Page 24: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/24.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Efficiency We ♡ Sys Admins
24
One-Click Setup
![Page 25: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/25.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Project Efficiency One-Click Setup instantly fires up AEM instances in the cloud right
25
Main features:• Ready-made AEM configurations• Spins up machines in AWS – you maintain full control of the
machines
![Page 26: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/26.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 26
![Page 27: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/27.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 27
![Page 28: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/28.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 28
![Page 29: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/29.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 29
![Page 30: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/30.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 30
DEMO
![Page 31: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/31.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Efficiency We ♡ Developers
31
Developer Mode
![Page 32: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/32.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Project Efficiency Developer Mode
32
Main features:• Inspect component performance right in the page• Run automated tests• Inspect component errors right in the context of the page
![Page 33: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/33.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 33
![Page 34: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/34.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 34
![Page 35: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/35.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 35
![Page 36: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/36.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 36
![Page 37: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/37.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 37
DEMO
![Page 38: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/38.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Efficiency We ♡ Developers
38
Eclipse Tooling
![Page 39: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/39.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 39
DEMO
![Page 40: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/40.jpg)
What else is coming up
![Page 41: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/41.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 41
SightlyBeautiful Markup
![Page 42: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/42.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 42
MobilePhoneGap Enterprise
![Page 43: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/43.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 43
one more thing™
![Page 44: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/44.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Sneak Peak
44
Granite.JSaka AEM Micro Engine
![Page 45: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/45.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Granite.JS Granite Javascript Platform
45
Main features:• Lightweight, scripting server stack• REST based content-driven web framework for server-side
JavaScript development• Runs Sightly• Based on Node.js
![Page 46: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/46.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Granite.JS Architecture
46
jjj
Coral UI / Sightly
Sling
AEM
Granite/AEM - Java
Oak
REST
Microkernel (Java)
OSGi
jjj
Coral UI / Sightly
Sling.JS
Granite.JS – Node.JS
Repository
REST
Microkernel (C)
NPM
![Page 47: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/47.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Granite.JS Use Case (I) – Web Developer in AEM Projects
47
UI Dev
codes
Sightly,CSS, etc
Brackets Grunt Granite.JS
Java Dev
codes
Java,OSGi services
Eclipse Maven Granite/AEM
gitpushMaven AEM Production
Pkg
![Page 48: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/48.jpg)
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 48
DEMO
![Page 49: New Repository in AEM 6 by Michael Marth](https://reader036.vdocuments.net/reader036/viewer/2022062703/554d0fcab4c9052c5a8b504b/html5/thumbnails/49.jpg)
Thank for your attention