Figures 5 and 6 illustrate the overall architecture of Web software linking multimedia servers and clients with standard interfaces and technologies, such as HTML, VRML, and Java---some key concepts are defined in Table 1.
Figure 5: A simple representation of the ``old'' (pre 1996) software
architecture of the WWW showing emerging advanced services, as well as
the basic technology
Figure 6: The 1996 Java/Netscape Client Server Model with
evolving/confusing/overlapping capabilities.
Table 1: Some WorldWide Web (WWW) technologies and services
We believe that the current trend to build applications for this architecture will accelerate. Now, we see WebMail, WebDatabase (see Figure 7), WebEditor, WebFoil, WebChat, but soon we see a set of more advanced products, such as ``WebWord,'' which will offer the functionality (and more) of Microsoft Word (and similar products) but be built with Web technologies. WebWord is quite different (in architecture and hence implementation) from linking Word to the Web (Weberizing Word) and so Microsoft has no special advantage in this emerging WebTop Productivity field. WebWord will use Web standards for all internal and external representations, and so allow easy integration of new functionality, and customization of WebTop environments for particular markets.
Figure 7: (a) Oracle-Web Integration Architecture; (b) Choices of
Formats and Filters in Web Systems
The Web will not only allow new technologies to develop better versions of current applications (such as Word) but also produce new uses of computers. The current Web roughly implements a client-server computing model, but as client-side Web technologies improve one sees an evolution to a new paradigm---the server--server computing model of Section 1.1. This does not say that clients will disappear, but rather they will evolve to incorporate much of the functionality now in servers. In fact, current clients are much larger software packages than most servers! Already, the Web links some 50,000 servers together, but technologies, such as Java and a growing use of interactive and collaborative applications will either directly (run a server on client machine) or indirectly (enhanced browsers) turn all clients into servers. Furthermore, JavaVM (Virtual Machine) supports client side multithreading, and so differences between (multitasking, e.g., UNIX) servers, and (multithreading, e.g., JavaVM) client technologies are, indeed, fading away these days. This implements the democratic Web described in Section 1.1 where all of us can be consumers and producers of information for the Web. Remember that when we talk of products using Web technology, it does not have to be applied to the full world-wide Internet. Rather, WebWord could run a single PC which has both server and client capabilities. Again, Web linked relational or object databases (Figure 7), and a future WebLotusNotes product could use Web Technology and Webserver systems to support a Business Enterprise Information system or IntraNets on a closed corporate network.
The Web naturally supports virtual organizations with several small entrepreneurial companies linked dynamically together. It will be hard for the large monolithic systems and software companies to be competitive. There will, however, be an interesting systems integration business, which will put together and support linked sets of Web technology modules for particular services in targeted markets and organizations.
The above implicitly defines WebWindows as the target architecture for the future replacing UNIX, Apple Macintosh or the Win32 interface to Windows 95/NT. Bell argues that Windows NT will be the operating system of SNAP---we say that this may be correct but perhaps irrelevant as the real ``action'' will be at the higher level defined by the Web. In fact, the role and structure of operating systems could change for they need not support users directly, but just Web servers and clients. This changing architecture is shown in the comparison of Figure 8 and Figure 9 where the latter also illustrates the blurring of the distinction between (Web) servers and clients.
Figure 8: Architecture of Web Client-Server Software---Mosaic/Netscape
Today
Figure 9: Architecture of Web Client-Server Software---The Future as
suggested by Hotjava?