320 likes | 632 Views
Java and WebDAV. Juergen Pill Team Leader Software AG. Remy Maucherat Software Engineer Sun Microsystems. Speaker’s Qualifications. Project leader of Software AG’s “Tamino WebDAV Server” Author of the WebDAV implementation “Jakarta Slide” and maintainer
E N D
Java and WebDAV Juergen Pill TeamLeader Software AG Remy Maucherat Software Engineer Sun Microsystems BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
Speaker’s Qualifications • Project leader of Software AG’s “Tamino WebDAV Server” • Author of the WebDAV implementation “Jakarta Slide” and maintainer • 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 BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management Beginning
Presentation Agenda • What is WebDAV • WebDAV goals • Major benefits • Technology • The Jakarta Slide project • Tamino WebDAV Server architecture • Live demo BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management Beginning
WebDAV Definition • Web-based Distributed Authoring and Versioning • Official WebDAV working group goal:“Define the HTTP extensions necessary to enable distributed web authoring tools to be broadly interoperable, while supporting user needs” • Make the web a writable, collaborative medium • Create an Internet File System • Enable interoperability of tools for distributed web authoring BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
WebDAV Benefits • Namespace management (Collections) • Infrastructure for remote management, organization and viewing of resources • Availability of metadata (Properties) • Infrastructure for recording information about Web content • Locking of resources • Enables remote, collaborative authoring of any media type (HTML, images, presentations, etc) • Versioning of resources • Infrastructure for versioned resources BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
WebDAV - Collections • Collection • A collection of resources and collections • A collection is also a resource • Can be thought of as a “file system folder” • Resource • Generic name for collections or member resources • Member resource • “Leaves” in a URL namespace • May be documents of any format or any other media type such as images • WebDAV provides mechanisms to create, move, copy, and delete resources BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
WebDAV - Properties • Properties are pairs of name and value • Names are uniquely identified with URIs • Values may be well-formed XML fragments • All resources have properties • Files and directories • Server-defined/maintained (“live properties”) • Creation date • Size • Last Modified • Client-defined (“dead properties”) • Author • Read only BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
WebDAV – Overwrite Protection • Locking a resource returns a lock token • The owner of a lock token can modify the resource • Locks have characteristics such as • Timeout • Owners • Depth • Resources may be locked as • Exclusive • Shared BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
WebDAV - Versioning • Versioning allows for: • Check in/out with comments and metadata • Version graphs and histories • Browse/retrieve old versions • High-level configuration management • Versioning is not yet standardized – a work in progress – draft is available at www.ietf.org BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
WebDAV - Searching • DASL (DAV Searching and Locating) • Protocol to exchange query and data • Possibility to negotiate a query language • Minimal query language with • Boolean search for property existence or value • Search for a substring in a resource content • Still in definition phase – draft available BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
WebDAV - Security • ACL (Access Control Extensions) • Principals (human or computer actor) • Privileges • Read • Write • Read-acl • Write-acl • More to be defined in the WebDAV Server (Create) • New method: ACL • Still in definition phase – draft available BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
HTTP Options Get Post Put Head Delete Trace Connect WebDAV (additional methods) PropFind PropPatch MkCol Delete for collections Put for collections Copy, Move Lock, Unlock Body == XML WebDAV – HTTP extensions BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
Presentation Agenda • What is WebDAV • WebDAV goals • Major benefits • Technology • The Jakarta Slide project • Tamino WebDAV Server Architecture • Live demo BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management Beginning
The Jakarta Slide Project • Open-source • Apache licence (BSD like) • Anyone can participate • Java content management system • WedDAV client and server technologies BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
External Architecture Client WebDAV Client HTTP Client Java Application WebDAV Servlet Slide API Server BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
Internal Architecture 1/2 WebDAV Servlet Java Application Slide API JNDI Security Lock Content Helpers JTA Data Stores JDBC Filesystem Tamino Other BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
Internal Architecture 2/2 Client Slide API Helpers UserTransaction Store API Transaction Manager Data XA Store BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
ACL /users/root can do /actions Filesystem /users can do /actions/read ACL Lock /users/root for /actions JDBC Slide Namespace / /files /files/foo.txt /actions /actions/read • Multiple stores • ACL inheritance • Locks inheritance /actions/write /users /users/root /users/john BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
Features Summary • J2EE awareness • Data abstraction • Transactional operation • Proprietary Java API • Standards based WebDAV “API” BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
Future Directions • Workflow based engine • Rules and notifications • Indexing and searching component • DASL support • Improve ease of deployment (installation, configuration) • Improve management tools • Delta V support BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
Online Resources • http://jakarta.apache.org/slide • FAQ • User and developer mailing lists • Nightly and release builds BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
Presentation Agenda • What is WebDAV • WebDAV goals • Major benefits • Technology • The Jakarta Slide project • Tamino WebDAV Server Architecture • Live demo BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management Beginning
Client WebDAV HTTP Tamino WebDAV Server Tamino Tier 2 Tier 1 Tier3 Three Tier Architecture BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
Architecture Details Client Jakarta Slide Tamino WebDAV Store WebDAV HTTP Apache Tomcat Tamino Tamino WebDAV Server BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
Presentation Agenda • What is WebDAV • WebDAV goals • Major benefits • Technology • The Jakarta Slide project • Tamino WebDAV Server architecture • Live demo BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management Beginning
MS File Explorer BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
MS Office 2000 BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
XML Spy BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
WebDrive BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management
Conclusion • WebDAV is a standard • WebDAV is a HTTP extension • Jakarta Slide is a pluggable WebDAV server • WebDAV clients are easily available “The world is a folder” BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management End
BOF-1147, JavaTM Technology and WebDAV: Standardizing Content Management