7.pdf This presentation captures many uses and the significance of the number...
Day @ cio-gipfel 2007
1. Workshop:
Umsetzung einer erfolgreichen CMS
Strategie
David Nuescheler
CTO / Day Software
JSR-170 & JSR-283 Spec Lead
Member of the Apache Software Foundation
Content-Centric Infrastructure 1
2. Before I start:
David Nuescheler Chief Technology Officer
david.nuescheler@day.com
Content-Centric Infrastructure 2
4. Customers
Automotive Industry Transport / Travel / Logistics Chemical / Healthcare
Financial Services Media / Telco Consumer / Services Public Services
Content-Centric Infrastructure 4
5. Before I start:
David Nuescheler Chief Technology Officer
david.nuescheler@day.com
David Nuescheler
Jackrabbit Committer / Member
uncled@apache.org
Content-Centric Infrastructure 5
6. Apache Software Foundation
One of the worlds most successful Open Source Initiatives
Best known for the Apache Webserver:
“Apache WebServer has been the most popular web
server on the Internet since April 1996.”
#1 for over ten years and counting.
Content-Centric Infrastructure 6
7. Before I start:
David Nuescheler
JSR-170 Spec Lead
jsr-170-comments@jcp.org
David Nuescheler Chief Technology Officer
david.nuescheler@day.com
David Nuescheler
Jackrabbit Committer / Member
uncled@apache.org
Content-Centric Infrastructure 7
8. Java Community Process
Open Software Standards Organization
Funded by Sun
Extremely solid performance and track record in
defining and implementing standards
Content-Centric Infrastructure 8
9. Before I start:
focus
David Nuescheler
JSR-170 Spec Lead
jsr-170-comments@jcp.org
David Nuescheler Chief Technology Officer
david.nuescheler@day.com
David Nuescheler
Jackrabbit Committer / Member
uncled@apache.org
Content-Centric Infrastructure 9
10. Sep-04-07
Agenda
ECM Today: Silos and Lock-in.
Standards, Standards, Standards...
Why should I care?
Tomorrow is Today: Demo
Q&A
Content-Centric Infrastructure 10
11. Sep-04-07
Problem
Content Isolated in Silos
Accounting Marketing Legal HR R&D
Application A Application B Application C Application D Application E
Repository Repository Repository Repository Repository
A B C D E
Content-Centric Infrastructure 11
12. Analysts & Reports
“So many to choose from”
So many
reports, so
little
agreemen
t!
Content-Centric Infrastructure 12
13. Vendors “So many to choose from”
Exo Microsoft
Apache Jackrabbit Oracle XML DB OpenText Livelink
ECMS Platform Sharepoint
So many
vendRepository Alfresco ECM
Xythos or
s, so little
Day CRX IBM FileNet P8 Vignette V7
agreemen
t!
Interwoven +hund
IBM CM EMC Documentum
Repository reds m
ore
Content-Centric Infrastructure 13
14. Reality Check!
Task
write a “code snippet” that lists all the
documents in a folder by “title”.
* ...Code Snippe
ts courtesy of
the
JSR170 Exp
- ert-Group.
Content-Centric Infrastructure 14
15. Reality Check
List all documents in a folder
ession);
new LAPI_DOCUMENTS(s
<%
OCUMENTS documents =
LAPI_D
new LLValue();
LLValue childTable = ,
s(volumeID, folderID
documents.ListObject ERM_SEE, childTable);
UMENTS.P
<%
null, null, LAPI_DOC lues();
ildTable.enumerateVa
childCount = node.getContent
eration children = ch
Count(); Enum
reElements()) {
for(int i=0;i<childCount;i
while(children.hasMo
++) { ;
alue)e.nextElement()
LLValue child = (LLV
IContent child = node.getC
ontent(i);
toString(quot;Namequot;);
String title = child.
Property title = child.get
PropertyByName(quot;Titlequot;);
%
%><%= title.getValue() %><
%><%= title %><br/><
br/><%
}
}
%>
%>
<% <%
fndocs PageIterator children
= new = page.getPages();
IFnObj while (children.hasNex
SetDua t()) {
lProxy
Page child = children
(
fnfold .nextPage();
er.get
int nu Conten Container toplevel =
mDocs ts(idm child.getContent();
=
for (i
nt i = fndocs.getCo Folder Atom title = toplevel
Conten .getAtom(quot;Titlequot;);
unt(
1; t.idmF
IFnDoc i <= numDocs ); %><%= title %><br /><%
olderC
ontent
umentD ; i++) }
Docume
ua {
new IF
nDocum l fndoc = nt));
%>
entDua
IFnPro lProxy
pertie (fndoc
sD
IFnPro
pertyD ual propset s.ge
= fndo tItem(new In
ual id
String mTi c.g te
title
= idmT tleProp = pr etProperties ger(i)));
%><%=
ti ;
i
if (co tle %><br/>< tleProp.getV opset<% etIte (); er.getDocuments())
.g
m(quot;Tit cuments = new IDocumentsProxy(bind
mClean % alue()
; ocuments dolequot;);
up)
cleane ID
r.rele {
documents.cache();
} ase(fn ();
documents.getCount
doc);
}
t documentCount =
in {
documentCount; i++)
%> ByIndex(i));
for (int i = 0; i< (documents.getItem
ocumentProxy
document = new ID
ment.getTitle()
String title = docu
+800
><%
%><%= title %><br/
}
%>
Content-Centric Infrastructure 15
16. Is there any agreement?
Yes, Real-life architecture!
Content-Centric Infrastructure 16
17. Is there any agreement?
Yes, Real-life architecture!
Content Management
Applications
wcms
???m
????
????
??m
dam
dms
bpm
rm
Existence of
Proprietary
a “ ontent rep
c
Interface
ository”
.
Content ...and f
eatureset
Repository
Content-Centric Infrastructure 17
18. Bottom-line:
CMS is still a very young,
fast evolving market!
many ven
dors,
frequent c
hanges
in the ma
rket,
proprieta
ry!
Content-Centric Infrastructure 18
19. Sep-04-07
Agenda
ECM Today: Silos and Lock-in.
Standards, Standards, Standards...
Why should I care?
Tomorrow is Today: Demo
Q&A
Content-Centric Infrastructure 19
20. Standards, Standards, Standards...
Andrew S. Tanenbaum, Computer Networks
The nice thing about standards is that
there are so many of them to choose from.
Not in CM
S!
Content-Centric Infrastructure 20
21. Standards, Standards, ...
In CMS and content repositories there is currently only
one relevant open standard:
called
JSR-170 == JCR
JCR focusses on the Content Repository.
Content-Centric Infrastructure 21
22. What is a content repository?
Best of both worlds
filesystem
database
hier-
archi
integ
es
re
rity structu
read streams
tx access
write locking
query control
multi-
value ning
un-
versio
obser-
“full-
structured
sort vation
text” order
content repository
content
Content-Centric Infrastructure
23. What is JSR-170?
from the JSR-170 submission
“The API should be a
standard, implementation
independent, way to access
content bi-directionally on a
granular level within a
content repository.”
submitted in
jan- 001
2
Content-Centric Infrastructure 23
24. Level 1 : Features
Read only
Simple & Covers a large number of usecases
Level1
Fine & Coarsegrained
Content Items Small to Large
Hierarchical
Parent child relationships, Sort order
Structured
Strong typed information
PropertyTypes
String, Binary, Numbers, Calendar, ...
L1
NodeTypes
Introspect complex Content Structures
Query (XPath)
Search and query
Export
XML Content Export
Content-Centric Infrastructure 24
25. Level 1: Applications
Typical Level-1 only Applications:
CMS-Templates, Content Delivery
Display Portlets
Repository Export
Reporting Applications
Federated Repositories
Overwhelming Majority of Application Source
te+
Wri Code is written using Level-1 calls
Read
Sear &
ch
Content-Centric Infrastructure 25
26. Level 2 : Features
Level 2
Write
Save changes to a repository
Unstructured
Support for weakly or unstructured Content
L2
Import
Standardized Finegrained Content Import
Referencial Integrity
Reference Tracking and Integrity
AccessControl
Introspection
Content-Centric Infrastructure 26
28. Advanced Features
Versioning
Workspaces, Merge, Update, Label, ...
JTA Support
(XA) Transactions
Observation
Monitor changes in the Repository
Adv
Query (SQL)
Search the Content Repeository using SQL
Locking
Session based and persistant
Content-Centric Infrastructure 28
33. Known Compliant Repositories
(* using 3rd party connectors)
* *
Exo Microsoft
Apache Jackrabbit Oracle XML DB OpenText Livelink
ECMS Platform Sharepoint
*
Day CRX IBM FileNet P8 Xythos Repository Alfresco ECM Vignette V7
any ors
ow mvendd?
HSe
* DBMou ne
R do y
+hund
*
Interwoven rs
regiede of TCKs
IBM CM EMC Documentum
Repository st red
Content-Centric Infrastructure 33
34. Some known JCR Applications
Fast
BEA Portal Oracle Portal Enterprise Search
Sun JBoss Portal Interface 21
OpenPortal
Day Communique Spring Framework
DAM
magnolia WCMS Day Communique
Apache Sling
Collab
Mindquarry
Alfresco ECMS
Collaboration Apache Tapestry
QSLabs
Apache Day Communiqué
Compliance
Cocoon WCMS IBM FileNet
medic-2-medic WebSiteManager
Artifactory
Apache James mapofmedicine
Maven Proxy
Exo
TYPO3
ECMS Platform
GX WebManager v5.0 WCM
InfoQ Hippo Liferay
Nuxeo ECM Online Community CMS Enterprise Portal
Jahia Sakai
Framework E-learning
Percussion QuickWCM
Rhythmix Sourcemix
WCMS Lutece Sourcemix
Portal
Content-Centric Infrastructure 34
36. Sep-04-07
Problem
Content Isolated in Silos
Accounting Marketing Legal HR R&D
Application A Application B Application C Application D Application E
Repository Repository Repository Repository Repository
A B C D E
Content-Centric Infrastructure 36
37. Sep-04-07
Strategy
Enterprise 2.0 & the Future of ECM
Accounting Marketing Legal HR R&D
Web Frontend
Application A Application B Application C Application D Application E
JSR-170 API
Repository Repository Repository Repository Repository
A B C D E
Content-Centric Infrastructure 37
38. Enterprise Software
Market Evolution
Operating Systems
WebServers
Relational Databases
J2EE Application Servers
Commodity
Infrastructure
Content Industry
Standard
Chaos
Content-Centric Infrastructure 38
39. Sep-04-07
Agenda
ECM Today: Silos and Lock-in.
Standards, Standards, Standards...
Why should I care?
Tomorrow is Today: Demo
Q&A
Content-Centric Infrastructure 39
40. Why should I care?
Two killer Showcases!
1
Java vs. Microsoft Sharepoint
2
Repository Consolidation
Content-Centric Infrastructure 40
41. Java vs. Sharepoint
We are using or
We develop custom
plan to use Microsoft
Applications in Java /
Sharepoint in our
J2EE.
organization.
Content-Centric Infrastructure 41
42. Java vs. Sharepoint
Mission Critical Applications Mission Critical Information
Java J2EE Business Microsoft
Applications Sharepoint
Content-Centric Infrastructure 42
43. Java vs. Sharepoint
Mission Critical Applications Mission Critical Information
JCR Connector
for Sharepoint
Java J2EE Business Microsoft
Applications Sharepoint
Content-Centric Infrastructure 43
44. Why should I care?
Two killer Showcases!
1
Java vs. Microsoft Sharepoint
2
Repository Consolidation
Content-Centric Infrastructure 44
45. Reality Check
List all documents in a folder
ession);
new LAPI_DOCUMENTS(s
<%
OCUMENTS documents =
LAPI_D
new LLValue();
LLValue childTable = ,
s(volumeID, folderID
documents.ListObject ERM_SEE, childTable);
UMENTS.P
<%
null, null, LAPI_DOC lues();
ildTable.enumerateVa
childCount = node.getContent
eration children = ch
Count(); Enum
reElements()) {
for(int i=0;i<childCount;i
while(children.hasMo
++) { ;
alue)e.nextElement()
LLValue child = (LLV
IContent child = node.getC
JCR API
ontent(i);
toString(quot;Namequot;);
String title = child.
Property title = child.get
PropertyByName(quot;Titlequot;);
%
%><%= title.getValue() %><
%><%= title %><br/><
br/><%
<%
}
}
%>
NodeIterator children = node.getNodes();
%>
<% <%
while (children.hasNext()) { ile erator children = page.getPages();
fndocs PageIt
= new
IFnObj wh (chi
Node child = children.nextNode();ldren.hasNext()) extPage();
SetDua {
lProxy
Page child = children
(
fnfold .n
er.get
int nu
Folder Property title = child.getProperty(quot;Titlequot;);
Conten Container toplevel =
mDocs ts(idm child.getContent();
= fndo
for (i Atom title = toplevel
cs.get
nt i = Conten .getAtom(quot;Titlequot;);
Count(
%><%=mtitle %><br /><% } %><%= title %><br /><%
1; t.id F
IFnDoc i <= numDocs ); olderC
ontent
umentD
ual fn ; i++) { Docume
}
new IF nt));
doc =
nDocum %>
entDua
IFnPro lProxy
pertie
= %> tItem(new I
(fndoc
sD
IFnPro
pertyD ual propset s.ge
ual id
Stri fndo
ng tit
le = i mTitleProp = c.getPropert nteger(i)));
%><%= dmTi ies
pr
ti ;
if (co tle %><br/>< tleProp.getV opset<% etIte (); er.getDocuments())
.g
m(quot;Tit cuments = new IDocumentsProxy(bind
mClean % alue()
; ocuments dolequot;);
up)
cleane ID
r.rele {
documents.cache();
} ase(fn ();
+800
documents.getCount
doc);
}
t documentCount =
in {
documentCount; i++)
%> ByIndex(i));
for (int i = 0; i< (documents.getItem
ocumentProxy
document = new ID
ment.getTitle()
String title = docu
><%
%><%= title %><br/
}
%>
Content-Centric Infrastructure 45
46. Sep-04-07
Problem
Content Isolated in Silos
Accounting Marketing Legal HR R&D
Application A Application B Application C Application D Application E
Repository Repository Repository Repository Repository
A B C D E
Content-Centric Infrastructure 46
47. Sep-04-07
Strategy
Enterprise 2.0 & the Future of ECM
Accounting Marketing Legal HR R&D
Web Frontend
Application A Application B Application C Application D Application E
JSR-170 API
CIO:
y?
wh
Repository Repository Repository Repository Repository
A B C D E
Content-Centric Infrastructure 47
48. Sep-04-07
Solution
Standards-Based Content Repository
Accounting Marketing Legal HR R&D
Web Frontend
Application A Application B Application C Application D Application E
JSR-170 API
Java Content Repository
Content-Centric Infrastructure 48
49. Repository Consolidation
1 Unify
Access all your repository through a standardized API
2 Synchronize
Keep your repositories in sync
Consolidate
3 Turn off legacy Repositories
Content-Centric Infrastructure 49
60. Day Content Management
Industry
Standard (JCR)
connector
connector
CRX
JCR Compliant
Content Repository
connector
connector
-xxxx
2005
61. Day Content
DAM
Management
Industry
Standard (JCR)
connector
connector
CRX
JCR Compliant
Content Repository
connector
connector
xxxx
2007-
62. Day Content
DAM Collab
Management
Industry
Standard (JCR)
connector
connector
CRX
JCR Compliant
Content Repository
connector
connector
xxxx
2007-
63. Setup: “Holy Grail of Integration”
WCMS DAM Collab
tive
na R
JC s
Industry
Standard (JCR)
App
connector
connector
CRX
JCR Compliant
Content Repository
connector
connector
all the
apps share
the same
repository
Content-Centric Infrastructure 63
64. If you remember one thing!
1 Standards-based CMS.
No Ve Long-term dation
ndor onsoli tegy
Lock- investment Ca
Str
in protection
Content-Centric Infrastructure 64
65. Sep-04-07
Agenda
ECM Today: Silos and Lock-in.
Standards, Standards, Standards...
Why should I care?
Tomorrow is Today: Demo
Q&A
Content-Centric Infrastructure 65