MODELING THE PROBLEM
The static IP is a fixed IP address given to a cloud terminal. If the static IP was not used in the system it would have been impossible for the client application to recognize the server over the cloud. Any terminal accessing the cloud is normally assigned a dynamic IP that changes periodically or whenever the connection is terminated. With this situation the possible solutions are either to construct a virtual private network (VPN) between the clients and the database, or to assign a fixed IP to the database so that whenever a client is calling the database, this IP address could be used to establish the connection.
There were multiple protocols that could be used achieve successful communication over the cloud: UDP, TCP, and Oranet. The TCP was chosen specifically because by far the TCP is the most compatible communication protocol used in computer networks. Additionally the TCP is perfectly compatible with both the database listener and the JDBC API. Dividing the data to be communicated into small segments called packets, the TCP creates messages to be communicated over the cloud.
SOLVING THE PROBLEM
Amro Salem Contribution
- Designing Implementation
- Identifying the Users of the System and Creating the Corresponding Roles
- Some Functions of the Student Module
- Important Features of Student Module
- Some Functions of the Admin Module
The implementation was designed to make use of the features and the technologies of the available products. Beside using the features and the technologies of the available products, common programming techniques was utilized to encapsulate the data layer and make use of the upper layers in such a way that those layers is not directly manipulating the database. This was done by utilizing the session coordinate in the system. The session package containing the system offers a lot of features that would make the system more usable. Usability of the system was the main factor considered when designing the data manipulation scheme.
Ramy Saad Contribution
The Professor module contains the GUI and handling code that models the typical operations that would be initiated by a professor using the system. These operations reflect the privileges granted for the professor and hide the operations that are not allowed for a professor. For example the user that logged in as a professor cannot remove a student from the database or submit scores for a course that he is not teaching. Some of those functions are mentioned in the following sub-sections.
Hany Abd-ElSamad Contribution
The ER model was studied perfectly and the plan of the ER model was created. Oracle SQL syntax was studied also some features of Oracle 10G was comprehended. Implementing the ER model requires to implicitly embed a diverse categories of statements in the tables creation scripts. In order to achieve a truly reflecting implementation of the ER model, I had to keep track of the variation of several variables including types of the columns, precision and scale of the columns, and finally the types of constraints that perfectly fit the visualization of the ER model. About 16 creation scripts were required to completely satisfy the specification comprehended from the ER model.
Ahmed Awad Contribution Control Role
This is the main window that is opened after the authentication is done and after that the password of the user is known to be verified to be belonged to the control department. This window is composed of three buttons on the top and a button in the down of the window three buttons that implement the three functions that is needed from the control department this buttons are:
- Add Result button
- Edit Result button
- Print Result button
Ahmed Saad Contribution Graduate Module
In the coding of the Graduate module the Java Persistence Query Language is used.
The Java Persistence Query Language (JPQL) is a platform-independent object- oriented query language defined as part of the Java Persistence API specification. JPQL is used to make queries against entities stored in a relational database. It is heavily inspired by SQL, and its queries resemble SQL queries in syntax, but operate against JPA entity objects rather than directly with database tables. In addition to retrieving objects ( SELECT queries), JPQL supports bulk UPDATE and DELETE queries.
Role of the Graduate
The Graduate can view some data in Tables from the database & can edit his contact information. The Graduate can view the archive and can Edit some data in his archive by using the following buttons (new, delete, refresh, save) in order to be able to update his contact information which facilitates the communication with his colleagues.
Source: Telematica University
Authors: Sameh A.Salem | Claudio Fornaro | Paolo Prinetto