Scalable Agile Web Development
REST meets JCR meets OSGi
Michael Marth Technology Evangelist Michael Dürig Senior Developer
michael.marth@day.com michael.duerig@day.com
Monday, June 29, 2009
Jazoon - Agenda
JCR in 3 minutes
Meet Apache Sling
demo & code
Monday, June 29, 2009
What’s JCR?
“The API should be a standard,
implementation independent, way to
access content bi-directionally on a
granular level within a
content repository.” ?
Monday, June 29, 2009
Best of both worlds.
data base file s ys te m
hier-
archi
integ
rity re es
structu
read streams
tx write access
query locking control
multi-
value
ning
obser- versio
un-structured
“full-text” sort vation
order
content reposit or y
Monday, June 29, 2009
“Data First!”
JCR s
“stru upports
cturef
irst” as
(but t
h
well.
at’s m
issing
the p
oint)
Monday, June 29, 2009
Known compliant Repositories
* using third party connector
* *
Exo Microsoft
Apache Jackrabbit Oracle XML DB ECMS Platform Sharepoint OpenText Livelink
*
Day CRX IBM FileNet P8 Xythos Repository Alfresco ECM Vignette V7
* *
any ors
ow mvendd?
H S e
Interwoven +hund DBMou ne
R do y
r s
Repository IBM CM EMC Documentum regiede of TCKs
st red
Monday, June 29, 2009
Some known JCR Applications
Fast
BEA Portal Sun Oracle Portal Enterprise Search
JBoss Portal Interface 21
OpenPortal
Day Communique Spring Framework
magnolia WCMS DAM
Apache Sling Day Communique
Alfresco ECMS Mindquarry Collab
Collaboration Apache Tapestry
QSLabs
Apache Compliance Day Communiqué
Cocoon WCMS IBM FileNet
Artifactory medic-2-medic WebSiteManager
Apache James Maven Proxy mapofmedicine
Exo
ECMS Platform TYPO3
GX WebManager v5.0 WCM
InfoQ Hippo Liferay
Nuxeo ECM Online Community CMS Enterprise Portal
Jahia Sakai
Percussion Framework E-learning
Rhythmix QuickWCM Sourcemix
WCMS Lutece Sourcemix
Monday, June 29, 2009
Portal
The Problem:
JCR
the other side
de
ve
lop
er
ha
t
“i want to build webapps”
me
Monday, June 29, 2009
Jazoon - Agenda
JCR in 3 minutes
Meet Apache Sling
demo & code
Monday, June 29, 2009
What’s Sling?
“Apache Sling is a web framework that
uses a Java Content Repository to
store and manage content.”just
g radu ate d
in Apache
incubator
Monday, June 29, 2009
What’s Sling?
exten REST archi
web
sible
ri pt i n g tectu
re
sc
OSGi
scaleable
manageable JCR
Resources
no ts
reboo
JSR 223 JS, Groo rapid
Python,vy,
... devapp
Monday, June 29, 2009
A node is a resource
GET /cars/audi/s4.txt
User-agent
Repository
Monday, June 29, 2009
A node is a resource
POST /cars/audi/s48
write
User-agent Your content
Repository is your web
server
Monday, June 29, 2009
What’s Sling?
REST
ri pt i n g
sc
JCR
Monday, June 29, 2009
Web apps and Sling scripting
/cars/audi/s4.details.html
User-agent
Repository
d
file neede
1
Convention ove
configuration r
Monday, June 29, 2009
Web apps and Sling scripting
/cars/audi/s4.details.html
User-agent
Repository
.esp
.erb
.scala
Monday, June 29, 2009
Web apps and Sling scripting
URLs do matter!
/cars/audi/s4.details.html
vs.
/product.jsp?id=/audi/s4
.jsp? This is HTM
Addressing the L
“ cript”
s Passing in “this”
Monday, June 29, 2009
What’s Sling?
REST
ri pt i n g
sc
OSGi
JCR
Monday, June 29, 2009
Sling is OSGi-based
My App
Sling
JCR
Monday, June 29, 2009
Sling is OSGi-based
Apache Felix
OSGi container
my my
bundles scripts
Sling Sling Sling
JCR
Monday, June 29, 2009
Sling is OSGi-based
e
(not just “ nabled”)
Apache Felix
OSGi container
extensible my my
my
bundles bundles scripts
modular Sling Sling Sling
JCR
hot deploy
Monday, June 29, 2009
0 comments
Post a comment