implementing webdav using j2ee tm and open source technologies n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Implementing WebDAV Using J2EE TM and Open Source Technologies PowerPoint Presentation
Download Presentation
Implementing WebDAV Using J2EE TM and Open Source Technologies

Loading in 2 Seconds...

play fullscreen
1 / 29

Implementing WebDAV Using J2EE TM and Open Source Technologies - PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on

Implementing WebDAV Using J2EE TM and Open Source Technologies. Juergen Pill Team Leader Software AG. Remy Maucherat Software Engineer Sun Microsystems. Speakers Qualifications. Author of the WebDAV implementation “Jakarta Slide” and maintainer

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Implementing WebDAV Using J2EE TM and Open Source Technologies' - jonas-burke


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
implementing webdav using j2ee tm and open source technologies

Implementing WebDAV Using J2EETM and Open Source Technologies

Juergen Pill

TeamLeader

Software AG

Remy Maucherat

Software Engineer

Sun Microsystems

Session #2482

speakers qualifications
Speakers Qualifications
  • Author of the WebDAV implementation “Jakarta Slide” and maintainer
  • Project leader of Software AG’s “Tamino WebDAV Server”
  • Member of JSR147 and JSR 170 Expert Group
  • Actively contributing to Jakarta-Slide (committer)
  • Actively contributing to Jakarta-Tomcat (committer)
  • Experience on the subject of databases and repositories for more than 15 years

Session #2482

Beginning

webdav mission
WebDAV Mission

“The World is A Folder”

Session #2482

Beginning

presentation agenda
Presentation Agenda
  • What is WebDAV
    • WebDAV Architecture
    • Delta-V
    • DASL
  • The Jakarta Slide project
  • Live demo

Session #2482

Beginning

webdav architecture
WebDAV Architecture

DeltaV

11 methods

DASL

SEARCH

ACL

ACL,REPORT

...

WebDAV (Distributed Authoring Protocol)

PROPFIND, PROPPATCH, LOCK, UNLOCK, MKCOL, COPY, MOVE

HTTP (HyperText Transfer Protocol)

GET, HEAD, POST, OPTIONS, PUT, DELETE, TRACE

Session #2482

Middle

webdav architecture1
WebDAV Architecture

DeltaV

11 methods

DASL

SEARCH

ACL

ACL,REPORT

...

  • WebDAV has no Versioning
  • Support for versioning-unaware clients (auto versioning)
  • Homepage: http://webdav.org/deltav
  • Approved as a standard just recently

WebDAV (Distributed Authoring Protocol)

PROPFIND, PROPPATCH, LOCK, UNLOCK, MKCOL, COPY, MOVE

HTTP (HyperText Transfer Protocol)

GET, HEAD, POST, OPTIONS, PUT, DELETE, TRACE

Session #2482

Middle

webdav architecture2
WebDAV Architecture

DeltaV

11 methods

DASL

SEARCH

ACL

ACL,REPORT

...

  • Query protocol for data and query languages
  • Standard Query language for properties and content
  • Additional Query languages (e.g. X-Query)

WebDAV (Distributed Authoring Protocol)

PROPFIND, PROPPATCH, LOCK, UNLOCK, MKCOL, COPY, MOVE

HTTP (HyperText Transfer Protocol)

GET, HEAD, POST, OPTIONS, PUT, DELETE, TRACE

Session #2482

Middle

delta v overview
Delta-V Overview

Advanced Features

Merge Feature

MERGE

Baseline Feature

BASELINE-CONTROL

Activity Feature

MKACTIVITY

Version-Controlled-Collection Feature

<no extra methods>

Basic-Server-Workspace Package

Basic-Client-Workspace Package

Checkout-In-Place Feature

CHECKIN, CHECKOUT, UNCHECKOUT

Working-Resource Feature

CHECKIN, CHECKOUT (on VRs)

Version-History Feature

<no extra methods>

Workspace Feature

MKWORKSPACE

Label Feature

LABEL

Update Feature

UPDATE

Core-Versioning Package

Version-Control Feature

VERSION-CONTROL, REPORT

Session #2482

Middle

delta v versioning schema
Delta-V Versioning Schema

/files/a.xml

/history/1

/files/a.xml

version-history

S1

S1

VHR

VCR

version-set

check-in

root-version

S1

history/1/1.0

VR

VERSION-CONTROL

Session #2482

Middle

delta v versioning schema1
Delta-V Versioning Schema

Linear

With Branches

3

1.4

merge

1.3

1.2.1.2

3

branch

1.2

1.2.1.1

2

1.1

1

Session #2482

Middle

delta v explicit versioning
Delta-V Explicit Versioning

VCR

VCR

S1

S2

VHR

VHR

check-in

check-in

S1

S1

S2

VR

VR

CHECCKIN

CHECCKOUT

VCR

VCR

S1

S2

VHR

VHR

check-out

check-out

S1

S1

VR

VR

PUT

Session #2482

Middle

delta v auto versioning
Delta-V Auto Versioning
  • Two styles of autoversioning
    • PUT / PROPPATCH

CHECKOUT  PUT / PROPPATCH  CHECKIN

    • LOCK LOCK  CHECKOUTUNLOCK  CHECKIN  UNLOCK

VCR

VCR

S1

S2

VHR

VHR

check-in

check-in

S1

S1

S2

VR

VR

PUT / UNLOCK

Session #2482

Middle

delta v workspaces
Delta-V Workspaces
  • User change seperation and isolation
  • Workspaces can hold versioned or unversioned data
  • Server workspaces
    • separate namespace for each workspace:/mycoll/ws/pn/mycoll/ws/wam
  • Client workspaces
    • no server namespace
    • server maintains "working resource" for each checkout

Session #2482

Middle

delta v workspaces1
Delta-V Workspaces

Remy's Workspace

Juergen's Workspace

/mycoll/ws/remy/a.xml

/mycoll/ws/juergen/a.xml

S1

S1

VCR

VCR

Global Workspace

/mycoll/files/a.xml

VHR

S1

check-in

VCR

S1

VR

Session #2482

Middle

delta v more features
Delta-V More features
  • Label
    • Human readable string, named version
    • Simple form of configuration management
  • Update
    • Position a VCR on a specified VR
  • Report
    • Extensible mechanism to obtain information about resources (usefull for WebDAV in general !!)

Session #2482

Middle

delta v advanced features
Delta-V Advanced features
  • Merge
    • Combines branches within a VHR
    • Combines two workspaces
  • Baseline
    • Represents a Freeze/Snapshot of resources
    • Is itself versioned
  • Activity
    • Logical change (spans multiple versions in multiple histories)
  • Versioned Controlled Collection

Session #2482

Middle

presentation agenda1
Presentation Agenda
  • What is WebDAV
    • WebDAV Architecture
    • Delta-V
    • DASL
  • The Jakarta Slide project
  • Live demo

Session #2482

Beginning

slide components
Slide: Components

WebDAV Access

TestSuite

Command line

Gui

Administration

RFC 2518

Performance

Multi User

I18N

ACL

Delta-V

DASL

WebDAV Client API

WebDAV API

Resource API

JSR 147, 170

WebDAV Server

WebDAV servlet

CM Kernel

Store implementation

Session #2482

Middle

goals for a j2ee cms
Goals for a J2EE™ CMS
  • WebDAV support
  • Native Java API
  • Flexible architecture
  • Federation
  • Standards based

Session #2482

apache slide 2 0
Apache Slide 2.0
  • Proof of concept for a J2EE™ CMS
  • WebDAV centric project
  • Slide provides:
    • Java Repository API
    • WebDAV server (level 2, DASL, Delta V, ACP)
    • WebDAV client
    • Other alternative APIs (taglibs, ...)
  • Open-source (Apache license)
  • 2.0.0 target release: 3Q 2002 (preview 2Q)
  • Web: http://jakarta.apache.org/slide

Session #2482

slide 2 0 architecture

Java Application

WebDAV Servlet

Slide API

Security

Lock

Content

JTA

J2EE™

JDBC

Filesystem

Tamino

Slide 2.0 Architecture

Helpers

Stores

Session #2482

slide 2 0 architecture1

Java API

JTA

JSTL Taglib

JNDI

Struts Taglib

Data Stores

Slide 2.0 Architecture

Client

Servlet/JSP

Slide API

Session #2482

architectural problems
Architectural Problems
  • The Java repository API is “proprietary”
  • No support for messaging at the moment
  • WebDAV depends on the “proprietary” repository API
  • Still some work left in J2EE™ integration
    • JCA support ?
    • Security Manager awareness
    • JMS

Session #2482

jsr 170 content repository for java technology api
JSR 170 – Content Repository for Java™ technology API
  • Granular R/W access
  • Versioning
  • Hard and Soft structured content
  • Event monitoring (JMS)
  • Full-text seach and filtering
  • Access control
  • Locking and Concurrency
  • Web: http://www.jcp.org/jsr/detail/170.jsp

Session #2482

slide next and jsr 170
Slide.next and JSR 170
  • JSR 170 API features are very similar to the Slide API features
  • JSR 170 adds missing functionality
  • Major Slide contributors participating in JSR 170 Expert Group
  • JSR 170 target completion date is June 2003
  • Slide.next MAY implement JSR 170
  • Would make the project more modular

Session #2482

presentation agenda2
Presentation Agenda
  • What is WebDAV
  • The Jakarta Slide project
  • Live demo
    • Delta-V with Tamino WebDAV Server
    • J2EE CMS in action

Session #2482

Beginning