Technological Assessments
Appendix Technologies for Distributed Systems contains
an analysis of the main technologies, systems and languages that are relevant
to building geographically distributed multi-user applications and that are
projected to play a major role in the mid-term future. In a nutshell, this
analysis leads us to the following assessments:
- Coordination Languages
- While a large number of coordination languages
have been proposed and developed, there is no empirical evidence for the a
priori superiority of any particular model. We consequently believe that the
coordination model should be based on the demands of the application domain.
- WWW/Java
- Java is de facto the Internet
programming language with a large number of vendors providing technologies and
compatible systems. It is extremely portable and available on practically
every existing system; JNI provides an interface to external C/C++
code. Despite of its known problems (efficiency, security versus flexibility),
it would be foolish not to utilize the existing technology base wherever
possible. ActiveX, the main competing technology, will also play an
important role but its future outside the Microsoft world is insecure.
- Information Services
- The WWW conceptually provides the worlds largest
network database but without the structuring and management facilities of a
real databases. HyperWave is based on a much better organization
concept for providing distributed information services; its multi-protocol
support allows to access most of its features also from conventional WWW
browsers. Its commercial support and its fairly large user base ensure future
reliability and availability.
- Distributed Objects
- CORBA/OpenDoc are currently the industry
standards for building distributed object-based services. Java RMI and
JavaBeans provide similar services for Java-based environments;
Java IDL represents an interface to the OMG standards. The Microsoft
technologies DCOM/ActiveX play a similar role for Windows/Intel systems
but their future support as an "open standard" by other vendors is
uncertain.
- Network Services
- The Argonne Nexus system is a stable basis for
building distributed services. However, its primary purpose is to serve as a
runtime system for parallel languages and communication libraries;
correspondingly its interface provides rather low-level concepts like threads,
global pointers, and remote service requests. On the other hand, the Caltech
Infospheres Infrastructure has been primarily designed to build
distributed applications on the basis of the Internet infrastructure
leveraging open standards in the WWW/Java world. The system is still in its
beta stage but the prospects seem promising. The European PageSpace
effort pursues similar goals but its reliance on tuplespaces as the basic
communication mechanism may result in efficiency problems. Technologies for
mobile agent transfer like the IBM Aglets Workbench might be integrated
into II or PageSpace.
- Collaborative Environments
- The commercial market is still mainly
focused on groupware supporting the needs of centrally located medium-sized
enterprises. There exist already various research prototypes for distributed
virtual reality, concurrent engineering, and virtual classrooms (the later
mostly limited to video conferencing), but few systems are usable for
real-world applications and most of them are based on proprietary
technologies.
Based on this analysis, we sketch in the next subsection a possible
implementation strategy for our architectural framework.
Maintainer: Wolfgang Schreiner
Last Modification: March 11, 1997