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:
- maps of buildings, floors and rooms (must have)
- network & subnets (should have)
- by type of equipment (could have)
Visualizes at least the following objects:
- buildings
- floors
- rooms
- workstations
- other equipment (printers, etc.)
Possible use:
- general
- visualisation of the network and all its components
- getting information about an object (i.e. printer queue)
- equipment tracking (where can I find host X or printer Y?)
- user tracking (who is logged-in where?)
- for the administrator
- equipment monitoring and management
- event monitoring by colors and sounds (i.e. reboots, disk full)
- for the end-user (i.e. students)
- find free workstation to work on
- reserve workstation for next time (optional)
Further requirements:
- should be a nice and userfriendly tool
- online help will be provided using HTML documents
- a small example network will be provided as a demo
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.