Download - WCM Deployment Patterns
10/09/2007 © Copyright 2007 Content Here.
<C O N T E N T H E R E/>
Web Content Deployment Patternspresented by Seth Gottlieb
jboye08aarhus, dk
november, 2008
1
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Patterns?
2
Re-usable solutions to recurring problems
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Why do we need patterns?
3
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Why do we need patterns?
4
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Why do we need patterns?
5
customers vendors
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />Patterns give us a common language to describe repeatable solutions
>> Architectural Patterns
.. Similar solutions to the same problem
>> Usage patterns
.. Universal usage scenarios
>> Implementation patterns
.. PSO Experience (formal/informal)
.. Productized solutions
6
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Where it all started>> Fried
7
>> Baked
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
A problem that all WCM systems face
8
When?
Publish Time
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Different architecturesRequest Time
9
management
delivery
management
repository
publisher delivery
!=
repository
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Each has its advantages
10
Performance/Stability
Dynamism
high trafficpersonalization
access controlcost savings
availability
decoupling“website in a box”
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />Most products are based on one of the strategies
11
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Each has compensation strategies
12
Performance/Stability
Dynamism
cachingclustering
code publishing
structured publishingdynamic client
fragment publishing
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Frying Systems: reusing outputs
13
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Caching strategies>> Data caching
.. Read-optimized repository
.. Object caching
>> Page caching
.. Fragment caching
.. Full page caching
.. Reverse proxy
>> Site caching
.. Spider
.. Static deploy
14
OSCache
GNU WGetCMFDeployment
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Caching: The Whole Hog
15
central repository
satellite repository
satellite repository
satellite repository
object cache
object cache
renderer fragment cache
pages
reverse proxy
load balancer
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Baking style: Adding logic
16
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Code publishing (parbaked)>>Strategy:
Use the CMS to publish unexecuted scripting code to an active delivery tier
>>Advantages.. Good for small touches of
dynamism with “Model 1” architectures
.. Choose your own scripting language
>>Disadvantages:.. Breaks “MVC” because model
is baked into the view.. Deployment issues on Java.
Better for .NET and PHP based delivery tiers.
17
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Dynamic client>> Strategy:
Statically publish content and use Javascript on the client to add dynamism
>> Advantages
.. Minimal disruption to static publishing system
.. Lightweight integration across multiple systems
>> Disadvantages:
.. Security can be a problem
.. SEO issues
.. Accessibility issues
.. Browser compatibility
18
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Fragment publishing>> Strategy:
Use the CMS to publish HTML fragments that can be assembled by a dynamic web application
>> Advantages
.. Good for static blocks like headers, footers, and “about pages”
.. Works well with portals
>> Disadvantages:
.. Preview issues
.. Fragments are static
.. Access control issues
19
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Structured publishing>> Strategy:
Use the CMS to publish structured content into a dynamic web application
>> Advantages
.. Maximum flexibility on the delivery tier
.. Maximum de-coupling: “Separation of Concerns.”
>> Disadvantages:
.. Need to have a data driven delivery tier
.. Preview is often problematic
20
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
Summary>> Different CMS architectures come with native strengths and
weaknesses
>> With patterns, you can transform your CMS
.. Feed your content into a dynamic presentation layer
.. “Re-heat” your pre-fried content
21
10/09/2007 © Copyright 2008 Content Here.
< C O N T E N T H E R E />
22
Thank You
Seth GottliebContent [email protected] http://www.contenthere.nethttp://blog.contenthere.net