Upload
christal-cross
View
221
Download
0
Tags:
Embed Size (px)
Citation preview
Web-based Software Development
Web-based Web-based Distributed Authoring Distributed Authoring
and Versioningand VersioningJul 19, 2005Jul 19, 2005
Shin Young AhnShin Young Ahn
2Web-based Software Development
Table of ContentsTable of Contents
IntroductionIntroduction WebDAVWebDAV WebDAV Server/ClientWebDAV Server/Client
Apache2.0 installApache2.0 install Client snapshotsClient snapshots
Performance ExperimentPerformance Experiment SummarySummary
3Web-based Software Development
IntroductionIntroduction
The Net
Working together on the same document, wherever you are and whatever you use
4Web-based Software Development
What is WebDAV?What is WebDAV?
WebWeb-based -based DDistributed istributed AAuthoring and uthoring and VVersioning.ersioning. A set of extensions to the HTTP protocol A set of extensions to the HTTP protocol allows users to collaboratively edit and manage files oallows users to collaboratively edit and manage files o
n remote web servers. n remote web servers.
The World is a Folder Motto : Motto :
Metadata repository infrastructureMetadata repository infrastructure A Web-based network file systemA Web-based network file system A replacement protocol that can handle email, A replacement protocol that can handle email,
calendaring, directory lookup and morecalendaring, directory lookup and more
5Web-based Software Development
WebDAV - CollectionsWebDAV - Collections ““Namespace” refers to the URL hierarchyNamespace” refers to the URL hierarchy
Collection Collection (“file system folder”)(“file system folder”) A collection of resourcesA collection of resources A collection is also a resourceA collection is also a resource
Member resourceMember resource ““Leaves” in the namespaceLeaves” in the namespace Applies to all kinds of content Applies to all kinds of content
not just HTML and imagesnot just HTML and images
WebDAV provides operations to create, WebDAV provides operations to create, move, copy, and delete resourcesmove, copy, and delete resources
6Web-based Software Development
WebDAV - PropertiesWebDAV - Properties Properties are pairs of name and Properties are pairs of name and
valuevalue All resources have propertiesAll resources have properties
Server-definedServer-defined & & maintained maintained Creation dateCreation date SizeSize Last ModifiedLast Modified
Client-definedClient-defined AuthorAuthor TitleTitle
WebDAV provides operations to WebDAV provides operations to create, remove and query propertiescreate, remove and query properties
7Web-based Software Development
WebDAV - LockingWebDAV - Locking
Prevents the “lost update” problemPrevents the “lost update” problem Identified by authentication and lock token Identified by authentication and lock token
Locks have characteristics such asLocks have characteristics such as TimeoutTimeout OwnersOwners DepthDepth
Resources may be locked asResources may be locked as ExclusiveExclusive SharedShared
8Web-based Software Development
WebDAV StandardsWebDAV 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
9Web-based Software Development
WebDAV – HTTP WebDAV – HTTP extensionsextensions
HTTPHTTP OptionsOptions GetGet PostPost PutPut HeadHead DeleteDelete TraceTrace ConnectConnect
WebDAV WebDAV (additional (additional methods)methods) PropFindPropFind PropPatchPropPatch MkColMkCol DeleteDelete PutPut Copy, MoveCopy, Move Lock, UnlockLock, Unlock
Body == XMLBody == XML
10Web-based Software Development
WebDAV ServersWebDAV Servers Apache 2.0Apache 2.0 SubversionSubversion SlideSlide Tamino WebDAV ServerTamino WebDAV Server Oracle Internet File SystemOracle Internet File System MicrosoftMicrosoft
Internet Information Server Internet Information Server Exchange ServerExchange Server Sharepoint Portal ServerSharepoint Portal Server
Xythos WebFile ServerXythos WebFile Server
11Web-based Software Development
WebDAV ClientsWebDAV Clients XML SpyXML Spy XMetalXMetal MicrosoftMicrosoft
OfficeOffice Windows ExplorerWindows Explorer
AdobeAdobe GoLiveGoLive PhotoshopPhotoshop
Macromedia DreamweaverMacromedia Dreamweaver WebDriveWebDrive WebDAVfsWebDAVfs sunDancesunDance DAVExplorerDAVExplorer
12Web-based Software Development
Apache2.0 configurationApache2.0 configuration
Httpd.confHttpd.conf LoadModule dav_module modules/mod_dav.soLoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.soLoadModule dav_fs_module modules/mod_dav_fs.so
DavLockDB var/DavLockDavLockDB var/DavLock Alias /myhome var/DavRootAlias /myhome var/DavRoot
<Location /myhome><Location /myhome> Dav OnDav On </Location></Location>
17Web-based Software Development
Performance?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
19Web-based Software Development
SummarySummary Use of WebDAV as interoperable network filesystemUse of WebDAV as interoperable network filesystem
Can be applied to collaborative tools as well (Exchange)Can be applied to collaborative tools as well (Exchange) Takes advantage of HTTP and XML ubiquityTakes advantage of HTTP and XML ubiquity
Excellent level of interoperability for file accessExcellent level of interoperability for file access Really reachable from any device / anywhereReally reachable from any device / anywhere
Very simple to implement Very simple to implement But...But...
Still few implementation glitchesStill few implementation glitches https support is still limitedhttps support is still limited Not a high-performance file systemNot a high-performance file system Not a replacement for native file system (eg NTFS)Not a replacement for native file system (eg NTFS) Permission management still require custom Permission management still require custom
implementationsimplementations
20Web-based Software Development
ReferenceReference RFCsRFCs
RFC 2518: RFC 2518: http://www.ietf.org/rfc/rfc2518.txthttp://www.ietf.org/rfc/rfc2518.txt RFC 2445: RFC 2445: http://www.faqs.org/rfcs/rfc2445.htmlhttp://www.faqs.org/rfcs/rfc2445.html RFC 3744: RFC 3744: http://www.faqs.org/rfcs/rfc3744.htmlhttp://www.faqs.org/rfcs/rfc3744.html
WebDAV ResourcesWebDAV Resources http://www.webdav.org/http://www.webdav.org/
Apache2 installApache2 install http://httpd.apache.org/docs-2.0/mod/mod_http://httpd.apache.org/docs-2.0/mod/mod_
dav.html#exampledav.html#example http://www.apache-kr.org/http://www.apache-kr.org/