Overview

Enviroment

The Portfolio application is located on a machine connected to the Internet, the user can access the Application through the World Wide Web. The metadata repository and the content repository can be located on a separate machines. By interacting with a web based interface, the user can perform functions (depending on the user role) such as query the Application for Components, adding or removing Components, or annotate Material Components. To do this the user needs a browser that supports the HTML 4 specification.

Function

The Application consists of three layers. The bottom layer is the repositories where metadata, annotations and the intelectual content is stored. On top of that is the application layer, where e.g. the application and business logic is implemeted. The top layer is the user interface layer, where the web pages that the user interacts with is generated.

Each layer only interface with the layer below or above it. The interface between the repository layer and the application layer is the repository handler module which handles all queries and operations on the repositories. The interface between the application layer and the user interface layer is an API that offers all the functionallity needed to implement the user interface.

The repository layer and the application layer can be located on different physical machines, since the repository handler module uses JNDI to connect to the repositories. The appliaction layer and the user interface layer must be located on the same physical machine since the user interfaces uses standard Java method calls to access the services provided by the application layer.

User roles

The Application has three main user roles; Guest, User and Administrator. In addition, Maintenance responsible for maintaining and monitoring the performance of the Application.

Guest

Guests are users that does not have an account in the user configuration. Guests makes queries and requests for Components matching the criterias. Guests browse the organizations, opens Material Components and views the associated metadata. Guests has only access to public available Components.

Guests are not required to know how the Application works to use the services provided by it, therefore can the Application be used by a wide range of Guests.

User

Users logs on to the Application, makes queries and requests for Components matching the criterias, browses the organizations and opens Material Components. Users supplies Material Components along with their metadata and access restrictions to the Application. Theese Material Components are then available for other users, depending on access privileges. Users are also able to manage all Components currently available to them in the Application.

Users does not kneed to have a complete knowledge of how the Application functions, but it is importent that Users know how to manage the Component organization and how to provide associated metadata.

Administrator

Administrators logs on to the Application. The primary task of an Administrator is to manage the Portfolio Component base, by creating and removing Portfolio Component when the user configration is changed. Other tasks performed by the Administrator is to make backups of Portfolio Components and to restore Portfolio Components from backups when needed.

An Administrator understands the Application enough to support Users in their daily rutines.

Maintenance

The main task for Maintenance is to keep the computer on which the Application is installed running and to maintain and monitor the performance of the Application. The installation and configuration of the Application and any required auxiliary software is the resposible of Maintenance, this includes user configuration and metadata schema maintenance.

Maintenance understands well how the Application functions, especially the metadata functionallity and user configuration.

General constraints

The Application will be developed as a reference implementation of the SCAM framework, using Java, SQL and RDQL. The Application needs a J2EE application server for the repository layer and a servlet container for the user interface layer.

The Application will serve as a starting point for other applications based on the SCAM framework, so it is importent that the Application is maintainable. This means that care should be taken when designing the Application, and also when writing the code.

Assumptions and dependcies

The Application will work on Windows and Linux plattforms. In addition, the Application needs a JBoss application server (a SCAM framework dependency), a Java Runtime Enviroment (Java 1.4) and a servlet container to work.