CRX 2.2 – Developer Deep-Dive      Cedric Huesler, Gabriel Walt – March 2011© 2011 Adobe Systems Incorporated. All Rights ...
What you will learn in the next 50mins       What is a Content Repository and how does it work       Comparison to relat...
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   3
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   4
CRX in a Nutshell – What’s in the Package?                Web-based IDE              Eclipse-based IDE                    ...
Now what’s wrong with databases?Database Aging?A. All fields become optionalB. All relationships become many-to-manyC. Dat...
Content Repository Structure (simplified)            parent                            node                               ...
First – Content Repository – then JCR                       It’s a database that looks like a file system and             ...
CRX – Built-in Protocols/APIs  Add, consume, managed content with these interfaces:       Java Content Repository API – c...
Managed Java in OSGi Container                                   Security                                                 ...
We call it “Open Core”                                                                              Application Runtime   ...
Let’s hack something© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.   12
Sling Cheat SheetDownload here – or on: http://dev.day.com/content/ddc/blog/2008/07/cheatsheet.html© 2011 Adobe Systems In...
Typical Developer Setup                                                            QA                                     ...
CRX Clustering (Share Nothing vs. Share DataStore)                                Node 1                                  ...
Try it yourself! – Your Questions.       Download CRX: http://www.day.com/downloadcrx       Create account and get Devel...
© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Upcoming SlideShare
Loading in …5
×

Crx 2.2 Deep-Dive

3,907 views
3,737 views

Published on

Covering:
- What is a Content Repository and how does it work
- Comparison to relational database
- Why stable APIs are important and what to do if they are not
- Benefits of the open and transparent development
- Oh boy.. can I see it already!
- Why Sling is called Sling
- Various ways to deploy and develop code
- Deployment options and clustering

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,907
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
73
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Crx 2.2 Deep-Dive

  1. 1. CRX 2.2 – Developer Deep-Dive Cedric Huesler, Gabriel Walt – March 2011© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  2. 2. What you will learn in the next 50mins  What is a Content Repository and how does it work  Comparison to relational database  Why stable APIs are important and what to do if they are not  Benefits of the open and transparent development  Oh boy.. can I see it already!  Why Sling is called Sling  Various ways to deploy and develop code  Deployment options and clustering© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 2
  3. 3. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 3
  4. 4. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 4
  5. 5. CRX in a Nutshell – What’s in the Package? Web-based IDE Eclipse-based IDE Web Application Framework Configuration Mgmt Hot-code deployment Application Runtime Package Manager Package Share Hot-backup Shared Nothing Cluster Content Repository JavaEngine Servlet VM© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  6. 6. Now what’s wrong with databases?Database Aging?A. All fields become optionalB. All relationships become many-to-manyC. Data type change  Boolean → multiple choice  Character fields → text  Date → optional month, dayHard to do: Transparent Versioning, on-the-fly schema changes, full text queries, …. 6© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  7. 7. Content Repository Structure (simplified) parent node type nt:folder nt:file nt:unstructured rep:User rep:ACL nt:nodeType … mixins mix:versionable mix:lockable sling:VanityPath cq:Taggable …. key = value string long date path binary …. key = values[] string long date path binary … nodes© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 7
  8. 8. First – Content Repository – then JCR It’s a database that looks like a file system and features good stuff like unstructured, versioning, observation… Defined by Expert Group Java API Stable API JCR Java Content Repository Open Standard JSR-170 (2002-2005) JSR-283 (2005-2009) JSR-333 (2010-....)© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 8
  9. 9. CRX – Built-in Protocols/APIs Add, consume, managed content with these interfaces:  Java Content Repository API – complete JCR 2.0 implementation  Content Management Interoperability Services - CMIS 1.0  WebDAV – with versioning, access control and search  Windows Network File Share – CIFS/SMB  RESTful Web API for JavaScript and Flash/Flex  Java Remoting with RMI and HTTP  LDAP and any JAAS plug-in  Native repository interface via Virtual Repository – e.g. Microsoft SharePoint© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 9
  10. 10. Managed Java in OSGi Container Security Bundle B V2.1.0 Services Bundle A Bundle B V1.1.0 V2.0.0 Bundle A Bundle B Bundle C Service Registry V1.0.0 V1.0.0 V1.0.0 Life Cycle Class Loading OSGi Container© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 10
  11. 11. We call it “Open Core” Application Runtime Web Framework: Apache Sling Web/Eclipse IDE OSGi Runtime: Apache Felix Vault & SVN Tools Repository JCR: Apache Jackrabbit Search Extensions CIFS/SMB Access Search: Apache Lucene Graphic Rendering Virtual Repository Content Extraction: TAR-based Shared-nothing POI, Tika, PDFBox Node-store Cluster CRX Platform© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  12. 12. Let’s hack something© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 12
  13. 13. Sling Cheat SheetDownload here – or on: http://dev.day.com/content/ddc/blog/2008/07/cheatsheet.html© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 13
  14. 14. Typical Developer Setup QA PROD Sub- App Packages App version CRX CRX LoadPackage Balancer Share & App HTTP App CRX Accelerator CRX CRXDE LDAP, CRM, Billing, ECM Repositories Vault Any IDE © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 14
  15. 15. CRX Clustering (Share Nothing vs. Share DataStore) Node 1 Node 2 CRX Repository Open connection for 2-way CRX Repository [Master] communication to fetch changes from master & get notifications. Index Data Data Index TarPM Forward writes TarPM Store Store Read/write Binaries Read Binaries DataStore Shared FS / S3 Install CRX on Amazon EC2 – check out: http://dev.day.com/installcrxonec2© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 15
  16. 16. Try it yourself! – Your Questions.  Download CRX: http://www.day.com/downloadcrx  Create account and get Developer License and access to PackageShare  Version 2.2 is the latest  Documentation: http://docs.day.com/  Contact  Cedric Huesler: chuesler@adobe.com  Gabriel Walt gwalt@adobe.com© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 16
  17. 17. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

×