Microsoft Sharepoint and Java Application Development

Preview:

Citation preview

Microsoft Sharepoint vs.Java Application DevelopmentContent Integration and Content Repositories

David NueschelerDay SoftwareSubmission ID: 3141

David Nuescheler Chief Technology Officerdavid.nuescheler@day.com

David NueschelerJackrabbit Committer / Memberuncled@apache.org

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

Agenda

Content Integration: A Business Issue

Java vs. Microsoft Sharepoint

Various Integration Options Pro/Cons

Integration Demo using JCR

4Sep-04-07

Application EApplication DApplication CApplication B

Today: “The Content Problem” Content Isolated in Silos

Application A

Repository E

Repository D

Repository C

Repository B

Repository A

Accounting Marketing Legal HR R&D

“The Content Market”

“The Content Market”

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

+hundreds moreregisteredSaperionArchive

So many

Vendors to

choose from...

Reality Check.

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

Task

Reality Check.List all documents in a folder

<%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 IFnObjSetDu

alProxy(

fnfolder.getContents(idm

FolderContent.idmFolderContentDocument));

int numDocs = fndocs.getCount();

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

IFnDocumentDual fndoc =

new IFnDocumentDualProxy(fndocs.getItem(

new Integer(i)));

IFnPropertiesDual propset = fndoc.getPro

perties();

IFnPropertyDual idmTitleProp = propset.g

etItem("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

CMS Market

CMS Market

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

Bottom line:

“Best Advice”:

Standards, Standards, Standards

Now what!?

based on the

previously

established

consensus...

Now what!?

An"ew S. Tanenbaum, Computer Networks

The nice thing about standards is that there are so many of them

to choose from.

...not in CMS

15Industry Standard: JCR

170

283

16Industry Standard: JCR

Known Compliant Repositories(partially using 3rd party connectors)

Apache Jackrabbit Oracle XML DB

Exo ECMS Platform

Microsoft Sharepoint OpenText Livelink

Day CRX IBM FileNet P8 Xythos Repository Alfresco ECM Vignette V7

Interwoven Repository

IBM CM / Domino

EMC Documentum

+hundreds of TCKsregisteredSaperionArchive

Some known JCR Applications...

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 DAMmagnolia WCMS

JBoss PortalSun OpenPortal Interface 21

Spring Framework

Fast Enterprise SearchOracle PortalBEA Portal

JCR - Weatherforcast-5°

2008 2009-8°

2010-12°

Commodity Infrastructure

StandardChaos

Enterprise SoftwareMarket Evolution

Operating Systems

WebServers

Relational Databases

J2EE Application Servers

Content Industry

Free your content... and put it to work.

proprietarysilos:Liabilities

open standard

repositories:

Assets

NO INTEGRATION

WCM

JCR CompliantContent Repository

IndustryStandard (JCR)

connector

connector

connector

connector

DAM Collab

The Content Warehouse.

Portal

JCR

Applications

JCR Infrastructure

Agenda

Content Integration: A Business Issue

Java vs. Microsoft Sharepoint

Various Integration Options Pro/Cons

Integration Demo using JCR

Poll: Sharepoint vs. Java

Java? Sharepoint?

myestimate

myestimate

Java vs. Sharepoint

Java vs. Sharepoint

Agenda

Content Integration: A Business Issue

Java vs. Microsoft Sharepoint

Various Integration Options Pro/Cons

Integration Demo using JCR

Integration Options

WebServices : WSS

Content Repository for Java

1

2

Windows SharePoint Services 3.0

SOAP/WSDL-Based Services

Base Services for Office Sharepoint Server 2007

“... framework for lists and libraries, site administration, and site customization”

Trying it with Maven, Axis, WSS3.0

mavenaxis2:

generates 20mb .java fileswss3:

500k .wsdl

WebServices approach

Pros:No third party libraries, apart from the WS tooling

Cons:Requires tooling and seems overly complicatedProprietary, Sharepoint Specific

Integration Options

WebServices : WSS

Content Repository for Java

1

2

Java vs. Sharepoint

Java vs. Sharepoint

Java vs. Sharepoint

JCR Connector approach

Pros:Simple & EasyStandardized API

Cons:Requires JCR to Sharepoint Connector

Agenda

Content Integration: A Business Issue

Java vs. Microsoft Sharepoint

Various Integration Options Pro/Cons

Integration Demo using JCR

DEMO

JCR JCR overWSS 3.0

1

2

My first Sharepoint Java App

3

No tools!

Q&A

More information?

http://dev.day.com

...or come to our booth.

Recommended