This overview is obsolete and will soon be updated
Application overview
This is a work in progress to give an informal overview of the Open Test Manager application.The Open Test Manager server
In short the application lifecycle is as follows:- An admin launches and configures the server through a normal GUI interface.
- Users and admins accesses the Open Test Manager server through a normal web browser.
- An admin shuts down the application through the GUI window or through the web interface. The data is stored in database files and will be available the next time an admin starts the application.
Launching the application
When a potential future user visits the Open Test Manage homepage he
launches it for the first time using the link Launch using Java Web Start in the
menu to the left.A main screen welcomes the user and he can configure the server before launching it. He can choose to either start a new session or continue from an existing one, in which case he is prompted for the location of the database files from the previous session.
When the Start button is pressed the Open Test Manager server starts and an info message is shown on the screen.
Classes of note:
- testmanager.gui.MainClass:
The class containing the "main" method.
- testmanager.gui.MainWindow: The main window that greets the user launching the application.
- testmanager.database.Database: Contains static methods for handling the database.
- Java Web Start - official documentation by Sun.
Accessing the server
Every interaction with the Open Test Manager application from hereon
takes place through a web-based interface. Users go to the address of
the host computer, such as http://your-address/login and logs in
through by entering their user data through a web form.Classes of note:
- testmanager.web.BaseServlet: The (abstract) base class for all servlets used in the application.
- testmanager.web.UserListServlet: An example servlet that lists all testers.
- Servlet tutorial: A tutorial about java servlets.
- Handling servlet exceptions: Shows different ways of dealing with exceptions in servlets.
More about the web server
The application embeds a web server (or, more accurately, a "servlet container") named Jetty. It uses standard servlets to provide a web interface.Classes of note:
- testmanager.web.WebServer: Sets up the web server.
- The official jetty homepage: The official Jetty homepage, contains a lot of information.
More about the database
The database used in the application is named Derby. Note that the
database access in java is largely database-independent and standard
SQL is used. This means that developers does not need to worry about
the actual database being used, and in the future a different database
(such as MySQL) could be plugged in or configured by the user.The advantage with bundling the database with the application is the ease of setup and administration, as details is taken care of "under the hood" from the user perspective and a user does not need to run and administer a database server in order to use the application.
Classes of note:
- testmanager.database.Database: Contains some static methods for handling the database.
- The official
Derby homepage: The official Derby homepage, contains a lot of
information.
- JDBC basics:
Some info about accessing general databases from java.