20
Web-based Software Developm ent Web-based Web-based Distributed Distributed Authoring and Authoring and Versioning Versioning Jul 19, 2005 Jul 19, 2005 Shin Young Ahn Shin Young Ahn

Web-based Software Development Web-based Distributed Authoring and Versioning Jul 19, 2005 Shin Young Ahn

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>

13Web-based Software Development

Run apache serverRun apache server

14Web-based Software Development

DAVExplorerDAVExplorer

15Web-based Software Development

MS File ExplorerMS File Explorer

16Web-based Software Development

XML SpyXML Spy

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

18Web-based Software Development

Performance comparisonPerformance comparison

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/