Day @ cio-gipfel 2007

  • View
    2.501

  • Download
    2

  • Category

    Business

Preview:

Citation preview

Content-Centric Infrastructure 1

Workshop:Umsetzung einer erfolgreichen CMS Strategie

David NueschelerCTO / Day SoftwareJSR-170 & JSR-283 Spec LeadMember of the Apache Software Foundation

Content-Centric Infrastructure 2

Before I start:

David Nuescheler Chief Technology Officerdavid.nuescheler@day.com

Content-Centric Infrastructure 3

Core Business: WebCMSShowcase: Mercedes-Benz

Content-Centric Infrastructure 4

Customers

Media / Telco

IndustryAutomotive Transport / Travel / Logistics

Financial Services Consumer / Services

Chemical / Healthcare

Public Services

Content-Centric Infrastructure 5

Before I start:

David Nuescheler Chief Technology Officerdavid.nuescheler@day.com

David NueschelerJackrabbit Committer / Memberuncled@apache.org

Content-Centric Infrastructure

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.

6

Content-Centric Infrastructure 7

Before I start:

David Nuescheler Chief Technology Officerdavid.nuescheler@day.com

David NueschelerJackrabbit Committer / Memberuncled@apache.org

David NueschelerJSR-170 Spec Leadjsr-170-comments@jcp.org

Content-Centric Infrastructure

Java Community Process

Open Software Standards Organization

Funded by Sun Extremely solid performance and track record in

defining and implementing standards

8

Content-Centric Infrastructure 9

Before I start:

David Nuescheler Chief Technology Officerdavid.nuescheler@day.com

David NueschelerJackrabbit Committer / Memberuncled@apache.org

David NueschelerJSR-170 Spec Leadjsr-170-comments@jcp.org

focus

Content-Centric Infrastructure 10

Sep-04-07

Agenda

ECM Today: Silos and Lock-in.Standards, Standards, Standards...Why should I care?Tomorrow is Today: DemoQ & A

Content-Centric Infrastructure 11

Sep-04-07

Application EApplication DApplication CApplication B

Problem Content Isolated in Silos

Application A

Repository E

Repository D

Repository C

Repository B

Repository A

Accounting Marketing Legal HR R&D

Content-Centric Infrastructure

Analysts & Reports“So many to choose from”

12

So many reports, so little agreement!

Content-Centric Infrastructure

Vendors “So many to choose from”

13

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 EMC Documentum +hundreds more

So many vendors, so little agreement!

Content-Centric Infrastructure 14

Reality Check!

write a “code snippet” that lists all the documents in a folder by “title”.

Task

* ...Code Snippets courtesy of the JSR-170 Expert-Group.

Content-Centric Infrastructure

Reality CheckList all documents in a folder

15

<%childCount = node.getContentCount();for(int i=0;i<childCount;i++) { IContent child = node.getContent(i); Property title = child.getPropertyByName("Title"); %><%= title.getValue() %><br/><%}%>

<%LAPI_DOCUMENTS documents

= new LAPI_DOCUMENTS(session);

LLValue childTable = new LLValue();

documents.ListObjects(volumeID, folderID,

null, null, LAPI_DOCUMENTS.PERM_SEE, chi

ldTable);

Enumeration children = childTable.enumerateValue

s();

while(children.hasMoreElements()) {

LLValue child = (LLValue)e.nextElement()

;

String title = child.toString("Name");

%><%= title %><br/><%

}%>

<%fndocs = new IFnObjSetDualProxy(

fnfolder.getContents(idmFolderContent.idmFolderContentDocument));

int numDocs = fndocs.getCount();for (int i = 1; i <= numDocs; i++) {

IFnDocumentDual fndoc = new IFnDocumentDualProxy(fndocs.getItem(new Integer(i)));

IFnPropertiesDual propset = fndoc.getProperties();

IFnPropertyDual idmTitleProp = propset.getItem("Title");

String title = idmTitleProp.getValue();

%><%= title %><br/><% if (comCleanup) { cleaner.release(fndoc); }}%>

<%IDocuments documents =

new IDocumentsProxy(binder.getDocuments());

documents.cache();

int documentCount = documents.getCount();

for (int i = 0; i<documentCount; i++) {

document = new IDocumentProxy(docume

nts.getItemByIndex(i));

String title = document.getTitle()

%><%= title %><br/><%

}%>

<%PageIterator children = page.getPages();while (children.hasNext()) { Page child = children.nextPage(); Container toplevel = child.getContent(); Atom title = toplevel.getAtom("Title"); %><%= title %><br /><%}%>

+800

Content-Centric Infrastructure

Is there any agreement?

16

Yes, Real-life architecture!

Content-Centric Infrastructure

Is there any agreement?Yes, Real-life architecture!

17

Content Management Applications

ContentRepository

ProprietaryInterface

dms

wcm

s

dam

bpm

rm ??m

???m

????

????

Existence ofa “content repository.”...and featureset

Content-Centric Infrastructure

Bottom-line:

18

CMS is still a very young, fast evolving market!

many vendors, frequent changes in the market, proprietary!

Content-Centric Infrastructure 19

Sep-04-07

Agenda

ECM Today: Silos and Lock-in.Standards, Standards, Standards... Why should I care?Tomorrow is Today: DemoQ & A

Content-Centric Infrastructure

Standards, Standards, Standards...

20

The nice thing about standards is that there are so many of them to choose from.

Andrew S. Tanenbaum, Computer Networks

Not in CMS!

Content-Centric Infrastructure

Standards, Standards, ...

In CMS and content repositories there is currently onlyone relevant open standard:

JCR focusses on the Content Repository.

21

JSR-170 == JCRcalled

Content-Centric Infrastructure

What is a content repository?Best of both worlds

database filesystem

contentcontent repository

read

write

hier-archiesstreams

locking accesscontrol

integrity structure

tx query

un-structured “full-

text” sortorder

versioning

obser-vation

multi-value

Content-Centric Infrastructure 23

What is JSR-170?

“The API should be a standard, implementation

independent, way to access content bi-directionally on a

granular level within a content repository.”

from the JSR-170 submission

submitted in jan-2001

Content-Centric Infrastructure 24

L1

Level 1 : Features

Level1

Read onlySimple & Covers a large number of usecases

StructuredStrong typed information

HierarchicalParent child relationships, Sort order

PropertyTypesString, Binary, Numbers, Calendar, ...

NodeTypesIntrospect complex Content Structures

Query (XPath)Search and query

ExportXML Content Export

Fine & CoarsegrainedContent Items Small to Large

Content-Centric Infrastructure 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 Code is written using Level-1 callsWrite+

Read & Search

Content-Centric Infrastructure 26

Level 2 : Features

WriteSave changes to a repository

UnstructuredSupport for weakly or unstructured Content

ImportStandardized Finegrained Content Import

Referencial IntegrityReference Tracking and Integrity

AccessControlIntrospection

Level 2

L2

Content-Centric Infrastructure 27

Level 2: Applications

Typical Level-2 Applications: Entry Level Content Management

Entry Level Document Management

Workflow

Collaboration

Content Aggregation (Content Warehouse)

Content-Centric Infrastructure 28

Advanced Features

VersioningWorkspaces, Merge, Update, Label, ...

JTA Support(XA) Transactions

ObservationMonitor changes in the Repository

Query (SQL)Search the Content Repeository using SQL

LockingSession based and persistant Adv

Content-Centric Infrastructure 29

Optional

Sep-04-07

Binary, Text, Date, Numbers

Structured

Read Finegrained

Query (XPath)

Hierarchical

Export

Unstructured

Write

Access Control

Import Referencial Integrity

Versioning

Transactions

Locking

Query (SQL) Observation

Level 2

Level 1

Functional OverviewCompliance Levels

Content-Centric Infrastructure 30

Industry Standards

170

283

Content-Centric Infrastructure 31

Industry StandardsJSR-170 Progress

JSR-170 Final Approval Ballot

approved

released:

mid 2005

Content-Centric Infrastructure 32

JCR AdoptionTracking success

Known Compliant Repositories(* using 3rd party connectors)

Content-Centric Infrastructure 33

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

How many

RDBMS vendors

do you need?+hundreds of TCKsregistered

* *

*

**

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 DAM

Content-Centric Infrastructure 34

magnolia WCMS

JBoss Portal

Some known JCR Applications

Sun OpenPortal Interface 21

Spring Framework

Fast Enterprise SearchOracle PortalBEA Portal

JCR - Weatherforcast-5°

2008 2009-8°

2010-12°

Content-Centric Infrastructure 36

Sep-04-07

Application EApplication DApplication CApplication B

Problem Content Isolated in Silos

Application A

Repository E

Repository D

Repository C

Repository B

Repository A

Accounting Marketing Legal HR R&D

Content-Centric Infrastructure 37

Sep-04-07

Strategy Enterprise 2.0 & the Future of ECM

Application EApplication DApplication CApplication BApplication A

JSR-170 API

Web Frontend

Repository E

Repository D

Repository C

Repository B

Repository A

Accounting Marketing Legal HR R&D

Commodity Infrastructure

StandardChaos

Content-Centric Infrastructure

Enterprise SoftwareMarket Evolution

38

Operating Systems

WebServers

Relational Databases

J2EE Application Servers

Content Industry

Content-Centric Infrastructure 39

Sep-04-07

Agenda

ECM Today: Silos and Lock-in.Standards, Standards, Standards... Why should I care?Tomorrow is Today: Demo Q & A

Java vs. Microsoft SharepointJava vs. Microsoft Sharepoint

Content-Centric Infrastructure

Why should I care?Two killer Showcases!

40

1

Repository Consolidation2

Content-Centric Infrastructure

Java vs. Sharepoint

41

We are using or plan to use Microsoft Sharepoint in our

organization.

We develop custom Applications in Java /

J2EE.

Content-Centric Infrastructure

Java vs. Sharepoint

42

Microsoft Sharepoint

Java J2EE BusinessApplications

Mission Critical Applications Mission Critical Information

Content-Centric Infrastructure

Java vs. Sharepoint

43

Microsoft Sharepoint

Java J2EE BusinessApplications

Mission Critical Applications Mission Critical Information

JCR Connectorfor Sharepoint

Java vs. Microsoft Sharepoint

Content-Centric Infrastructure

Why should I care?Two killer Showcases!

44

1

Repository ConsolidationRepository Consolidation2

Content-Centric Infrastructure

Reality CheckList all documents in a folder

45

<%childCount = node.getContentCount();for(int i=0;i<childCount;i++) { IContent child = node.getContent(i); Property title = child.getPropertyByName("Title"); %><%= title.getValue() %><br/><%}%>

<%LAPI_DOCUMENTS documents

= new LAPI_DOCUMENTS(session);

LLValue childTable = new LLValue();

documents.ListObjects(volumeID, folderID,

null, null, LAPI_DOCUMENTS.PERM_SEE, chi

ldTable);

Enumeration children = childTable.enumerateValue

s();

while(children.hasMoreElements()) {

LLValue child = (LLValue)e.nextElement()

;

String title = child.toString("Name");

%><%= title %><br/><%

}%>

<%fndocs = new IFnObjSetDualProxy(

fnfolder.getContents(idmFolderContent.idmFolderContentDocument));

int numDocs = fndocs.getCount();for (int i = 1; i <= numDocs; i++) {

IFnDocumentDual fndoc = new IFnDocumentDualProxy(fndocs.getItem(new Integer(i)));

IFnPropertiesDual propset = fndoc.getProperties();

IFnPropertyDual idmTitleProp = propset.getItem("Title");

String title = idmTitleProp.getValue();

%><%= title %><br/><% if (comCleanup) { cleaner.release(fndoc); }}%>

<%IDocuments documents =

new IDocumentsProxy(binder.getDocuments());

documents.cache();

int documentCount = documents.getCount();

for (int i = 0; i<documentCount; i++) {

document = new IDocumentProxy(docume

nts.getItemByIndex(i));

String title = document.getTitle()

%><%= title %><br/><%

}%>

<%PageIterator children = page.getPages();while (children.hasNext()) { Page child = children.nextPage(); Container toplevel = child.getContent(); Atom title = toplevel.getAtom("Title"); %><%= title %><br /><%}%>

+800

<%NodeIterator children = node.getNodes();while (children.hasNext()) { Node child = children.nextNode(); Property title = child.getProperty("Title"); %><%= title %><br /><%}%>

JCR API

Content-Centric Infrastructure 46

Sep-04-07

Application EApplication DApplication CApplication B

Problem Content Isolated in Silos

Application A

Repository E

Repository D

Repository C

Repository B

Repository A

Accounting Marketing Legal HR R&D

Content-Centric Infrastructure 47

Sep-04-07

Strategy Enterprise 2.0 & the Future of ECM

Application EApplication DApplication CApplication BApplication A

JSR-170 API

Web Frontend

Repository E

Repository D

Repository C

Repository B

Repository A

Accounting Marketing Legal HR R&D

CIO:

why?

Content-Centric Infrastructure 48

Sep-04-07

SolutionStandards-Based Content Repository

Java Content Repository

Web Frontend

Application EApplication DApplication CApplication BApplication A

JSR-170 API

Accounting Marketing Legal HR R&D

Content-Centric Infrastructure 49

Repository Consolidation

ConsolidateTurn off legacy Repositories

SynchronizeKeep your repositories in sync

UnifyAccess all your repository through a standardized API1

2

33

Content-Centric Infrastructure 50

Situation Today

CMS Vendor (A)

DMSVendor (B)

DMSVendor (C)

“The Content Silos”

Content-Centric Infrastructure 51

Unification

1

CMS Vendor (A)

DMSVendor (B)

DMSVendor (C)

JSR-170 API

AppA AppB AppC AppD …

JSR-170 Connectors, Level 1 +From Day Software, Native or Third Party

Content-Centric Infrastructure 52

Synchronization

CMS Vendor (A)

DMSVendor (B)

DMSVendor (C)

JSR-170 API

AppA AppB AppC AppD …

JSR-170Repo

2

Content-Centric Infrastructure 53

Consolidate

CMS Vendor (A)

DMSVendor (B)

DMSVendor (C)

JSR-170 API

AppA AppB AppC AppD …

JSR-170Repo

33

Content-Centric Infrastructure 54

Consolidate

CMS Vendor (A)

DMSVendor (B)

DMSVendor (C)

JSR-170 API

AppA AppB AppC AppD …

JSR-170Repo

33

Content-Centric Infrastructure 55

Consolidate

CMS Vendor (A)

DMSVendor (B)

DMSVendor (C)

JSR-170 API

AppA AppB AppC AppD …

JSR-170Repo

33

Content-Centric Infrastructure 56

Sep-04-07

Agenda

ECM Today: Silos and Lock-in.Standards, Standards, Standards... Why should I care?Tomorrow is Today: Demo Q & A

1998-2001

Day Content Management

Day Content Management

1998-2001

Day Content Management

ContentBusRepository

ProprietaryInterface

2002-2005

Day Content Management

CRXJCR CompliantContent Repository

IndustryStandard (JCR)

connector

connector

connector

connector

2005-xxxx

Day Content Management

CRXJCR CompliantContent Repository

IndustryStandard (JCR)

connector

connector

connector

connector

DAM

2007-xxxx

Day Content Management

CRXJCR CompliantContent Repository

IndustryStandard (JCR)

connector

connector

connector

connector

DAM Collab

2007-xxxx

Content-Centric Infrastructure

WCMS

CRXJCR CompliantContent Repository

IndustryStandard (JCR)

connector

connector

connector

connector

DAM Collab

63

Setup: “Holy Grail of Integration”

nativeJCR Apps

all theapps sharethe same repository

Content-Centric Infrastructure

If you remember one thing!

64

Standards-based CMS.1No VendorLock-in

Long-terminvestment protection

Consolidation Strategy

Content-Centric Infrastructure 65

Sep-04-07

Agenda

ECM Today: Silos and Lock-in.Standards, Standards, Standards... Why should I care?Tomorrow is Today: Demo Q & A

Recommended