UG Project 2008

Download Report

Transcript UG Project 2008

UG Project 2008
With LINQ & AJAX
Idan Hodor
Boaz Farkash
Supervisor: Ilana David
Project Goals
Redesign and rebuild the UG system:
1. The new system should use current technologies,
such as LINQ and AJAX, and improve the usability
and functionality of the existing system.
2. The new system should rely and co-exist with the
current faculty Portal database, rather than manage
an independent and duplicate set of data.
What we’ve learned
1. LINQ – How to use it, and how it affects web
projects.
2. AJAX – How to use it to create an enhanced user
experience.
3. Deepened our knowledge and understanding of
complex web projects.
4. Experienced working on a system with real life
limitations, unlike an ideally planned and self built
system.
3-Tier Design
AJAX
LINQ
Layer 0 - Database
ANAM
UG
Portal
• Join the Portal database
• Get rid of redundant UG tables
Layer 0 - Database
LINQ – Why do we need it?
OO objects
Relational Database
LINQ - Advantages
• Data querying is moved from the database to the
development environment.
▫ Compile time syntax checking.
▫ Intellisense
▫ Debugging
• Database tables and views are automatically mapped to
OO objects.
▫ Foreign keys are translated to references to other
objects.
▫ Saves on join operations.
LINQ implications on DAL & BL
• Instead of SPs in the database, the DAL is
responsible for querying the database with
LINQ.
▫ DAL does more heavy lifting.
• With LINQ, database data can be quickly
mapped to BL objects by the DAL.
▫ BL class implementation becomes thinner.
Layer 1 - DAL
Putting LINQ to work in Visual Studio:
Layer 1 - DAL
A typical DAL method:
Layer 2 – Business Logic
User Classes:
Layer 2 – Business Logic
Course Classes:
Layer 2 – Business Logic
Utility Classes:
Layer 3- Presentation Layer
What do we expect from a modern web site?
To be visually appealing
To be responsive and easy to use
To feel like a web application, not a web site.
How?
Layer 3- Presentation Layer
AJAX
Asynchronous Javascript and XML
Layer 3- Presentation Layer
More design technologies
Master Pages – give the site one constant look and feel.
Custom controls for better code reuse and modularity.
CSS to create a modern design that is also interchangeable.
Layer 3- Presentation Layer
Ajax Controls
We used Ajax auto complete controls, these controls
use Web Service functions, each for different search.
The use of Web Service helps the System run smoothly,
and enhance the system performance.
The same controls can get different relevant information.
Layer 3- Presentation Layer
Ajax Controls
Postback happens asynchronously,
rendering from the DB only the relevant information.
This functionality add more usability and
enhance system performance.
We can notice that Admin and a regular user has different
privileges, and see different controls.
Layer 3- Presentation Layer
JavaScript
Use of JavaScript to make the system run more smoothly,
Very nice looking gadgets that are fun to have.
JavaScript is a client side functionality, that add
additional functionality that otherwise was
impossible to do.
Thank you for listening