Tutorial on Dynamic Objects and the World Wide Web

Dynamic Objects Event, Object World East, May 5-6, 1996

John C. Mallery

Intelligent Information Infrastructure Project
Artificial Intelligence Laboratory
Massachusetts Institute of Technology

Abstract: Dynamic Object-Oriented Programming in the Common Lisp Object System (CLOS) is the fastest and most effective way to rapidly deploy and incrementally evolve complex applications for the World Wide Web. This tutorial provides the programming concepts and software tools needed to create CLOS-based Web applications. A cutting-edge review of current trends in World Wide Web technology by a Web founder is followed by an in-depth exposition of the design and usage of a freely-available Common Lisp Web Server, and related systems. Among other things, the tutorial explains: Finally, demonstrations of selected Web applications illustrate these technologies in action.

Note: You can download the Web server, all its source code, and all its documentation from the CL-HTTP Home Page. Consequently, the plan of this tutorial does not repeat the more timely and extensive information available over the Net.

Time:1:30-5pm May 5, 1996
CL-HTTP Home Page: http://www.ai.mit.edu/projects/iiip/doc/cl-http/home-page.html

  1. Introduction [1:30-1:40]
  2. The introduction reviews the history of the Common Lisp Web Server and its evolution since it became publicly available in Summer 1995.

  3. Overview Major World Wide Web Trends [1:40-2:10]
  4. Phillip Hallam-Baker, M.I.T. Laboratory for Computer Science & World Wide Web Consortium

    This review of the latest highlights and developments in the Web revolution sets the context for understanding CL-HTTP. As a founder of the Web at the European Center for Particle Physics (CERN) and a senior scientist with Web Consortium at M.I.T., Hallam-Baker provides a unique insight on the trends that will emerge in the coming months and years.

  5. Architecture of the Common Lisp Hypermedia Server (CL-HTTP) [2:10-2:40]
  6. The architectural overview lays out the major data structure and flow of control in the server. The system utilizes CLOS classes and multi-methods to achieve fine-grained modularity. Developers can easily specialize any class and customize any method as necessary to meet application requirements.

  7. Break [2:40-2:50]
  8. Generating Web Pages & Processing User Input [2:50-3:30]
  9. This section explains how to generate Web pages on the fly and how to process user input. Examples of code which utilizes various capabilities are explained and demonstrated. With this preparation, developers are ready to interface existing applications to the Web or write new ones using dynamic objects.

  10. Advanced Facilities [3:30-4:10]
  11. This section explains a number of advanced facilities which are already in the public release or which will be distributed in the coming months.

  12. Break [4:10-4:20]
  13. Demonstration of Selected Applications [4:20-4:50]
  14. Several applications using CL-HTTP will be demonstrated. The server home page provides access to some applications.

  15. Future Directions [4:50-5:00]
  16. The conclusion reviews areas for development.