Pages: pp. 36-37
As any Web programmer can assure you, the Web is stretched to the breaking point. Where else would we find "cookies" used to hack state into a stateless protocol, input and output values squeezed through the grinder of HTML forms, and entire interfaces knitted together from scattered CGI pages? Nontrivial Web applications make for excruciating software engineering. Principles of data abstraction and modularization are defeated by systems that intermingle the structure of a purchase order with its presentation, database access, and advertisements from other divisions.
Now, nearly nine years after Tim Berners-Lee wrote the first Web browser, it is important to remind ourselves that the Web was originally a tool for viewing documents. "Documentcentricity" proved to be a powerful design principle, one that powered the rapid spread of Web servers around the world. It has some unique advantages—among them, it is self-documenting, simultaneously human- and machine-readable, and, perhaps most importantly, capable of aggregating several applications (remember our purchase orders?) into a single "document." The current question is how to retain these advantages while evolving the Web into a more reasonable platform for general computing systems.
One possible answer lies in deepening the relationship that already exists between the Web and object-oriented systems. Examine the following trends, in which our "document" begins to sound more and more "object"-like:
Such trends suggest that much may be gained by strengthening the relationship between document and object models, with the goal of defining Web objects.
In this, the premiere issue for 1999, IEEE Internet Computing takes a preliminary look at the Web as an object-oriented programming platform. You will find in the next 36 pages five articles that present the state of the art for integrating behavior and data on the Web.
As we take the Web beyond its original niche, leveraging the collective experience with engineering complex object-oriented systems, let's remember to preserve what makes the Web great—its human accessibility—while trying our best to make it computationally more efficient. $\qquad \SSQBX$
— Meredith Wiggins
To introduce the issue, we asked Manola, a CORBA and object-oriented database veteran, to lay out a framework for what a Web object model could look like, and to survey current technologies that support the integration of object and Web technologies. His survey is a good roadmap through the acronym maze of WWW.
The chair of the W3C's Document Object Model working group explains the inner workings of Level 1 DOM, a language- and platform- independent programmatic interface to HTML and XML documents and their elements. DOM is a foundation for developing applications that use Web documents in an object-oriented way.
Mark G. Wales
An engineer from webMethods, one of Red Herring's top companies for 1997, describes the use of XML to create interfaces for automated extraction of data from HTML pages into legacy or customized applications.
William C. Janssen, Jr.
The lead from Xerox PARC's HTTP-NG project describes work on the "next generation" of hypertext transport protocol currently being developed under the auspices of the IETF. The NG effort seeks to redesign HTTP based on a distributed object framework: rather than a web of documents (some of which represent objects), we will have a web of objects (some of which represent documents). Unlike HTTP 1.1, which was designed to be upward compatible with the existing HTTP-based protocols, HTTP-NG demands reprogramming servers. The interesting political question is, once again, whether better technology can overcome a large installed base.
Hans-W. Gellersen and Martin Gaedke
The authors argue that the Web's roots as an information medium and its low-level, resource-based implementation model hinder the use of well-established engineering principles to life cycle of Web applications. They apply a standard object-oriented component model to the generation of Web applications, using XML technology to support modularity and reuse of Web documents.