Collaborative Software Engineering on the Web: Introducing WebDAV

E. James Whitehead, Jr. - University of California, Irvine

Introduction

Software development today often takes place among multiple groups of software engineers who are geographically dispersed. A key challenge in supporting these distributed software development teams is making the software remotely accessible and editable via the Internet, addressing issues such as overwrite prevention, security, authentication, access control, and reliable operation across high-latency network connections.

The Web Distributed Authoring and Versioning (WebDAV) working group of the Internet Engineering Task Force (IETF) has taken on the challenge of supporting collaborative software engineering on the Web by extending the core network protocol of the Web, the Hypertext Transfer Protocol (HTTP) [4], to support remote software development. A team at the University of California, Irvine, working under a grant from the Defense Advanced Research Projects Agency (DARPA) Evolutionary Development of Complex Systems program, brought together interested parties from academia and industry to form the IETF working group and develop the WebDAV Distributed Authoring Protocol.

WebDAV provides many benefits:

In November of 1998, the IETF approved the WebDAV Distributed Authoring Protocol [6], clearing the way for broad industry and open source support. Microsoft is a major early supporter of the protocol, providing WebDAV support in Internet Explorer 5 (in its “Web Folders”feature), in Office 2000 (Word and Excel), and on the server side in its Internet Information Services (IIS) server, which comes bundled with every copy of Windows 2000 Server. The popular Apache web server also has WebDAV capability in the freely available mod_dav module. Additional support comes from IBM, Xerox, Novell, DataChannel, CyberTeams, and Digital Creations who have all announced product plans based on WebDAV. WebDAV is clearly a standard that has strong corporate and open source support.

Capabilities

The WebDAV Distributed Authoring Protocol defines a set of extensions to the Hypertext Transfer Protocol (HTTP) for the following capabilities:

WebDAV provides facilities for both shared and exclusive locking. This dual lock support provides sufficiently flexible locks to accommodate a wide range of collaborations, with shared locks best supporting collaborators who have a lot of awareness of each other’s activities, and exclusive locks providing a more stringent guarantee of conflict avoidance for less aware collaborators, or during periods of high contention for a software development artifact. Locks may have a scope of a single artifact or a hierarchy of artifacts, such as a source code tree. A lock discovery mechanism (a WebDAV property) allows authors to find out if any locks exist on a Web-accessible artifact. Since the Web is designed so that no lock is required to read a Web page, there is no concept of a read lock.

WebDAV properties are name, value pairs where the name is a Uniform Resource Locator (URL), and the value is a sequence of well-formed Extensible Markup Language (XML) [2] elements. Using URLs as property names provides a globally unique property namespace. Since property names can be URLs, which have a domain name as a component of the URL, property names can be given uniqueness without central registration by using URL property names chosen from within a domain whose name is controlled by the party defining the property. So, for example, a company which controls a given domain name, like “widgets.com” can chose a property name from within this domain, like “widgets.com/properties/color”.

Using XML to encode the value of properties provides three major benefits. First is extensibility. Since all content within XML is encoded between start and end tags, it is easy to add additional elements to a property by inserting new tagged content. Internationalization is the second major benefit. Since XML mandates support for the UTF-8 and UTF-16 encodings of the ISO 10646 character encoding standard, as well as language tagging, properties can express content in the vast majority of human languages. Finally, by using XML, WebDAV properties can support other metadata activities which are also based on XML, such as the Resource Description Framework (RDF) under development at the W3C.

Work-in-Progress

Current work-in-progress within WebDAV focuses on these additional capabilities:

A new working group, building on initial design work performed by the WebDAV working group, is currently being formed in the IETF to develop a protocol for Web versioning and configuration management. Called the Delta-V working group, it is already well underway towards its goal of a finished protocol specification in mid-2000. A snapshot of work in progress can be found by examining the group’s goals document [10] and the current versioning and configuration management protocol specification [3].

A strongly related effort to WebDAV is the IETF’s DAV Searching and Locating (DASL) working group which is developing an interoperable means of searching a repository which is compliant with the WebDAV object model, and which organizes its artifacts into URL hierarchies. The main capability of DASL is searching.

DASL is working to develop extensions to the WebDAV Distributed Authoring Protocol specification (and hence to HTTP) for searching WebDAV repositories. DASL has a requirements document [9] and protocol document [8], which are still the subject of intense effort within the DASL group.

Application

Taken together, the WebDAV extensions to HTTP provide the standard needed to make the Web a writable, collaborative medium. What does this mean for Web-based software development? Although the future is notoriously hard to predict, here are some likely outcomes of the adoption of WebDAV. As WebDAV technology is deployed, it will initially have its largest impact on small to medium sized development teams which support WebDAV, allowing their development practices to coalesce around a local intranet, gaining its advantages for remote access of software development information within the organization. Over time, as critical mass grows, WebDAV will also dramatically reduce the accidental costs of collaboration between development teams, and between development organizations. Since WebDAV supports multiple information repositories, it acts as a common bridge across these stores, providing a convenient mechanism for integrating data in a software development environment. Due to this, WebDAV shows significant promise as an infrastructure for development of distributed software engineering environments, a topic explored in a recent Communications of the ACM article [5].

While WebDAV today significantly reduces the burden of cross-team collaborative software development, the protocol will really start to shine once the Web versioning protocol is finished. Then, remote software engineering teams will be able to remotely edit software artifacts while keeping track of important states of these documents, and while tracking configurations of these versioned objects. Since major configuration management vendors such as Rational, Merant (Intersolv), Microsoft, and IBM are working together to define this standard, broad tool support can be expected.

One of the nice aspects of WebDAV technology is that compelling WebDAV clients and servers are available today, free of charge, ready for initial evaluation. The Apache mod_dav module can be downloaded at: www.webdav.org/mod_dav/, and works with Apache servers 1.3.4 and higher. The Apache server software is freely available for download at: www.apache.org. Or use one of the WebDAV test servers listed at www.webdav.org/projects/. For client software, try Internet Explorer 5’s Web Folders feature (IE5 can be downloaded from www.microsoft.com/windows/ie/ie5/default.asp) or download the WebDAV Explorer, a Java-based client developed at the University of California, Irvine from www.ics.uci.edu/~webdav/.

For More Information:

Working groups of the Internet Engineering Task Force are completely open, and may be joined by subscribing to their E-mail discussion list. If you wish to participate in the discussions on WebDAV topics, you may join the mailing list by E-mailing a message with the subject “subscribe” to [email protected].

The home page for the WebDAV group is at URL: www.ics.uci.edu/pub/ietf/webdav/, which contains links to current working drafts, E-mail list archives, and background material. Another excellent source of WebDAV information is the WebDAV Resources page at www.webdav.org/, maintained by Greg Stein. The related DAV Searching and Locating (DASL) working group has its web page at URL: www.ics.uci.edu/pub/ietf/dasl/, and a mailing list which may be joined by sending a message with subject “subscribe” to [email protected].

About the Author

Author Contact Information

Emmet James Whitehead is currently a PhD. student at the University of California, Irvine. He has been the Chair of the Internet Engineering Task Force World Wide Web Distributed Authoring and Versioning (WebDAV) Working Group, March 1997-present. With assistance from the World Wide Web Consortium, WebDAV created this working group to be the focus of coordination for the development of interoperability work on tools which support distributed authoring and versioning via the www.

Mr. Whitehead’s current research focuses on hypertext and software architecture.



E. James Whitehead, Jr
Dept. of Information and Computer Science
University of California, Irvine
Irvine, CA 92697-3425
[email protected]
www.ics.uci.edu/~ejw/


Previous Table of Contents Next