1 / 29

Implementing WebDAV Using J2EE TM and Open Source Technologies

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

jonas-burke
Download Presentation

Implementing WebDAV Using J2EE TM and Open Source Technologies

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementing WebDAV Using J2EETM and Open Source Technologies Juergen Pill TeamLeader Software AG Remy Maucherat Software Engineer Sun Microsystems Session #2482

  2. 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

  3. WebDAV Mission “The World is A Folder” Session #2482 Beginning

  4. Presentation Agenda • What is WebDAV • WebDAV Architecture • Delta-V • DASL • The Jakarta Slide project • Live demo Session #2482 Beginning

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. Presentation Agenda • What is WebDAV • WebDAV Architecture • Delta-V • DASL • The Jakarta Slide project • Live demo Session #2482 Beginning

  18. 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

  19. Goals for a J2EE™ CMS • WebDAV support • Native Java API • Flexible architecture • Federation • Standards based Session #2482

  20. 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

  21. Java Application WebDAV Servlet Slide API Security Lock Content JTA J2EE™ JDBC Filesystem Tamino Slide 2.0 Architecture Helpers Stores Session #2482

  22. Java API JTA JSTL Taglib JNDI Struts Taglib Data Stores Slide 2.0 Architecture Client Servlet/JSP Slide API Session #2482

  23. 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

  24. 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

  25. 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

  26. Presentation Agenda • What is WebDAV • The Jakarta Slide project • Live demo • Delta-V with Tamino WebDAV Server • J2EE CMS in action Session #2482 Beginning

  27. Session #2482

  28. Session #2482

  29. Session #2482

More Related