Building a Web from Distributed Objects

Work at APM on combining the WWW and Objects has focussed on three themes:

  1. using IIOP as an alternative to HTTP
  2. Using CORBA style distributed objects to build an extensible "distributed" web server
  3. Using CORBA style distributed objects to enable greater integration between browsers and client applications

IIOP-based Web Transport: ANSAweb

ANSAweb provides a minimal set of operations to allow inter-operation between CORBA and WWW information services. It provides to the CORBA world a facility to transport documents inter-operably with the Web, and it offers the Web a means to perform CORBA method invocations, without any modification of clients or servers being necessary.

More information about ANSAweb can be found at <URL:>.

End Systems 1: Advanced Web Servers

Current Web servers are quite clumsy; a single large application handles document retrieval, while other services are farmed out to CGI programs. The CGI programs are stateless - any state required must be explicitly stored, usually in a file system or a database. They also suffer from relatively high start-up overhead on most platforms due to the creation of another process and the reading-in of state information. These limitations, and concerns about scaling and performance motivate our desire to build a "distributed" Web server using distributed objects.

A server built from distributed objects has several advantages over existing servers:

  1. It is easily and transparently distributed. If the underlying object system supports migration, then data can move to be near the point of access automatically; similarly, replication for reliability and/or availability can be done transparently.
  2. It is extensible. As new applications arrive, objects to handle them can be added to the implementation as easily as CGI programs may be added to current servers, but with the benefits of strong type safety and better configuration management than is currently possible.
  3. Load balancing can be implemented, so that frequently-accessed objects remain 'live', while other objects may be passivated to disc between invocations; live objects can be spread across a set of machines according to demand.

End Systems 2: Advanced Web Clients

The increasing number of buildings with high-bandwidth connections (as a result of the popularity of cable television) means that the oft-predicted boom in "appliance computing" is now much more likely than it has ever been. Many users have grown up with games consoles; they expect simply to plug in, choose an application (game), and start using it. They do not want to be made aware of the underlying operating system.

Future clients will not want to store copies of large applications that are used infrequently - even for those applications that are used frequently, there are large parts which are rarely, if ever, used. For example, a word-processor contains utilities to import documents from many different legacy systems, most of which a given user may never require.

The expected proliferation of downloadable components will require effective configuration management between the browser and the server. Automatic configuration management is a big area for work and development. Consider, for example, how much work configuration management can be on one of today's PCs, then imagine how much that will expand when software objects are added and removed many times per session.

3 April 1996; <>

Converted from text 16 Apr 1996 by <>