Go backward to Coordination Languages
Go up to Appendix: Technologies for Distributed Systems
Go forward to Distributed Objects and Components
The World Wide Web (WWW) was designed to provide a minimal technology for the delivery of multimedia hypertext documents across the Internet. Its architecture is very simple consisting of
Starting from this simple basis, the WWW is starting to evolve into an environment supporting distributed multiuser applications which involve communication, cooperation, and coordination [CTV96a].
The SunSoft development Java [Jav96a] is a portable execution environment based on a C++ like programming language [Fla96] which compiles to code for an abstract Java Virtual Machine (JVM). JVM programs ("applets") are served via WWW servers and may be referenced from WWW pages. On the client side, a WWW browser viewing a Java enhanced page loads the referenced applets from the server and executes them by invoking a JVM interpreter.
Java applets may be used to implement "live" documents but also user interfaces and interactive applications. Security restrictions however prevent the direct interaction between applets executed by different clients (network connections are only allowed to the server); standalone Java applications are not subject to such constraints. Java technology is nowadays generally utilized as the basis of many distributed computing projects because of its portability and its integrated support by various WWW browsers.
Java is currently the Internet programming language supported by many vendors and products. During the next years it will certainly be the basis of many further developments.
ActiveX is Microsoft's approach to provide executable contents in WWW pages and to let WWW browsers interact with Windows applications. Similar to Java applets, ActiveX "controls" are loaded from a server and executed on the client machine using COM for communication between objects and applications. Unlike to Java applets, ActiveX controls are proprietary; they consist of compiled machine code and run on Windows/Intel platforms only.
ActiveX has been promoted by Microsoft as a response to the challenge presented by the Java world and its envisioned role in the Internet/WWW. Recently Microsoft has presented ActiveX as an open standard by handing control over to the ActiveX group (a suborganization of the Open Group); still the technology is closely related to the Windows/Intel world.
Another branch of activities is centered around the recently standardized VRML (Virtual Reality Modeling Language) [VRM96] which allows to build animated 3D scenarios on top of the WWW infrastructure. While the current VRML 2.0 standard provide each client its own copy of a virtual world, extensions to shared worlds with interactions between multiple users (e.g. based on Java technology) have been proposed [BE95] [And96] [Roe95b].
The World-Wide-Web essentially represents a set of hypertext pages that are stored on various servers and reference each other by embedded links that contain absolute addresses of the machines where the information is stored. This lack of coordination makes the flexible management of large-scale information bases difficult. Various facilities for managing WWW servers are available but suffer from the deficiencies of the basic concept.
A system better suitable for such purposes is HyperWave (former Hyper-G), a large-scale, multi-protocol, distributed hypermedia information system which uses an object-oriented document and hyperlink database to provide information structuring, link maintenance, and content search facilities [Mau96] [AM95] [Hyp96]. The system consequently allows the network-transparent relocation of hypertext graphs, a task which is very difficult in the WWW. Still HyperWave leverages WWW technologies; by its multi-protocol support it can serve information to existing WWW clients as well as to special HyperWave clients. The system was developed at the Technical University Graz and is now commercially distributed.