Title: AL NAJAH NATIONAL UNIVERSITY FACULTY OF ENGINEERING COMPUTER ENGINEERING DEPT.
1AL NAJAH NATIONAL UNIVERSITYFACULTY OF
ENGINEERINGCOMPUTER ENGINEERING DEPT.
- Graduation Project 1
- University Internet Student Registration System
Instructed By Dr. Ashraf Armoush Dr. Raed Al
Qadi Dr. Luai Malhis
By Ahmad Badawi Ahmad Abu Omar
2Table Of Contents
- Comparison Between Old And New Systems
- Structure of the system
- Integration between tiers
- The Database
- Structure of the System
3Comparison Between Old And New Systems
- Issues to Consider
- Scalability
- Performance
- Security
- Reliability
- Flexability
4Comparison 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
5Comparison 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)
6Comparison 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
7Comparison 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
8Comparison 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 -
9Comparison 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
10Comparison 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
11Structure 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
12Integration 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
13- 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
14The 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
15The 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
16- 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 arent 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