Trends and technologies

Instructor's Guide


introduction objects web jamming architecture summary, Q/A, literature
The Web came as a surprise, both to the hypertext community and to the distributed systems community. As a surprise because, despite its simplicity, or probably because of its simplicity, the adoption of the Web is unsurpassed, in absolute volume and growth rate. Its simplicity lies both in terms of the underlying TCP/IP-based HTTP transport protocol, and the (conceptual) functionality of the HTML hypertext format, which more or less defines the services offered by the Web.

Transport and Services

WebCorba
ServicesHTMLIDL
TransportHTTPORB/IIOP

Alternatives


slide: Transport and services

It is probably not an exaggeration to say that the entire academic community was shocked to see the sudden mass-scale adoption of a technology that was only a shallow reflection of the original conceptions of globally distributed systems and hypermedia. Not surprisingly, however, academia and other research and development institutes reacted to the Web by redirecting their research programs, in order to jump on the wagon.

slide: Java applet with ORB

As an example, in the August/September 1996 issue of the Object Expert (Europe) the question was posed `How to survive the Internet revolution?'. In answer to that question, the Web was first criticized for offering a monolithic HTML/HTTP-based structure that gave rise to many proprietary extensions. Then, as a solution, CORBA was praised as an infrastructure that allows for the creation of well-behaved extensions through the use of IDL. The most radical alternative, indeed, would be to base the Web entirely on CORBA, of which the ANSAWeb proposal is an example. A rather different route is to adopt HTTP as the transport protocol for object request brokers and turn the Web into a global infrastructure for distributed object computing, as for example suggested in the WebBroker proposal that will be discussed later.

A more modest, and realistic, approach is to enhance Java applets with the capability to connect with CORBA servers, as indicated in slide java-orb and slide steps.

In slide java-orb, we see a browser with an HTML page that contains a Java applet, which may connect through an ORB directly to, for example, a database server. Alternatively, a request may pass through a CGI process to an ORB attached to the HTTP server.



slide: Processing steps

In more detail, when we look at the processing steps, as depicted in slide steps, we may distinguish between
  1. get the HTML page,
  2. load the applet,
  3. start the applet,
  4. connect to a CORBA server from the applet,
  5. get access to the remote objects,
  6. connect optionally to a database, and
  7. send output either in HTML format or directly to the applet.
Based on this setup, we may think of several alternatives and refinements, as for example the use of Java RMI or an extension of the Java ORB with full server functionality, to allow for callbacks from the objects (server) to the client (applet).

The WebBroker proposal

In the scenario sketched above, Java and CORBA were used to extend the basic functionality of the Web. In a similar vein, Microsoft DCOM, as an alternative distributed object technology, might have been used to incorporate objects in the Web. The WebBroker proposal, as explained in the technical note submitted to the W3C, 11 May 1998, attempts to unify distributed object technology and the Web publishing infrastructure by providing a common Web computing standard based on HTTP and XML. (XML, the eXtendable Markup Language, may be considered as a lightweight version of SGML, suitable for the description of the structure and content of arbitrary documents.)

The objective of the WebBroker is, as stated in the proposal, to have a system which is less complicated than the OMG CORBA and Microsoft COM+ distributed computing systems and which is more powerful than HTML forms and CGI. The principal advantage of the WebBroker approach is that it is Web-native. However, with the universal adoption of IIOP, which is now also the transport protocol of Java RMI, the advantage of a more efficient protocol gains more weight.