200 likes | 307 Views
This document delves into the Web-based Distributed Authoring and Versioning (WebDAV) protocol, discussing its features, applications, and performance in collaborative software development. WebDAV extends HTTP to facilitate collaborative file management on remote servers, allowing users to create, modify, and manage resources effectively across different platforms. It covers server and client configurations, locking mechanisms, and performance comparisons against other protocols. While WebDAV offers interoperability and convenience, challenges such as limited HTTPS support and permissions management are also addressed.
E N D
Web-based Distributed Authoring and Versioning Jul 19, 2005 Shin Young Ahn Web-based Software Development
Table of Contents • Introduction • WebDAV • WebDAV Server/Client • Apache2.0 install • Client snapshots • Performance Experiment • Summary Web-based Software Development
Introduction The Net Working together on the same document, wherever you are and whatever you use Web-based Software Development
The World is a Folder • Motto : • Metadata repository infrastructure • A Web-based network file system • A replacement protocol that can handle email, calendaring, directory lookup and more What is WebDAV? • Web-based Distributed Authoring and Versioning. • A set of extensions to the HTTP protocol • allows users to collaboratively edit and manage files on remote web servers. Web-based Software Development
WebDAV - Collections • “Namespace” refers to the URL hierarchy • Collection (“file system folder”) • A collection of resources • A collection is also a resource • Member resource • “Leaves” in the namespace • Applies to all kinds of content • not just HTML and images • WebDAV provides operations to create, move, copy, and delete resources Web-based Software Development
WebDAV - Properties • Properties are pairs of name and value • All resources have properties • Server-defined & maintained • Creation date • Size • Last Modified • Client-defined • Author • Title • WebDAV provides operations to create, remove and query properties Web-based Software Development
WebDAV - Locking • Prevents the “lost update” problem • Identified by authentication and lock token • Locks have characteristics such as • Timeout • Owners • Depth • Resources may be locked as • Exclusive • Shared Web-based Software Development
WebDAV Standards DeltaV (RFC 3253) VERSION-CONTROL, REPORT, CHECKIN, CHECKOUT, UNCHECKOUT, MKWORKSPACE, LABEL, UPDATE, MERGE, MKACTIVITY, BASELINE-CONTROL DASL (DAV Searching & Locating) SEARCH ACL(RFC3744) (Access Control) ACL WebDAV (RFC 2518) (Distributed Authoring Protocol) PROPFIND, PROPPATCH, LOCK, UNLOCK, MKCOL, COPY, MOVE HTTP (HyperText Transfer Protocol) GET, HEAD, POST, OPTIONS, PUT, DELETE, TRACE Web-based Software Development
WebDAV – HTTP extensions • HTTP • Options • Get • Post • Put • Head • Delete • Trace • Connect • WebDAV (additional methods) • PropFind • PropPatch • MkCol • Delete • Put • Copy, Move • Lock, Unlock • Body == XML Web-based Software Development
WebDAV Servers • Apache 2.0 • Subversion • Slide • Tamino WebDAV Server • Oracle Internet File System • Microsoft • Internet Information Server • Exchange Server • Sharepoint Portal Server • Xythos WebFile Server Web-based Software Development
WebDAV Clients • XML Spy • XMetal • Microsoft • Office • Windows Explorer • Adobe • GoLive • Photoshop • Macromedia Dreamweaver • WebDrive • WebDAVfs • sunDance • DAVExplorer Web-based Software Development
Apache2.0 configuration • Httpd.conf • LoadModule dav_module modules/mod_dav.so • LoadModule dav_fs_module modules/mod_dav_fs.so • DavLockDB var/DavLock • Alias /myhome var/DavRoot • <Location /myhome> • Dav On • </Location> Web-based Software Development
Run apache server Web-based Software Development
DAVExplorer Web-based Software Development
MS File Explorer Web-based Software Development
XML Spy Web-based Software Development
Performance? • HW environment • Local Network • P3 750Mhz 256mb client & server • Data : 100MB( 3 folders and 41 files) • Experiment • Copy using WebDAV(Apache 2.0) • Copy using NFS of Linux system • Copy using FTP Client Web-based Software Development
Performance comparison Web-based Software Development
Summary • Use of WebDAV as interoperable network filesystem • Can be applied to collaborative tools as well (Exchange) • Takes advantage of HTTP and XML ubiquity • Excellent level of interoperability for file access • Really reachable from any device / anywhere • Very simple to implement • But... • Still few implementation glitches • https support is still limited • Not a high-performance file system • Not a replacement for native file system (eg NTFS) • Permission management still require custom implementations Web-based Software Development
Reference • RFCs • RFC 2518: http://www.ietf.org/rfc/rfc2518.txt • RFC 2445: http://www.faqs.org/rfcs/rfc2445.html • RFC 3744: http://www.faqs.org/rfcs/rfc3744.html • WebDAV Resources • http://www.webdav.org/ • Apache2 install • http://httpd.apache.org/docs-2.0/mod/mod_dav.html#example • http://www.apache-kr.org/ Web-based Software Development