Component Architecture

The multi-tier architecture includes a service-based application server architecture, a JDBC bridge to the database, an object-oriented middleware, and dynamically linked delegates.

  Client   The client tier consists of a Java applet that runs from a web browser. As a presenter delegate, it provides a graphical user interface for viewing, specifying and modifying project information.
The client tier does not interface directly in any way with a database, but it does maintain local state information.   Server   The application and database server tier provides access to data in persistent storage. The application services center (a facilitator delegate) is responsible for all database transaction handling.   Communication   All communication between client and server is done through object serialization (encoding of objects into a stream of bytes) over standard socket connections. This mechanism could be upgraded to use Remote Method Invocation or CORBA.
Communication between the application services center and the database is done through a JDBC bridge.   Middleware   Most of the bussiness logic is encoded in the middleware, a package of Java classes describing the data model used. These classes are common to both the client and server, and all communication between client and server is in the form of (serialized) objects from these classes.
A distinction is made between pure data objects and network objects that support the communication mechanisms.   Services   Most of the basic functionality is provided by numerous reusable services. These are independent modules that provide specific functionality to the system, such as database access, file access and authentication. Services are intended to be small and narrow-focused. As such, a common request may involve multiple services.
Services are grouped as to whether these require database access or not. Database services exist for the different data types. Other services provide access to the underlying file system and present information about users and delegates logged on to the network.
This service-based architecture allows for an easy extension of the system's functionality through the development and integration of new services.   Webtop   The webtop server tier brings this functionality closer/faster to the client. It serves as a cache for project information from the database and provides local services.
The webtop services center provides local versions of services available at the applications services center. Differences in the collections of services are due to the fact that the webtop server tier does not interface directly in any way with a database, but only caches project information arriving from the database server tier. Additional services provide localized functionality, such as access to the local file system.   Delegates   Developed as a collection of delegates, the minimal system configuration provides basic access to all project information. Additional delegates may provide extended functionality, short cuts or access different resources. Developed as individual Java applications, these can be dynamically linked into the system and access all services available (though functionality may be limited through access rights). They present themselves to the user as icons in the user interface. Four types of delegates can be distinguished: a representative represents a user to other users or delegates; a presenter presents information to a user in an appropriate form; a facilitator facilitates the exchange of information by structuring it appropriately; a mediator supports the communication between users and delegates. Both the webtop server tier and applications server tier provide a mediator to support access and communication.

  References A. Gupta, C. Ferris, Y. Wilson and K. Venkatasubramanian, Implementing Java computing: Sun on architecture and applications deployment, IEEE Internet Computing March-April 1998, 60-64.

This website has been archived and is no longer maintained.