OOP '98 assignment: VisualizeIT

name              : Henk Schouten
student number    : 0887862
e-mail            : henks@si.hhs.nl
university	  : VU
study             : INF
major             : Mix of CS and SE
year of enrollment: 1992
want group account: No

VisualizeIT

VisualizeIT provides the user with a number of graphical views on the various kinds of IT-equipment found in a modern computer network. Its interface will be highly interactive and allow users to perform certain actions upon the equipment shown. It can be used by a network administrator as well as by an ordinary end-user, although with slightly different functionality. In one view VisializeIT will show the user a map of a building, a floor or an individual room and show things like workstations, printers and other kinds of IT-equipment at their natural location. Other views allow for different grouping of the equipment, for instance by their type or by the subnet they are connected to. For all objects shown you can inquire for more information about the object or perform certain actions on the object. For instance, while looking at a printer, you can ask for the queue of jobs awaiting to be printed, but also cancel one of these jobs. Apart from being able to walk around and find things along the way, a user can also search for certain equipment and VisualizeIT will show it's location in any of the different views.

Requirements

Possible Views: Visualizes at least the following objects: Possible use: Further requirements:

Design

The application will be build upon a multi-tier architecture using CORBA for the communication among all its components. The visualization tool will be implemented using JAVA applets to allow its embedding in a IntraNet environment. The different servers will all be implemented using C++.

The total application consists of at least the following parts:

Visualization Tool

The visualization tool is the frontend of the application and provides its userinterface. It will be implemented in JAVA to allow it to be embedded in an Intranet invironment. The userinterface will be designed using a GUI-builder that uses the AWT-classes to implement the design.

classes

VisualObject
Since all the visual objects have common behaviour there is need for an abstract class that all visual objects can be derived from.
ClickableObject
Most of the visual objects can be clicked on to perform certain actions on them. Possible actions are single click to select the object and perform further inquiry on it or double click to 'zoom in' and display more details. ClickableObject inherits from VisualObject.
View
The visualization tool supports views to allow for different groupings of the available IT-equipment. Views can be nested. They are represented by an icon in their parent view and hold a list of VisualObjects to display once they are opened. The View class inherits from ClickableObject.
ManageableObject
Objects that can be managed by the system have some common behaviour that is defined by this abstract class. ManageableObject is a derived class from ClickableObject.
Workstation, Printer, ...
The actual objects that can be managed by the system and so have operations defined on them that can be activated by the user. They all have their counterparts in the Management Server that they communicate with using CORBA. They are all derived from ManageableObject.

Management Server

The management server is the main server of the application. It maintains a global view of the total IT-infrastructure and acts as an intermediate server between one or more visualization tools and several agents used to monitor and manage the IT-equipment.

classes

ManagedObject
Abstract class that acts as a placeholder for all the common behaviour of the various types of IT-equipment to be managed.
Workstation, Printer, ...
These are all derived from ManagedObject and represent the various types of IT-equipment to be managed.

Management Agents

All actual system management actions will be performed by specialized agents. Normally these will run on the system to be managed, but sometimes they need to be run elsewhere. To monitor a printer the agent will be run on a printer server, for instance. Agents can also play an important role in translating dedicated management protocols (like SNMP). In all cases these agents will communicate to the management server using CORBA.

Notes

This synopsis is based on the suggested CORBA assignment about system management.