al najah national university faculty of engineering computer
Download
Report
Transcript al najah national university faculty of engineering computer
AL NAJAH NATIONAL UNIVERSITY
FACULTY OF ENGINEERING
COMPUTER ENGINEERING DEPT.
Graduation Project #1
University Internet Student Registration System
By :
Ahmad Badawi
Ahmad Abu Omar
Instructed By :
Dr. Ashraf Armoush
Dr. Raed Al Qadi
Dr. Luai Malhis
Table Of Contents :
Comparison Between Old And New Systems
Structure of the system
Integration between tiers
The Database
Structure of the System
Comparison Between Old And New
Systems :
Issues to Consider :
Scalability
Performance
Security
Reliability
Flexability
Comparison Between Old And New
Systems :
Scalability in Old Systems
Old Systems had very poor scalability because they are
built on mainframe computers handle all the
processing and terminals on teachers and secretaries
rooms, students must head to his supervisor or his
department secretary to register courses in his/her
table which make the registration process difficult and
boring for both the registration employee and the
student and it requires the student to be in the
university and he is also limited in the employee
working time
Comparison Between Old And New
Systems :
Scalability in New system
The new system increased the scalability by making the registration
available to the student at any time and from any place given that
the student has a computer with a browser program and a
connection to the world wide web.
The system even though requires an IIS server on Windows
environment to for the server side will work on any browser which
supports the HTTP1.1 protocol (e.g. IE, Netscape, …) and on any
OS because data sent to the browser (client ) is pure HTML or
client-side scripts (e.g. JavaScript)
Comparison Between Old And New
Systems :
Performance in Old system
Only one mainframe handle all processing which make
the performance depend on the processing power of the
mainframe
Comparison Between Old And New
Systems :
Performance in New system
Ability to increase the processing power of the server by
not only increasing the processing power of the server
but also by distributing the processing on more than one
server by using clusters of servers which distribute the
processing load between servers automatically
Comparison Between Old And New
Systems :
Security
Security in the new system regarding the DB which is an oracle 8
database (The most powerful commercial DB )is handled by giving
each user who want an access to the database the privileges that he
requires only, for example the student logs to the database with
privilege to connect and to perform queries and DML statements, and
the database will not perform another operations for the student that
he is not allowed to perform like defining a new table.
Security regarding the server is handled by using secured sockets layer
(SSL) which is a layer resides between the network layer and the
application layer to perform encryption of the data to prevent others
from intervening the data and see information such as passwords
Comparison Between Old And New
Systems :
Reliability
No way for the student to enter wrong data because
data and form validation techniques used in our
application prevent wrong data , data entry methods for
the user are supplied using HTML forms and from
elements ( buttons, checkboxes, …) and textfields data
is validated and before submission to the DB and even if
the user tried to alter data submitted to server the
application will validate data before submission to the DB
Comparison Between Old And New
Systems :
Flexability
The application provides the user with an interactive and easy to
use interface which provide him with all the related information such
as grades, plan etc… and simplifies the courses registration process
and guide the user step by step in the process allowing him to
concentrate on the current step and by submitting the current step
data the next step will begin.
Errors in submitting data is minimal (using froms and form elements
) and if they occur the application will tell the user about the error
and tell him to enter the correct data
Structure of the System :
The system employs Microsoft N-Tier Paradigm to form the structure
of system which uses 3-Tier structure consists of :
The Database handles the storage and structure of the data
The Application which handles the processing logic (code)
The Browser (client) which handles the presentation of the
results
Each tier can be separate on a single machine or more than one tier
can be on the same machine e.g. the database and the server could
be on the same machine
Integration Between Tiers
The three tiers which compose the whole system interact and
integrate each other :
The browser connect to the server using HTTP1.1 protocol and
request the wanted page, the server processes the page and if it is
of extension .asp will escape the html code and any client-side
scripts and put them in the response buffer until it reaches the
server-side script which put it in memory and replaces it with
placeholders and will continue like this until the end of the file, the
server then interpret the server-side script and put the results which
are html code and client-side scripts and put them in the
corresponding placeholders in the response buffer then the
complete buffer is sent to the client
The server connect to the DB via the Oracle Objects for
OLE (OO4O) In-Process Automation Server which is a
set of ActiveX Controls that allow the access to the
oracle DB server and execute SQL statements and PLSQL
blocks and return the results.
Unlike other DB connectivity APIs such as ODBC and
OLEDB which are developed for connectivity with any DB
that support this connectivity, OO4O is developed and
optimized specifically to work with oracle DB servers.
Key Features of OO4O used in our system :
Connection Pool Management Facility
Support for scrollable and updateable cursors for easy and
efficient access to result sets of queries
Support for Parameters to increase the Performance of SQL
statements performed
The Database :
The system database Design is the most important step
in the system design and it represents the core in the
system and it offers :
No Data Redundancy ( Normalization )
Ability to perform any query easily and efficiently
Security using user privileges
The following is the ER-Model of the Database :
ER-Model
The Application
An Application in IIS is and ASP is the whole ASP files in a virtual directory
and its subdirectories.
The application starts when the first user requests an .asp file from the
application after the server has been turned on, this triggers an event
handler written in the global.asa file which will start the Connection Pool
Management facility provided by OO4O by creating a number of
connections to the database and store the pool as an application wide
object and developer can specify the initial and the maximum size of the
pool and the idle timeout value before the connection is taken from this
user and returned to the pool or given to another user, When the server
shuts down another event handler in the global.asa file will be triggered to
destroy the connection pool, when any user try to enter the application an
event handler in the global.asa file will be triggered to give the user a
connection from the pool, if all connections in the pool are taken the
connection pool will create another connection and give it to the user, if the
maximum size of the pool connections is busy the user has to wait until a
connection is freed, the server will store the connection as a session wide
object, this connection will be with the user for the whole session period to
execute queries and DML statements, when the user exits the application or
when the session times out the connection will be returned to the pool or
given to another waiting user
The Connection Pool and Performance :
The connection pool and the connection pool
management facility increase the performance and
scalability of the application noticeably because the
connections to the DB are created in priori and the
overheads of creating the connection when the user
connects to the server are eliminated and the
connections aren’t destroyed when the user leaves the
application but returned to the pool or given to another
waiting user and this eliminates the overheads of
destroying the connection and reestablish it when
required, Also the connection will not remain with the
user forever but for a specified timeout value specified
by the developer