Más contenido relacionado
La actualidad más candente (18)
Similar a NLJUG: Content Management, Standards, Opensource & JCP (20)
Más de David Nuescheler (20)
NLJUG: Content Management, Standards, Opensource & JCP
- 2. Introduction
Adobe Systems Incorporated
David Nuescheler ChiefMailstop W18Officer
Technology
david@day.com 345 Park Avenue
David Nuescheler San Jose, CA 95110-2704
VP Prod & Tech Day uncled@adobe.com David Nuescheler
JSR-170/283/333 Spec Lead
jsr-170-comments@jcp.org
David Nuescheler
Jackrabbit Committer / Member
uncled@apache.org David Nuescheler
TC Member / CMIS-JCR Liaison
david@day.com
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.
- 3. Day So ware - part of Adobe
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 3
- 4. Agenda
CM & Standards e JCP & Apache Q&A
History and comparison ”It was complicated”
1 2 3 4 5
JCR Deep Dive Demo
On JSR-170/JSR-283/JSR-333. JCR in Action.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 4
- 5. Introducing the CM Cloud
WCM
COLLAB
SCM PIM
SOCIAL
RM DAM
DM
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 5
- 7. ere is light:
e Content Repository.
All disciplines of CM
agree on the existence and the featureset
of a content repository
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 7
- 8. A Content Repository!?
CONTENT REPOSITORY
FEATURES OF AN FEATURES OF A
RDBMS FILESYSTEM
Transactions, Query, Structure, Integrity Binaries, Hierarchy, Locking, Access Control
+
ALL THE OTHER
GOOD STUFF
YOU ALWAYS WANTED
Unstructured, Versioning, Full-text,
Multi-Value, Sort-Order, Observation
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 8
- 9. A history of standards.
§ DMA & ODMA
Document Management oriented Speci cation. Li le Adoption.
No active speci cation development.
§ WebDAV (& friends)
Filesystem (Resource) oriented Protocol Speci cation IETF.
Widely adopted. Every Desktop has WebDAV support.
Every CM Vendor Supports WebDAV.
No active speci cation development.
§ JCR
Java Language API speci cation.
Functionally Broad. Wide adoption by Java
Applications. Active development.
TION
VE
§ CMIS IF ICA
TI
EC
SP
AC
Document Management oriented Protocol
Speci cation. Work in progress. Active
development of the Speci cation.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 9
- 10. What is CMIS?
TO
ED
OS
OP T
SIS
PR SEP 8
2005
OA
V0.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 10
- 11. What is CMIS?
DOMAIN MODEL
LEAST COMMON
CMIS
DENOMINATOR DM INTEROP
DOCUMENTS & FOLDERS
(+RELATIONSHIPS)
ATOMPUB SOAP
(extension) (bindings)
BINDINGS
HTTP PROTOCOLS
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 11
- 12. What is CMIS?
DMIS?
WS-DM?
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 12
- 13. Day’s involvement in CMIS
Improve Specification via Apache Chemistry
TC activity (incubating)
Official JCR / CMIS Liaison CMIS Implementation &
Catalyst
Enable “Web” Support
Sponsor, Mentor and
Support podling
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 13
- 14. What is JCR?
DOMAIN MODEL
CONTENT REPOSITORY
JCR
INFRASTRUCTURE
NODES & PROPERTIES
(GENERAL PURPOSE)
JAVA LANGUAGE
(BINDING)
BINDINGS
API
PROGRAMMING LANGUAGES
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 14
- 15. JCR vs. CMIS: Goals & Bodies
JCR CMIS VS.
Java Language API Bindings SOAP & AtomPub Protocol Bindings
Large Expert Group Large Technical Committee
v2.0 Released v1.0 Released
RELATION
COMPLEMENTARY
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 15
- 16. JCR vs. CMIS: Scope comparison
SCM
COLLAB
WCM
SOCIAL
JCR CMIS PIM
VS.
SCM
COLLAB
WCM
SOCIAL PIM
RM DM DAM RM DM DAM
General Purpose
Content Repository RELATION Focused
Model Document Management
COMPATIBLE Model
SUBSET
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 16
- 17. JCR vs. CMIS: Compatibility
JCR CMIS VS.
Apache Chemistry makes every
JCR compliant repository CMIS
compliant. Automatically. No
work involved.
RELATION
COMPATIBLE
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 17
- 18. JCR vs. CMIS: What, when?
JCR CMIS VS.
Content Repository DM Interoperability
Infrastructure. Browse (multiple) Document
Standardized Content Management Systems
Repository Applications (CCA)
and Consolidation
RELATION
COMPLEMENTARY
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 18
- 19. CMIS 1.0 Release
ed 2010
Releas
Baseline Release
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 19
- 20. CMIS 1.1 Submission
Web/Browser Bindings
Functional Extensions
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 20
- 21. JCR 2.0 Release
Sept
ed 9
leas00
Re 2
TCK, RI & Specification
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 21
- 22. JCR 2.1/ JSR-333
-333
JSRiner .
jo ome
w elc
Scripting, Ease of Use.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 22
- 23. Agenda
CM & Standards e JCP & Apache Q&A
History and comparison ”It was complicated”
1 2 3 4 5
JCR Deep Dive Demo
On JSR-170/JSR-283/JSR-333. JCR in Action.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 23
- 25. JCR.
“The API should be a standard,
implementation independent,
way to access content bi-
directionally on a granular level
to a content repository.”
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 25
- 26. A Content Repository!?
CONTENT REPOSITORY
FEATURES OF AN FEATURES OF A
RDBMS FILESYSTEM
Transactions, Query, Structure, Integrity Binaries, Hierarchy, Locking, Access Control
+
ALL THE OTHER
GOOD STUFF
YOU ALWAYS WANTED
Data First, Versioning, Full-text,
Multi-Value, Sort-Order, Observation
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 26
- 27. When to use?
permissions binaries
search JCR read-most
versions unstructured
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 27
- 28. Reality Check!
Task
write a “JSP snippet” that lists all the
documents in a folder by “title”.
...Code Snipp
ets courtesy
JSR- 70 Ex
1 of the early
pert-Group
:
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 28
- 29. Reality Check: List all documents in a folder
);
<% PI_DOCUMENTS(session
LAPI_DOCUMEN TS documents = new LA
new LLValue();
LLValue childTable = ,
s(volumeID, folderID
<% documents.ListObject UMENTS.PERM_SEE, chil
dTable);
null, null, LAPI_DOC
.enumerateValues();
childCount = node.getContent
Count(); Enumeration children = childTable
for(int i=0;i<childCount;i reElements()) {
++) { while(children.hasMo alue)e.nextElement()
;
IContent child = node.getC LLValue child = (LLV
JCR API
ontent(i); ");
toString("Name
Property title = child.get
PropertyByName("Title"); String title = child.
%><%= title.getValue() %>< %
br/><% %><%= title %><br/><
}
%>
<% }
<% NodeIterator children = node.getNodes();
%>
<%
fndocs
= new
IFnObj
while (children.hasNext()) { PageIterator children
while (children.hasNex
= page.getPages();
fnfol SetDua
(idmFo der.getConte roxy(
lderCo
lP
nts
Node child = children.nextNode(); t()) {
Page child = children
.nextPage();
int nu
derCon Property title = child.getProperty("Title");
mD ntent. Container toplevel =
for (i ocs = fndocs idmFol
Atom title = toplevel
child.getContent();
nt i = .getCo tentDo .getAtom("Title");
IFnDoc
1; i <
= numD
umentD
unt();
ocs; i
++) {
%><%=ntitle %><br /><%
cume t
));
}
%><%= title %><br /><%
ua
new IF
IFnPro
nDocum l fndoc =
pertie
entDua
lProxy
} %>
= %> tItem(new I
IFnPro sD (fndoc
pertyD ual propset s.ge
Stri ng titual id fndo
%><%= le = i mTitleProp = c.getPropert nteger(i)));
title dm p i
%><br/ TitleProp.ge ropset<% etIt es(); .getDocuments());
if (co ><% tValue .g em("Ti umentsProxy(binder
mCle
cleane anup) { (); ocuments dole"); s = new IDoc
ID t cument
r.rele
} ase(fn documents.cache(); nt();
+800
} doc); = documents.getCou
int documentCount {
%> cumentCount; i++) etItemByIndex(i));
fo r (int i = 0; i<do umen tProxy(documents.g
document = new IDoc
String title = do cument.getTitle()
><%
%><%= title %><br/
}
%>
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 29
- 30. Beyond the Spec: RI & TCK
The S
300 pec: Apache Jackrabbit:
Pages more than a reference
implementation
y
nolog ility Kit:
T ch atib
e
Comp 0 T sts
e
+100
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 30
- 31. JSR-170: Some Speci cs
§ Took about 4 years
§ Investment for Day ~30 man years of work to complete (Spec, TCK & RI)
§ First JSR in History of the JCP with a true Open Source License (Apache Style)
§ Star Spec-Lead Award for process excellence
§ e OSS Reference Implementation “Jackrabbit” graduated to a Top Level
Apache Project
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 31
- 32. Java Only?
Question?
“A Content Repository Standard,
sure, but why Java ‘only’?”
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 32
- 33. Why Java…
§ …because of its standardizing body: e JCP.
§ Good track record with respect to implementations and nished speci cations
§ Reference Implementations and Technology Compatibility Kit are mandatory
§ Efficient Speci cation Cycles
§ A lot of the JCR speci cation can still be applied other environments and
languages
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 33
- 34. Industry Standards
170
283
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 34
- 36. JCR implementation...
Exo Microsoft
Apache Jackrabbit Oracle XML DB ECMS Platform Sharepoint OpenText Livelink
Day CRX IBM FileNet P8 Xythos Repository Alfresco ECM Vignette V7
Interwoven Saperion +hund
r s
Repository IBM CM / Domino EMC Documentum Archive regiede of TCKs
st red
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 36
- 37. Applications.
Fast
BEA Portal Sun Oracle WebCenter 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
Portal
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 37
- 38. e Web and Content?
REST -> Roy T. Fielding
2005
rele a JCR: Yours tru
ly
1.0 r
v ele ased
sed y +300 pages
162 p 2k
ages
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 38
- 39. Introducing JCR Catalyst
WEB apache
JCR
APP sling
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 39
- 41. JSR-283: Some Speci cs
§ Took about 4 years
§ Investment for Day ~30 man years of work to complete (Spec, TCK & RI)
§ Star Spec-Lead Award for process excellence
§ e OSS Reference Implementation “Apache Jackrabbit” Top Level Project
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 41
- 42. Backwards Compatible.
NEW
100%
& IMP
BACKWA ROVE
D
COMPAT RDS
IBLE
Binary Compatible
JSR-170 (JCR v1.0) Applications
do not require modification
Mixed environment supported (1.0 & 2.0 Apps)
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 42
- 43. Reorganized.
NEW
100DEL & BINDING
& IMP
BACKWA ROVE
D D
%
COMPAT RDS IMP ROVE
&
IBLE NEW
MO
Completely re-organized and clarified
Specification
Separate Content Repository model section
Removed a lot of the Java Language specification
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 43
- 44. Bundled.
NEW
100DEL & BINDING
& IMP
BACKWA ROVE
D D
%
COMPAT RDS IMP ROVE
&
IBLE NEW
MO
NEW & IMPROVED
OSGI BUNDLE
Shipped jcr-2.0.jar is an OSGI Bundle
Ready to deploy in an OSGI Container
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 44
- 45. Favorites.
10
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 45
- 46. Query extensions
AQM
JQOM
#1 QUER
NEW
& IMP
ROVE SQL
2.0
D
Y Abstract Query Model
Java Query Object Model (Java Binding)
SQL Bindings
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 46
- 47. Query extensions
+JOIN
NEW
& IMP
#1 QUER
ROVE
2.0
D Revamped Result-Set to allow for multiple nodes
Y New and Improved query capabilities
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 47
- 48. Query extensions
-XPATH *well, still available but deprecated
*
NEW
& IMP
Not enough support from the EG
#1 QUER
ROVE
2.0
D
JQOM allows for many implementations
Y Jackrabbit / CRX will support XPATH
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 48
- 49. Access Control Management
+ACL
+POLICY
NEW & IM
PROVED
#2 ACL
2.0 Allows to set ACL and Access Control Policies
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 49
- 50. Retention Policy & Hold
+RETENTION
+LEGAL HOLD
NEW
& IMP
ROVE
#3 RM
2.0
D
Support for interaction with RM systems
Allows setting and introspection of Retention
Policies and Holds
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 50
- 51. Simple versioning
+LINEAR
VERSIONING
2.0
ED
NEW & IMPROV
#4 SIMPLE Simplified Versioning Model to allow
VERSIONING for ease of adoption.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 51
- 52. Lifecycle Management
+BPM
Allows to express and introspect Lifecycle status
NEW & IM and transitions.
PROVED
#5 LIFECYCLE
2.0
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 52
- 53. Nodetype Registration
+REGISTER
NODETYPES
NEW
& IMP
ROVE
#6 NODE
2.0
D
MANAGE TYPE
MENT Standardized way of registering new and modify
registered Nodetypes
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 53
- 54. New property & nodetypes
+mix:title
+URL +mix:created
+mix:lastModified
+WEAK REFERENCE +mix:language
+DECIMAL +mix:etag
+nt:address
NEW & IMPROVED
#7 NEW PROPERTY
& NODETYPES
2.0 Things we missed in JCR 1.0 applications
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 54
- 55. Workspace Management
+CREATE &
REMOVE WS
2.0
PROVE D
NEW & IM
#8 WORKSPACE Standardized way of create and remove
MANAGEMENT workspaces
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 55
- 56. Shareable nodes
+GRAPH
Multi-filing. Nodes can have multiple parents.
2.0
NEW & IMPROVED
#9 SHAREABLE
NODES
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 56
- 57. Journalling Observation
+DELTA SINCE?
NEW
& IMP what changed since I last checked?
#10 JOU
ROVE
2.0
D
RN
OBSERVAALLING
TION
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 57
- 58. Beyond the Spec.
NEW
& IMP
APACHE ROVE
NEW & PJACKRABBIT
2.0
D
ROVEN ;)
Robust Code base
Fully JCR 2.0 Compliant ;)
More tooling than ever
Established eco-system
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 58
- 59. Beyond the Spec.
NEW
& IMP
APACHE ROVE
NEW & PJACKRABBIT
2.0
D
ROVEN ;) ST
LY
CATA
NG!
JCR
CHE SLI
APA
Restful Web Framework
Running on top of JCR
Never build a JCR WebApp without it. Seriously!
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 59
- 61. Scope & Goals
- API Consumers vs. API Implementors
- Ease of API use: Make simple, things simple.
- Lower entry barriers for implementers and
application developers.
- Scripting support of the API.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 61
- 62. Scope & Goals
- Client-server awareness.
- Protocol and SPI bindings. Binding and liaison
to OASIS / CMIS.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 62
- 63. Scope & Goals
- Maintenance and feedback container for
implementers, users and non-users. Gauge
real-world interoperability.
- Node type library.
- Internationalization.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 63
- 64. Working Model
- Online Community Tools
- Bi-Weekly Phone Conference
- Face-2-Face Meetings.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 64
- 65. Agenda
CM & Standards e JCP & Apache Q&A
History and comparison ”It was complicated”
1 2 3 4 5
JCR Deep Dive Demo
On JSR-170/JSR-283/JSR-333. JCR in Action.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 65
- 66. Back in in the days...
2002
+
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 66
- 67. Now...
2010
+
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 67
- 68. New JSRs submi ed.
80
60
40
20
0
1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 68
- 69. Potential reasons.
§ J2SE & Java Language is complete, not much more to add
§ J2EE as a broader spec became increasingly irrelevant, usable pieces like Servlet
et al. are complete.
§ J2ME is in a tough spot since the release of the iPhone.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 69
- 70. Unlikely reasons.
§ e Oracle acquisition was a er the drop.
§ e Oracle/Google lawsuit was even later.
§ JCP process changes and open-source licensing disputes.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 70
- 71. Anyway...
§ Numerous valuable specs came out of the JCP and will remain relevant for a long
time.
§ All politics aside, the JCP was and still remains a very effective standardization
body with a great working model.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 71
- 72. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 72
- 73. Why?
FOU
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 73
- 74. Agenda
CM & Standards e JCP & Apache Q&A
History and comparison ”It was complicated”
1 2 3 4 5
JCR Deep Dive Demo
On JSR-170/JSR-283/JSR-333. JCR in Action.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 74
- 75. Agenda
CM & Standards e JCP & Apache Q&A
History and comparison ”It was complicated”
1 2 3 4 5
JCR Deep Dive Demo
On JSR-170/JSR-283/JSR-333. JCR in Action.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 75