Not only does a military academy have all the information overload of a normal university but it also has the extra burden of the military environment. Without a reliable information system, administrative and educational functions cannot be performed. This thesis deals with the problem of administrative overload in managing student, faculty, regiment personnel and course data in a military academy. It proposes an Educational Administrative Management System (EAMS), a Web-based data management system, as a solution.
With this goal in mind, existing client-server architectures, server side application development tools and database technologies are explored, and the best configuration of these tools is selected. Some of them are recommended. As a result of the study, Java Servlets and Java Server Pages are found as the optimal server-side programming tool for the application. A working prototype of the system is provided based on Oracle 8i DBMS, Apache Tomcat Web server, Java Servlets and Java Server Pages. Suggestions are provided for coping with change management issues during the implementation of the system.
PLANNING AND DESIGN
This chapter details the overall planning process used in the development and fielding of the application. This planning process incorporates the project’s mission, vision, values and goals. The chapter first summarizes the current application and its strengths and weaknesses. Later, the requirements of the system are defined as the first step in the design of the application.
- High Level Perspective
- Initial Direction
Although a two-tier client/server can be designed in several ways, we will focus on examining what is overwhelmingly the most common implementation. (Five styles of client-server architectures can be found in Appendix A.) In this implementation, the three components of an application (presentation, processing, and data) are divided between two entities: the client and the database server (Figure 1).
In this client/server model, all the presentation logic resides on the client, all the application logic resides on multiple back-end application servers, and all the data management logic resides on multiple back-end database servers. (Figure 2)
In the three-tier architecture, modularly designed middle-tier code components can be re-used by several applications. Reusable logic can reduce subsequent development efforts, minimize the maintenance workload, and decrease migration costs. At this point, the three-tier architecture is the best model that satisfies the needs for an enterprise information system. At a functional level, the architecture of an enterprise information system can be made of four components: client, Internet firewall, Web server (application server) and, database server. (Figure 5)
EVALUATION OF SERVER-SIDE TECHNOLOGIES
For an example, assume that we want to connect our database to the World Wide Web to allow people to query it. (Figure 6) Basically, we need to create a CGI program that the Web server will execute to transmit information to the database engine and receive the results back again and display them to the client. This is an example of a gateway where the CGI originated. (NCSA, 1999).
The greatest disadvantage of the CGI is that for each client request, the Web server creates an entirely new process (Figure 7). Each process consists of its own set of environment variables, a separate instance of which runtime environment is required, a copy of the program and an allocation of memory for the program to use. It can be difficult to imagine what might happen to a server when a large number of requests are received simultaneously. This will certainly affect the respond speed and the performance of the hardware. (Ayers, 2000).
By separating the page logic from its design and display, and by supporting a reusable component-based design, the JSP technology makes it faster and easier to build Web-based applications (Hall, 2001).
RELATIONAL DATABASES AND THE STRUCTURED QUERY LANGUAGE
Figure 12 shows the relationship diagram for the sample tables created in MS Access. These diagrams are used to describe the relations of the tables visually. In this figure, we can see the primary keys of each table and the relationship between them (many-to-one).
SQL APPLICATION PROGRAMMING INTERFACES AND JAVA DATABASE CONNECTIVITY
This type of driver translates JDBC function calls, into function calls of another API that is not native to the DBMS. An example is a JDBC-ODBC bridge. In this case, the application loads only one driver, namely the bridge. For instance, a Microsoft Access database can only be accessed using the JDBC-ODBC Bridge.
According to Whitten & Hapner (1999) the most important classes and interfaces are the DriverManager class, Connection interface, Statement interface, PreparedStatement interface, CallableStatement interface, and ResultSet interface. The following figure shows these classes and their relations.
DESIGN AND IMPLEMENTATION
Pressman (2001) suggests the “spiral process model,” as a development strategy for Web-based applications. The spiral model is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model. Using the spiral model, software is developed in a series of incremental releases. During early iterations, the incremental release might be a prototype. During later iterations, increasingly more complete versions of the engineered system are produced.
The Educational Administrative Management System (EAMS) prototype was built on a three-tier client/server architecture. The benefits of this choice were discussed in Chapter 3. The client interface was simply a Web browser where the user connects to the system and retrieves the data. In this architecture, all the business logic was implemented on the middle tier.
According to the use cases defined in Chapter 2, the EAMS’ Object Model was developed. The basic objects in the system are defined and the interaction between the other objects determined. Figure 27 shows the simplified object model of the system. The detailed explanation of the objects and their responsibilities will be discussed in later sections.
With the introduction of the Internet, the information systems faced major changes. Accessing the information anywhere and anytime is one of the key benefits of the Web-based applications. Web-based applications are proven to be scalable, high performing, and easy to implement, to manage and to update.
This thesis presented the design, development, implementation and analysis of the Educational Administrative Management System (EAMS) for the Turkish Naval Academy. EAMS will provide the academy with broader information availability, better performance, and a decrease in paperwork and manpower.
For the implementation purposes and to get accurate information from the academy, the administrative office users system interfaces were not defined in the requirements. These users must have special features that will enable them to print the academy’s official records and reports. According to the format of those reports and with the additional requirements, this user type can easily be added to the system. Another user type for the future enhancement is the system administrator who can be given the capability to see the current online users, their activities and to perform any online support/maintenance.
Source: Carnegie Mellon University
Author: Rasim Topuz