10.2 Server Software

Several classes of WebDAV server also exist. Those presented here are classified the functionality that is the primary focus of the server implementation:

  • Servers that are primarily Web servers but support WebDAV for Web page authoring, such as IIS 5.0 and Apache with mod_dav

  • Servers that are primarily for file sharing or file management, supporting WebDAV as a file sharing protocol, such as Xythos WebFile Server and Oracle IFS

  • Servers that focus on an more specific data-oriented application but use WebDAV to expose the application data, such as Exchange 2000

10.2.1 Microsoft Internet Information Server

Microsoft Internet Information Server (IIS) 5.0, which is part of Windows 2000, is primarily a Web server but includes built-in support for WebDAV.

In addition to the methods defined in RFC2518, IIS 5.0 supports the SEARCH method. This looks much like the WebDAV SEARCH proposal [Reschke03b]; however, the search syntax is SQL, rather than the XML structure defined so far by the WebDAV WG. A Microsoft Support article contains a very basic example [q293885] and points to additional resources for more information.

IIS 5.0 does not support a few WebDAV required features, however:

  • Although it advertises support for locking, collections cannot be locked.

  • PROPPATCH requests are not atomic. Some parts of the operation may succeed and others may fail. Successes and failures are fully reported in Multi-Status responses.

A Microsoft Support article [q221600] describes how to enable WebDAV support in IIS 5.0 and how to verify that WebDAV has been enabled.

10.2.2 Apache and mod_dav

The first fully compliant WebDAV server was the open-source Apache module mod_dav. It adds WebDAV support to any Apache-hosted Web site, either 1.0 or 2.0. Apache 2.0 ships with mod_dav already included, so many Web sites can support WebDAV just by turning it on. Nearly 400,000 Web hosts advertised mod_dav support as of April 2003 [SecuritySpace03]. Excellent information on the mod_dav architecture and features can be found at the site www.webdav.org/mod_dav/.

Mod_dav supports all the features in RFC2518, including locking and custom property support. It is viewed as an exemplary implementation of the WebDAV specification and referenced often for interoperability questions. With the addition of the Catacomb extension module, mod_dav can be configured to support searching as well [Kim02].

Mod_dav is also used as a basis or platform for other WebDAV servers or applications. Oracle, IBM, and Rational have all used mod_dav in development. It is highly extensible, supporting such customizations as a plug-in storage module or "repository layer." Graduate students at the University of California at Santa Cruz implemented the Catacomb database-backed storage module for mod_dav, which plugs in using this repository layer.

Several software companies have rebundled mod_dav with extensions. Apple based its Mac OS X WebDAV server on mod_dav and uses it as a basis for its iDisk service. The IBM HTTP Server product includes mod_dav. Oracle has plugged mod_dav into an Oracle database solution for file storage.

The Apache/mod_dav solution works on many platforms, including Mac OS X, Windows, Linux, and Unix operating systems.

10.2.3 Microsoft Exchange 2000

Exchange 2000 is a mail, calendaring, and newsgroup hosting server that supports WebDAV (with some extensions) for access to all its application information. The WebDAV support is part of what is called the Microsoft Web Storage System, supporting a consistent representation of resources and metadata accessible over several protocols (including HTTP, WebDAV, IMAP, and POP).

Because Exchange 2000 offers much more functionality than a regular WebDAV server, it has many custom extensions. Many of these features are somewhat specified in support articles, Software Development Kits (SDKs), documentation, and books [Martin00].

New Properties and Namespaces

Custom properties exist to represent email messages, contacts, tasks, appointments, and news messages as regular resources with extended metadata. Custom properties also exist for specialized collections, such as collections that contain appointments (calendars). For example, on an email resource, the sender and recipient properties contain email addresses. A few of the new properties were published as an Internet Draft [Hopmann98]. Others are published in Microsoft product documentation or support articles.[1]

[1] Support article q296126 has an extended example showing how to create or modify a contact using PROPPATCH, including names and namespaces for many contact properties. Article q308373 does the same for creating or modifying appointments.

PUT Can Send Email

To send an email, Microsoft Exchange supports the PUT method to create a new resource inside a special email submission collection. Support article q296713 has examples showing how to discover which collection to submit email to and how to send the PUT.

POST Can Create Resources

Posting a document body to a collection creates a new resource with that content. The server chooses a unique resource name. This frees the client from having to choose a unique resource name for actions like adding a new appointment, where the subject, location, and time are more important than the resource name.

PROPPATCH Can Create Resources

PROPPATCH can be used to create a new resource, not just to change properties on an existing one. A support article [q308373] explains how to use PROPPATCH to create a new appointment, which the server will forward to meeting attendees.

Data Types

Exchange 2000 makes extensive use of datatypes on its properties (using the same technique that Web Folders does for data-typing timestamps). Any datatype beginning with mv. is a multivalued property. For example, string datatype is obviously a string, but mv.string indicates a property that can contain multiple string values, each string encased in an XML element.

Subscription/Notification Support

SUBSCRIBE, UNSUBSCRIBE, NOTIFY, and POLL are new HTTP methods described in the Exchange SDK documentation at msdn.microsoft.com, allowing subscriptions to event notifications (these also use some custom headers). Thus, an email client can be notified when mail arrives, rather than sending periodic, expensive PROPFIND requests.

Ranged Row Requests

A new syntax for the HTTP/1.1 Range header, working with SEARCH and PROPFIND, allows clients to retrieve partial results for these kinds of requests. For example, an email client can choose to download information for exactly 20 email messages, no matter how many are in the mailbox, if screen space only allows 20 to appear at a time.

SQL Search

Like IIS 5.0, Exchange supports the SEARCH method with custom SQL syntax [q293885], rather than the standard syntax defined by the WebDAV SEARCH proposal [Reschke03].

MKCOL Request Body

The MKCOL method can take a couple of custom bodies. Article q289871 has an example of a MKCOL request body, similar to a PROPPATCH request body, to set certain property values on the directory as soon as it is created.

Another type of body is similar to the SEARCH request body. This creates a persistent search folder, with the contents of the folder continually updated to contain the current matches for the search criteria [Lee00].

Access Control

Access control properties are exposed through WebDAV [q317891]. However, these properties are not compliant with the official WebDAV ACL proposal and are not even similar in syntax or names.

10.2.4 Xythos WebFile Server

Xythos WebFile Server (WFS) is a stand-alone WebDAV repository product. As a current employee of Xythos, I have led the development of WFS since 2001.

WFS is intended to replace existing repositories where users share files. WFS can be run as is to provide WebDAV file storage and sharing. WFS provides a Java API to extend or modify server capabilities.

WFS includes a Web UI for its WebDAV server. In cases where users may not have a fully featured WebDAV client available and installed on their local computers, they can connect to the Web UI with any browser and manage their documents on the repository or browse or search for other documents.

WFS supports the DeltaV standard, including core versioning and some of the optional DeltaV features. It supports the Access Control protocol (which is in the process of standardization). The Access Control protocol requires the WebDAV server to expose user and group information (so that permissions can be granted to either users or groups), so Xythos WFS offers a module to connect to an LDAP server in order to get that user and group information from a central user database.

WFS also supports several features documented in Internet Drafts, which may or may not be progressing to Proposed Standard:

  • The WebDAV SEARCH proposal [Reschke03] uses a full XML syntax to express search queries. This is quite unlike the search syntax supported by Microsoft servers, which use SQL queries directly embedded in a minimal XML body.

  • Tickets allow temporary access to a file to a user who may not be authenticated. A ticket is like a password to access a file [Ito01].

  • Quotas on collections allow administrators to limit use of storage space. Two properties expose the quota limit and the amount of space used as it is counted against the quota [Korver03].

10.2.5 DAV4J

The DAV4J WebDAV servlet, running on a platform including the WebSphere AppServer and Apache, provides WebDAV server functionality. A neat feature of this combination is that the WebDAV support can be enabled on only part of the hosted site. For example, a production site and an authoring or testing site can be hosted on the same server, and only the authoring/test part of the site allows WebDAV requests.

10.2.6 Tamino WebDAV Server

SoftwareAG produces the Tamino WebDAV Server along with the Tamino XML Server. SoftwareAG and the Tamino developers site explain and illustrate how these two products can be used together to rapidly develop data-oriented client/server applications.

Tamino WebDAV Server supports the access control protocol extensions and the DeltaV standard as well as the base WebDAV protocol. The server also supports the Java Content Repository API for extending content management with custom business rules.

10.2.7 Microsoft SharePoint Portal Server

Microsoft SharePoint Portal Server 2001 advertises support for "Microsoft WebDAV." What this actually means is that it supports Web Folders access and uses some WebDAV methods. However, it isn't interoperable with most WebDAV clients for even the simplest functionality, because Sharepoint uses many proprietary methods, headers, and properties. It supports versioning but uses mechanisms very unlike those of the DeltaV standard for WebDAV versioning (discussed in Chapter 11, Versioning).

It may not be possible for a non-Microsoft-based client to interoperate completely with SharePoint Portal Server, because some of the server's properties include binary representations of properties meaningful only on the Microsoft platform.

10.2.8 Other Known Servers

WebDAV support has been reported for a number of other Web site and document management server products, server components, and server applications. This list includes CoVia, Intraspect, Virtuoso, the Opentext LiveLink gateway, MagiDAV, CyberTeams, and Microsoft BizTalk.



WebDAV. Next Generation Collaborative Web Authoring
WebDAV. Next Generation Collaborative Web Authoring
ISBN: 130652083
EAN: N/A
Year: 2003
Pages: 146

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net