cms architecture for 2009

70
Modern architecture for CMSes: from OSGi to REST 12-jun-2009 David Nuescheler Spec-Lead JCR (JSR-170 & JSR-283) Committer & Member of the Apache Software Foundation

Upload: david-nuescheler

Post on 05-Dec-2014

5.904 views

Category:

Technology


0 download

DESCRIPTION

Running a CMS evaluation? 8 Key areas selected. Advice on important IT architecture decisions and the respective business problems that they address.

TRANSCRIPT

Page 1: CMS Architecture for 2009

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

Page 2: CMS Architecture for 2009

Content-Centric Infrastructure

David Nuescheler Chief Technology [email protected]

David NueschelerJackrabbit Committer / [email protected]

David NueschelerJSR-170 Spec [email protected]

2

Page 3: CMS Architecture for 2009

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

Page 4: CMS Architecture for 2009

4

Over 250 Global Customers.

Page 5: CMS Architecture for 2009

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

Page 6: CMS Architecture for 2009

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.

Page 7: CMS Architecture for 2009

History of ECM

DM

Page 8: CMS Architecture for 2009

History of ECM

RM

Page 9: CMS Architecture for 2009

The Promise of ECM

DM

“Platform”“Content Repository”

RM BPM

Page 10: CMS Architecture for 2009

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

Page 11: CMS Architecture for 2009

The Reality of ECM

Page 12: CMS Architecture for 2009

“Platform Not Found” Errorplease reboot.

Page 13: CMS Architecture for 2009

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.

Page 14: CMS Architecture for 2009

Rebooting ECM

Web means Business.Business means Web.

Page 15: CMS Architecture for 2009

Rebooting ECM

It’s WebContent Management

-1998-

WebSite

Page 16: CMS Architecture for 2009

Rebooting ECM

It’s Web ContentManagement

-2008-

General Purpose

Page 17: CMS Architecture for 2009

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.

Page 18: CMS Architecture for 2009

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.

Page 19: CMS Architecture for 2009

88 Business Issues

“...and what it means for the architecture of your CMS platform”

Page 20: CMS Architecture for 2009

88 Business Issues

No Vendor Lock-In: JCRbusiness issue architecture

term.

Page 21: CMS Architecture for 2009

The Promise of ECM

DM

“Platform”“Content Repository”

RM BPM

Page 22: CMS Architecture for 2009

22

Industry Standards

170

283

Page 23: CMS Architecture for 2009

23

JCR AdoptionTracking success

Page 24: CMS Architecture for 2009

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

Page 25: CMS Architecture for 2009

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

Page 26: CMS Architecture for 2009

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

Page 27: CMS Architecture for 2009

Free your content

proprietarysilos:Liabilities

open standardrepositories:

Assets

Page 28: CMS Architecture for 2009

88 Business Issues

No Vendor Lock-In: JCR

Application Integration: Portal, Mash-up & OpenSocial

Page 29: CMS Architecture for 2009

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

Page 30: CMS Architecture for 2009

Remember me?

The Portlet-less Portal Paradox.

Page 31: CMS Architecture for 2009

Gadget Galore.

Weather? 122 Gadgets.

Traffic? 152 Gadgets.

Clock? 137 Gadgets.

Choose from over 40k.

Page 32: CMS Architecture for 2009

32

Application Integration Example Architecture

title

header

nav container

content

content

Content Block

Label

Label

Label

OKCancel

Progress labelExternalApplication

contentblock

labels

Page 33: CMS Architecture for 2009

88 Business Issues

No Vendor Lock-In: JCR

Application Integration: Portal, Mash-up & OpenSocial

Business Agility: Data First & OSGI

Page 34: CMS Architecture for 2009

Data First.

Your data model is going to be...

...WRONG.

it is just a matter of time

Page 35: CMS Architecture for 2009

Data First

... allows to be unstructured where convenient

... does not burden you with technicalities of model evolution

Page 36: CMS Architecture for 2009

OSGI.

Your application is going to be...

...OUTDATED.

...or buggy.

Page 37: CMS Architecture for 2009

OSGI

... update and patch your applications at runtime

... extend your application without downtime

... modularize and isolate your applications

Page 38: CMS Architecture for 2009

88 Business Issues

No Vendor Lock-In: JCR

Application Integration: Portal, Mash-up & OpenSocial

Business Agility: Data First & OSGI

Search Engine Optimization: REST

Page 39: CMS Architecture for 2009

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”

Page 40: CMS Architecture for 2009

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”

Page 41: CMS Architecture for 2009

Reclaiming the web. RESTful URL decomposition

/cars/audi/s4.details.html

Content Repository Path...selects a particular script

Page 42: CMS Architecture for 2009

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

Page 43: CMS Architecture for 2009

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

Page 44: CMS Architecture for 2009

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

Page 45: CMS Architecture for 2009

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

Page 46: CMS Architecture for 2009

IntranetDMZ

Control the community

user generated content

propagate contentto authoring environment

publish approved content

full workflow support

Production Authoring

displays onlyclean content

Page 47: CMS Architecture for 2009

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

Page 48: CMS Architecture for 2009

Baking vs. Frying

Baked(Static Delivery)

1

Fried(Dynamic Delivery)

2

Page 49: CMS Architecture for 2009

Clickstream Cloud™

Implicit, Targeted, Dynamic Contextualized Content

Page 50: CMS Architecture for 2009

Clickstream Cloud™

Match

Company InvestorStandard

Good Match

Company InvestorStandard CRX

Better Match

Company Investor

Standard CRX

Page 51: CMS Architecture for 2009

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

Page 52: CMS Architecture for 2009

JavaScript

Web 2.0: AJAX

direct full access

Page 53: CMS Architecture for 2009

ActionScript

Web 2.0: Flex

direct full access

Page 54: CMS Architecture for 2009

ActionScript

Web 2.0: Flash

direct full access

Page 55: CMS Architecture for 2009

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

Page 56: CMS Architecture for 2009

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

Page 57: CMS Architecture for 2009

Scaling Options in ECM

3

“Cloud”-styleHot-Join

“cluster-borne”

Page 58: CMS Architecture for 2009

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.

Page 59: CMS Architecture for 2009

Standardized Content Infrastructure

Platform

WCM

CRXJCR CompliantContent Repository

connector

connector

connector

connector

DAMSocialCollab

+ Portal

+ Search

+ BPM

Page 60: CMS Architecture for 2009

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

Page 61: CMS Architecture for 2009

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

Page 62: CMS Architecture for 2009

Platform

Content Repository

Apache Sling

Tagging, Workflow, Widgets, Internationalization, Development

CR

XC

Qpl

atfo

rm

JCR

OSGI

CEV

A P

latform

REST

Page 63: CMS Architecture for 2009

Stakeholders

CMOBusiness

CIOIT

Authors

SiteOwner

Developer

Systems

Page 64: CMS Architecture for 2009

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

Page 65: CMS Architecture for 2009

2008

Page 66: CMS Architecture for 2009

5.2

Page 68: CMS Architecture for 2009

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:

Page 69: CMS Architecture for 2009

thank you....more information on http://www.day.com( )

Page 70: CMS Architecture for 2009

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.