210 likes | 293 Views
UG Project 2008. With LINQ & AJAX. Idan Hodor Boaz Farkash Supervisor: Ilana David. Project Goals. Redesign and rebuild the UG system: The new system should use current technologies, such as LINQ and AJAX , and improve the usability and functionality of the existing system.
E N D
UG Project 2008 With LINQ & AJAX Idan Hodor Boaz Farkash Supervisor: Ilana David
Project Goals Redesign and rebuild the UG system: • The new system should use current technologies, such as LINQ and AJAX, and improve the usability and functionality of the existing system. • 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 • LINQ – How to use it, and how it affects web projects. • AJAX – How to use it to create an enhanced user experience. • Deepened our knowledge and understanding of complex web projects. • 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 • Join the Portal database • Get rid of redundant UG tables ANAM UG Portal
LINQ – Why do we need it? OO objects Relational Database Impedance Mismatch
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.