200 likes | 300 Views
Web-based Distributed Authoring and Versioning. Jul 19, 2005 Shin Young Ahn. Table of Contents. Introduction WebDAV WebDAV Server/Client Apache2.0 install Client snapshots Performance Experiment Summary. Introduction. The Net.
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