|
WebSoft
Building a Global Software Engineering Environment
|
|
The WebSoft project is a concerted effort to understand the software
engineering principles behind network-based software architectures,
to use that understanding in the design of new application protocols,
to deploy those protocols via IETF standards and our own connector software
products, and to use the resulting infrastructure and experience to support
future coordination of collaborative software development.
WebSoft: Scope and Success |
Network-based Software Architectures |
Representational State Transfer (REST) |
| Internet-scale Event Notification (ISEN) |
| C2 + REST |
Application-layer Protocols |
URI |
| HTTP, WebDAV |
| HTML, XML |
| Connector Software |
Apache httpd |
| libwww-perl, libwww-ada95 |
| MOMspider, wwwstat |
Coordination and Collaboration |
gSEE |
| Collaborative Open Source |
| The Apache Foundation |
Global Software Engineering Environment (gSEE)
The WebSoft project is investigating the use of the World Wide Web (WWW)
as the infrastructure and external integration mechanism for a
global software engineering environment (gSEE). A gSEE is an
environment that can seamlessly support the evolution of a software
product from the idea stage through maintenance of an implementation,
regardless of the location or number of individuals involved. Such
an environment should be able to support the expansion, contraction,
and migration of participants in the software process without requiring
changes to the environment infrastructure, and thus reducing the
impact of changes on the project as a whole.
The global scale of a gSEE has several unique impacts on the process of
developing software:
- Since the development team can be independent of any single site or
organization, and can expand or contract without changing the environment,
a gSEE can reduce the organizational barriers that impede the start of
new projects (particularly those that are innovative);
- The end-user can be included within the development environment and
actively participate in requirements analysis, testing, problem
identification, documentation of real-world usage, and even development
of some products;
- Distribution of the software product can be accomplished within the
development environment itself, reducing the cost of frequent
enhancement or evolution of the products;
- There is always sufficient interest and manpower to support
collaborative projects.
These characteristics make a global software engineering environment
ideal for supporting the evolutionary design of complex systems.
World Wide Web Standards: Promotion and Development
Most of the activity on the WebSoft project focuses on the specification
and standardization of the WWW protocol suite (HTTP, HTML, and URI),
such that each of the protocol elements include the mechanisms
necessary to support the features of a global software engineering
environment. This standardization is necessary to promote the
development of a large number of tools which share these common
features, allowing the gSEE to be composed using commercial,
off-the-shelf tools and systems rather than just research prototypes.
Our work on the WWW standards, in collaboration with the
World Wide Web Consortium (W3C) and the
Internet Engineering Taskforce (IETF),
has included authoring the core protocol specifications for the
Hypertext Transfer Protocol (HTTP) and
Uniform Resource Identifiers (URI), as well
as significant involvement in the specification of the
Hypertext Mark-up Language (HTML).
Our current focus is on the next layer needed to support collaborative
software engineering:
Distributed Authoring and Versioning on the World Wide Web.
At present, any web browser can contact any HTTP
server, download content, and display it to the user. This should
hold true for distributed web content authoring tools. Any authoring
tool should be able to contact any write-capable server, and be able
to modify content on that server (provided the user has appropriate
access permissions).
Tools and Technologies
The WebSoft suite of tools and technologies is an expanding base
of software to support collaborative software engineering using the
World Wide Web. It includes our work on the wwwstat HTTP access log
analysis tools, the multi-owner maintenance spider (MOMspider) for automating
coherency analysis of distributed hypertext webs, and WWW client protocol
libraries for the Perl and Ada95 languages.
- libwww-ada95
- A library of Ada95 packages that provides a simple network streams
programming interface to the World Wide Web. This is a new library,
so currently only the network interface is available. However, that's
a far cry better than writing your own! Hopefully, libwww-ada95 will
become a community-supported collaborative effort to assist the
further development of useful Ada95 clients and tools.
- libwww-perl
- A library of Perl packages that provides a simple and consistent
programming interface to the World Wide Web. This library is being
developed as a collaborative effort to assist the further development
of useful WWW clients and tools.
- MOMspider
- A web-roaming robot that specializes in the maintenance of distributed
hypertext infostructures (i.e. wide-area webs).
- wwwstat
- A package for processing a sequence of httpd access_log files and
printing a log summary in HTML format suitable for publishing or
further analysis.
We also co-founded and are actively involved in the
Apache HTTP Server Project.
Publications
- Shared Leadership in the Apache Project
- Roy T. Fielding. Communications of the ACM, 42(4),
April 1999, pp. 42-43.
- Web-based Development of Complex Information Products
- Roy T. Fielding, E. James Whitehead, Jr., Kenneth M. Anderson,
Gregory A. Bolcer, Peyman Oreizy, Richard N. Taylor.
Communications of the ACM, 41(8), August 1998.
- Hypertext Transfer Protocol
-- HTTP/1.1
- Roy T. Fielding,
Jim Gettys, Jeffrey C. Mogul, Henrik Frystyk Nielsen,
Larry Masinter, Paul Leach, and Tim Berners-Lee.
Internet Draft Standard RFC 2616, June 1999.
(PDF).
[Obsoletes
RFC 2068.]
- Hypertext Transfer Protocol
-- HTTP/1.0
- Tim Berners-Lee, Roy T. Fielding, and Henrik Frystyk Nielsen.
Internet Informational RFC 1945, May 1996.
(postscript)
-
Uniform Resource Identifiers (URI): Generic Syntax
- Tim Berners-Lee,
Roy T. Fielding, and Larry Masinter.
Internet Draft Standard RFC 2396, August 1998.
-
Relative Uniform Resource Locators
- Roy T. Fielding. Internet Proposed Standard RFC 1808, June 1995.
- World Wide Web Distributed Authoring and Versioning (WEBDAV):
An Introduction
- E. James Whitehead, Jr. ACM StandardView, March, 1997.
- The
Apache HTTP Server Project
- Roy T. Fielding, Gail Kaiser. IEEE Internet Computing,
1(4), July/Aug. 1997.
- Collaborative Work: Distributed Authoring and Versioning
- Gail Kaiser, Jim Whitehead. IEEE Internet Computing, 1(2),
Mar./Apr., 1997, pages 76-77.
- Distributed Authoring on the World Wide Web, Informal Working Group
Meeting
- E. James Whitehead, Jr. World Wide Web Journal,
Fall 1996, Vol. 1, No. 4, pages 75-77.
- Requirements on HTTP for Distributed Content Editing
- E. James Whitehead, Jr. Internet-Draft (work-in-progress), reprinted
in the World Wide Web Journal, Fall 1996, Vol. 1, No. 4, pages 239-244.
-
Fusing WWW and Link Server Technology: One Approach
- E. James Whitehead, Jr., Roy T. Fielding, and Kenneth M. Anderson.
In Proceedings of the 2nd Workshop on Open Hypermedia Systems,
Hypertext'96, Washington, DC, March, 1996, pages 81-86.
-
Maintaining Distributed Hypertext Infostructures:
Welcome to MOMspider's Web.
- Roy T. Fielding.
Computer Networks and ISDN Systems, 27(2), November 1994.
- Conditional GET Proposal for HTTP Caching.
- Roy T. Fielding. Published on the WWW, January 1994.
Roy T. Fielding and
E. James Whitehead, Jr.
Department of Information and Computer Science,
University of California,
Irvine, CA 92697-3425
Last modified: 08 Oct 1999
This material is based upon work sponsored by the Air Force
Materiel Command, Rome Laboratory, and the Defense Advanced Research Projects
Agency under Contract Numbers MDA972-91-J-1010 and F30602-94-C-0218. The
content of the information does not necessarily reflect the position or the
policy of the Government and no official endorsement should be inferred.