cms architecture for 2009
DESCRIPTION
Running a CMS evaluation? 8 Key areas selected. Advice on important IT architecture decisions and the respective business problems that they address.TRANSCRIPT
Modern architecture for CMSes: from OSGi to REST
12-jun-2009David Nuescheler
Spec-Lead JCR (JSR-170 & JSR-283)Committer & Member of the Apache Software Foundation
Content-Centric Infrastructure
David Nuescheler Chief Technology [email protected]
David NueschelerJackrabbit Committer / [email protected]
David NueschelerJSR-170 Spec [email protected]
2
Day Software
Founded 1993 in Basel
Headquarters: Basel, Switzerland & Newport Beach, California
Public Company since 2001
Focused on Web centric ECM
+130 Employees
Organic Growth, Debt Free
4
Over 250 Global Customers.
Example Singapore customers
Ministry of Defense
Land Transport Authority
Singapore Tourism Board
Singapore Sports Council
Health Science Authority
Ministry of Manpower
Economy Development Board
Infocomm Development Authority
Volkswagen
APEC
Starhub
Agenda
ECM HistoryA brief look back
REST, JCR, OSGI.8 business issues and theirimpact on CMS architecture
Q&Aany questions?
Modern ArchitectureShowcasing CQ 52
CMS ArchitectureConcerns in 2009.
History of ECM
DM
History of ECM
RM
The Promise of ECM
DM
“Platform”“Content Repository”
RM BPM
The Reality of ECM
DM
Repository
WCMDAM
WF WF
RepositoryRepository
WF
1985C/C++
1998TCL
2000Java
Win32
Acquiredin 96’
Acquiredin 99’
BorlandDelphi
no-linuxsupport
developerleft
compilereol
staticwebsitesrequiresjdk1.3
EJB 2.0
requires IIS 5
The Reality of ECM
“Platform Not Found” Errorplease reboot.
Agenda
ECM HistoryA brief look back
REST, JCR, OSGI.8 business issues and theirimpact on CMS architecture
Q&Aany questions?
Modern ArchitectureShowcasing CQ 52
CMS ArchitectureConcerns in 2009.
Rebooting ECM
Web means Business.Business means Web.
Rebooting ECM
It’s WebContent Management
-1998-
WebSite
Rebooting ECM
It’s Web ContentManagement
-2008-
General Purpose
Rebooting ECM
Nutrition FactsServing Size 1 ECM Platform2008
Amount Per ServingCalories from Duct Tape 0
% of Daily Value**
Solid Web PlatformBusiness AgilityCloud & Saas ReadyDriving OpenSourceContent InfrastructureStandardsDuct Tape
100%100%100%100%100%
100%
0%
* Duct Tape is not only introduced into old and crusty solutions some of the brand new solutions are slapped together from a bunch of open source projects.
** Based on a healthy diet for Enterprises leveraging the Web as an important means of driving business.
Agenda
ECM HistoryA brief look back
REST, JCR, OSGI.8 business issues and theirimpact on CMS architecture
Q&Aany questions?
Modern ArchitectureShowcasing CQ 52
CMS ArchitectureConcerns in 2009.
88 Business Issues
“...and what it means for the architecture of your CMS platform”
88 Business Issues
No Vendor Lock-In: JCRbusiness issue architecture
term.
The Promise of ECM
DM
“Platform”“Content Repository”
RM BPM
22
Industry Standards
170
283
23
JCR AdoptionTracking success
Known Compliant Repositories(* partially using 3rd party connectors)
Apache Jackrabbit Oracle XML DBExo
ECMS PlatformMicrosoft
Sharepoint OpenText Livelink
Day CRX IBM FileNet P8 Xythos Repository Alfresco ECM Vignette V7
Interwoven Repository IBM CM / Domino EMC Documentum
+hundreds of TCKsregisteredSaperionArchive
Sourcemix Sourcemix
Percussion Rhythmix Lutece
Portal
QuickWCM WCMS
Jahia Framework
Hippo CMS
InfoQ Online CommunityNuxeo ECM
Sakai E-learning
TYPO3 v5.0 WCMGX WebManager
Exo ECMS Platform
Liferay Enterprise Portal
Artifactory Maven Proxy
IBM FileNet WebSiteManagerApache James
medic-2-medic mapofmedicine
Day Communiqué WCMS
Apache Tapestry
Day Communique Collab
QSLabs ComplianceApache
Cocoon
Alfresco ECMSApache Sling
Mindquarry Collaboration
Day Communique DAMmagnolia WCMS
JBoss Portal
Some known JCR Applications
Sun OpenPortal Interface 21
Spring Framework
Fast Enterprise SearchOracle WebCenterBEA Portal
A Content Repository!?
RDBMS xmldb
FEATURES OF AN
FILESYSTEMFEATURES OF A
YOU ALWAYS WANTED
GOOD STUFFALL THE OTHER+
Transactions, Query, Structure, Integrity Binaries, Hierarchy, Locking, Access Control
Unstructured, Versioning, Full-text, Multi-Value, Sort-Order, Observation
CONTENT REPOSITORY
odb
Free your content
proprietarysilos:Liabilities
open standardrepositories:
Assets
88 Business Issues
No Vendor Lock-In: JCR
Application Integration: Portal, Mash-up & OpenSocial
Application Integration
Needs to consume and host many different applications :
JSR-168 & JSR-286 Portlets
Google Gadgets
Arbitrary existing External Web Applications
Native custom built Application Components
Remember me?
The Portlet-less Portal Paradox.
Gadget Galore.
Weather? 122 Gadgets.
Traffic? 152 Gadgets.
Clock? 137 Gadgets.
Choose from over 40k.
32
Application Integration Example Architecture
title
header
nav container
content
content
Content Block
Label
Label
Label
OKCancel
Progress labelExternalApplication
contentblock
labels
88 Business Issues
No Vendor Lock-In: JCR
Application Integration: Portal, Mash-up & OpenSocial
Business Agility: Data First & OSGI
Data First.
Your data model is going to be...
...WRONG.
it is just a matter of time
Data First
... allows to be unstructured where convenient
... does not burden you with technicalities of model evolution
OSGI.
Your application is going to be...
...OUTDATED.
...or buggy.
OSGI
... update and patch your applications at runtime
... extend your application without downtime
... modularize and isolate your applications
88 Business Issues
No Vendor Lock-In: JCR
Application Integration: Portal, Mash-up & OpenSocial
Business Agility: Data First & OSGI
Search Engine Optimization: REST
39
Roy FieldingChief Scientist Day Software
Co-Founder and Creator of Apache WebServer Project
Co-Author of HTTP, URL, … standard specification
Founder of the Apache Software Foundation
VP of the Apache WebServer project
Author of the Apache license
Creator of the term “REST”
It’s the Web. URLs matter.
.../product.jsp?id=12346
Mistake 1:Addressing the “Script”Mistake 2:.jsp? What the heck?
Mistake 3:Passing in “this”
Reclaiming the web. RESTful URL decomposition
/cars/audi/s4.details.html
Content Repository Path...selects a particular script
88 Business Issues
No Vendor Lock-In: JCR
Application Integration: Portal, Mash-up & OpenSocial
Business Agility: Data First & OSGI
Search Engine Optimization: REST
Controlled User Generated Content: Reverse Replication
User Generated Content
Tightly Integrated
Start “small” and without entry barrierControl all user generated content using flexible workflows for approvalBuilt for Enterprise Class DMZ and Load Balancing environments
<div class=”comment”> Look at my profile</div>
<div class=”comment”> Cool <b>stuff</b></div>
<div class=”comment”> Look at my profile <img src=”javascript:alert(‘ha’)”></div>
<div class=”comment”> Check out this site</div>
<div class=”comment”> Cool <b onload=”alert(‘ha’)”>stuff</b></div>
XSS Protection
#1 Attack Vector on Web-Apps: Cross Site Scripting (XSS)Needs sensible, not rigorous, escaping of HTMLBuilt-in XSS Protection Library - used in all Social Collab components & your JSPsConfigurable white list for flexible degree of freedom to user generated content
<div class=”comment”> Check out <a href=”javascript:alert(‘ha’)”>this</a> site</div>
DMZ
Reverse Replication
Accept Content from Publisher
Standard ECM/WCM Architecture: Content is created at Author node, then publishedContent can be created at Publisher as wellReverse Replication will fetch user-generated content and apply workflow, moderationSingle point of content consolidation & moderation
Author
Publish
Publish
Publish
Load Balancer
Load Balancer
Moderation Workflow
User Posts Content
IntranetDMZ
Control the community
user generated content
propagate contentto authoring environment
publish approved content
full workflow support
Production Authoring
displays onlyclean content
88 Business Issues
No Vendor Lock-In: JCR
Application Integration: Portal, Mash-up & OpenSocial
Business Agility: Data First & OSGI
Search Engine Optimization: REST
Controlled User Generated Content: Reverse Replication
Targeting, Personalization, MVT: Dynamic Delivery
Baking vs. Frying
Baked(Static Delivery)
1
Fried(Dynamic Delivery)
2
Clickstream Cloud™
Implicit, Targeted, Dynamic Contextualized Content
Clickstream Cloud™
Match
Company InvestorStandard
Good Match
Company InvestorStandard CRX
Better Match
Company Investor
Standard CRX
88 Business Issues
No Vendor Lock-In: JCR
Application Integration: Portal, Mash-up & OpenSocial
Business Agility: Data First & OSGI
Search Engine Optimization: REST
Controlled User Generated Content: Reverse Replication
Targeting, Personalization, MVT: Dynamic Delivery
Web 2.0: Flash, Flex & Ajax
JavaScript
Web 2.0: AJAX
direct full access
ActionScript
Web 2.0: Flex
direct full access
ActionScript
Web 2.0: Flash
direct full access
88 Business Issues
No Vendor Lock-In: JCR
Application Integration: Portal, Mash-up & OpenSocial
Business Agility: Data First & OSGI
Search Engine Optimization: REST
Controlled User Generated Content: Reverse Replication
Targeting, Personalization, MVT: Dynamic Delivery
Web 2.0: Flash, Flex & Ajax
Storm traffic: Cloud Style scaling
Scaling Options in ECM
1 2
“Ostrich”-style
1. Configuring Clusters
Several steps are needed to setup a Communiqué 4.x cluster with CRX 1.4 TarPM.
Copyright © 1993-2008 Day Software AG Configuring Clusters
PDF Created : 19.10.2008 14:09:59http://docs.day.com
Page 1/1
! ! "#$%!&!'(!&)*!
+,-!.,/!0'12%12!-#1#$%3!45!0'1(6$7361$!86$9!:;#6<#=6<62>!
61!#!?71!0<7@2%3!A1;63'1B%12!
!!
!
*CDCED!!!
!
0'12%12!-#1#$%B%12!"%3('3B#1F%!
+,-!?6<6F'1!4#<<%>!G#=!!!
!
!
!
!
!
1/284
1/20
“Exception”-style
Scaling Options in ECM
3
“Cloud”-styleHot-Join
“cluster-borne”
Agenda
ECM HistoryA brief look back
REST, JCR, OSGI.8 business issues and theirimpact on CMS architecture
Q&Aany questions?
Modern ArchitectureShowcasing CQ 52
CMS ArchitectureConcerns in 2009.
Standardized Content Infrastructure
Platform
WCM
CRXJCR CompliantContent Repository
connector
connector
connector
connector
DAMSocialCollab
+ Portal
+ Search
+ BPM
Introducing CQ-DAM
Intuitive UI, „Casual User“ Friendly
AJAX, Web 2.0 User Interface (no client)
High Productivity User Interactions
Fully JCR (JSR-170) compatible
100% pure Java, fully J2EE
SOAP or Restful WebService (SPI)
Separation of Application and Repository
Scalability and Availability, Stateless
New
Introducing CQ-Collab
Full blown integrated Wiki, entirely JCR-Based
Enterprise Blogging modeled after the ease of use of WordPress
Distributed calendaring management for public and group calendars, finegrained Workflow and Access Control integration
New
Platform
Content Repository
Apache Sling
Tagging, Workflow, Widgets, Internationalization, Development
CR
XC
Qpl
atfo
rm
JCR
OSGI
CEV
A P
latform
REST
Stakeholders
CMOBusiness
CIOIT
Authors
SiteOwner
Developer
Systems
CQ History
‘94 ... ‘98 ‘99 ‘00 ‘01 ‘02 ‘03 ‘04 ‘05 ‘06 ‘07
cq2
cq3
cq4
Innovations:CFC!, .ECMA, any, Dispatcher, ContentBus
Innovation:Pure Java
Innovation:
JCR based
Architecture & Infrastructure Revolutions
2008
5.2
demo
Your next RFP for CMS:
Do you support JCR?Is your software a portlet container & OpenSocial container?Does your system support Data First & OSGI?Is your system based on a REST architecture?Do you support Reverse Replication?Do you have a Dynamic Delivery? Are you frying or baking? Do you have live access to content for Flash, Flex & Ajax?Do you support Cloud Style scaling?
ACME CORP WCM RFP:
Agenda
ECM HistoryA brief look back
REST, JCR, OSGI.8 business issues and theirimpact on CMS architecture
Q&Aany questions?
Modern ArchitectureShowcasing CQ 52
CMS ArchitectureConcerns in 2009.