around Java Servlet Technology. As servlet
container Apache Tomcat 5.0 is used.
This architecture of the platform allows
development of the e-learning application using
MVC architecture. This three-tier model makes the
software development process a little more
complicated but the advantages of having a web
application that produces web pages in a dynamic
manner is a worthy accomplishment. The model is
represented by DBMS (Data Base Management
System) that in our case is represented by MySQL.
The controller, which represents the business logic
of the platform is Java based, being build around
Java Servlet Technology. As servlet container
Apache Tomcat 5.0 is used.
The view tier is template based, WebMacro
technology being used. WebMacro is also a Java
based technology the link between view and
controller being done at context level. The
separation between business logic and view has
great advantages against having them together in the
same tier. Once web developer has set up the
business logic, web designer can independently
work on the view. This decoupling makes
development process more productive and safer.
One of the biggest disadvantages of having business
logic and view together is the lack of modularity that
brings problems in application testing and error
checking.
Tesys application is an implementation of
platform to which new data sources, business logic,
and data views may be added.
The business logic of the application uses Java
classes. There are four levels of dependency
between classes: servlets, actions, managers and
beans.
Servlets level has so far two of them:
MainServlet and DownloadServlet.
The MainServlet can be seen as the main gate
of the application. Its main purpose is to check
whether the request may be fulfilled or not from
user’s role point of view. By default, a user is a
visitor and may execute only non-critical actions.
The MainServlet redirects visitor users to welcome
page where they are supposed to provide a username
and a password in order to login. The second level
of classes in the dependency tree has the action
classes that effectively take care of the requests. The
main action classes are Login, Logout, Sysadmin,
Secretary, Student and User.
Secretary class codes the actions that may be
run by secretary users. There are 64 defined actions
that code sections, professors, students, disciplines,
exams, grants and feedback management. Ten
actions implement secretary’s communication with
students and professors.
Professor class codes the actions that may be
run by professor users. There are 46 defined actions
which code disciplines (chapters, test and exam
questions), students, grants management. Professors
to communicate with students and secretaries use ten
actions.
Student class codes the actions that may be run
by student users. There are 51 defined actions which
code test and exam taking and displaying,
maintenance of profile data, communication with
secretaries and professors, request of grants to take
another examination and fill in feedback forms.
The third level of classes in dependency tree
has the manager classes that are extensively used by
action classes. Manager classes are in close
relationship with the database relations. We have
implemented twelve manager classes for the most
important relations. A manager class implements all
needed operations on a specific relation.
The last level of classes consists of bean
classes. These classes are used mainly in manager
classes and are in one to one correspondence with
the relations from the database. In fact, for each
relation there was defined a bean class.
The model is implemented in MySQL and
consists of 21 relations. Among the most important
ones are: user, role, userrole, usersections, sections,
questions, testquestions, examquestions, testresults,
examresults, messages, activity.
This database model is used as a completely
passive holder of the data that is manipulated
entirely by the controller. The model is totally
unaware of the existence of either the view or the
controller and of its participation in MVC
architecture.
The view uses WebMacro templates. Similarly
to action classes in Controller, the templates are
organized into folders based on the role of the user
that will have them displayed.
3 EXPERIMENTAL RESULTS
The platform is currently in use on Windows 2003
Server machine. The setup process consists of two
stages. After all needed software is installed (JDK
1.4.2, Apache Tomcat 1.5 and MySQL) the
application is deployed. The database structure is
created and a sysadmin user is added.
After the setup process finishes the sysadmin
user logs in and creates a secretary user. The
TESYS: E-LEARNING APPLICATION BUILT ON A WEB PLATFORM
317