Transcript EMarket

044167 – Project A
Semester spring, 2006
DotNet Market Web Site
“EMarket”
Milena Natanov
Project Supervisor: Victor Kulikov
Lab Chief Engineer: Dr. Ilana David
Agenda
About EMarket
 Technologies and design patterns
 EMarket Architecture

Database
 Application
 Presentation

Security considerations
 Possible extensions and improvements

EMarket is an eBay-like online market place

The web site is used
to sell or buy new and
used products.
EMarket Users

All users




Registration
Search for products, review
product categories
Add/remove products in
Shopping Bag
Registered users

Propose products for sell




Can also remove or hide them
Buy products proposed by others
Resell bought products
Comment and rate other users
EMarket Administrator

Manage users, products and categories
blocks/unblocks users’ accounts
 blocks/unblocks products for sell
 adds/removes categories


Buy, Sell, Comment, like a regular
registered user
Technologies

Application Tier


Database Tier



Microsoft Enterprise SQL
server.
ADO.Net
Presentation Layer


.Net Framework 2 (C#)
ASP.Net
Development Environment

Visual Studio 2005
Architectural patterns and Methodologies

Object-oriented Analysis and Design (OAD).
Project report includes:





Three-tier architecture


Project requirements
Use-case diagram and specifications
Class and Package diagrams
Sequence diagram
Application, Presentation and Data
Model-View-Controller (MVC)

Model, View, Controller
Additional Software Components

User Session Management


Web Cookies
Encryption
Password Hashing
 Web Config File Encryption


Mail

Send mails using SmtpClient class of .Net
EMarket Architecture
System overview
Three-tier architecture
Three-tier architecture
EMarket Database

User information






Product information



Credentials
Products for sell
Bought products history
Comments
Rating
Categories
Status
Stored Procedures and Views
EMarket Database Relationships
Application tier
MVC - Introduction
EMarket application tier was designed using
Model-View-Controller design pattern:
 Model – the application object that represents
the data saved in EMarket database
 View – UI (ASPX code-behind)
 Controller – connects between UI requests and
EMarket data
Application tier
MVC - GUI
Application tier
MVC - Controller
Application tier
MVC - Model
Database and Application Intersection
EMarket uses Ado.Net to access the SQL
database from the application tier.
 Using this technology it operates stored
procedures for retrieving relevant data or
updating it in the EMarket database.

Database and Application Intersection
How it works:
 create a connection to EMarket
database
 update or retrieve data using:
 SqlCommand
 SqlDataReader
 SqlDataAdapter
Database and Application Intersection
SqlCommand - represents a Transact-SQL
statement or stored procedure to execute
against a SQL Server database.
Database and Application Intersection
SqlDataReader – provides a way of reading a
forward-only stream of rows from a SQL Server
database.
Database and Application Intersection
SqlDataAdapter - represents a set of data
commands and a database connection that are
used to fill the DataSet or DataTable and update
a SQL Server database.
Three-tier architecture
Presentation Tier

Server Controls used in EMarket:
 Web Server Controls
 Emarket User Controls
 Login Control
 Validation Server Controls
Three-tier architecture
Presentation Tier

The GridView web control:
 It





was used in most of the pages
Binding to data source.
Built-in sorting capabilities.
Built-in updating and deleting capabilities.
Built-in paging capabilities.
Built-in row selection capabilities.
Three-tier architecture
Presentation Tier

UserControls:
 MainFrame
 Admin
Three-tier architecture
Presentation Tier
• Login Control
Three-tier architecture
Presentation Tier
• Validation Control
Three-tier architecture
Presentation Tier
Web Usability
If a website is difficult to use or is unclear, the
user leaves and looks for a different site.
Usability is necessary for survival!
Presentation Tier – Web usability

Learnability


Efficiency




currently there is no confirmation messages
user should be certain before “pushing the button”
Satisfaction


complete tasks quickly
matching messages assists the user to obtain better
performance
Errors


A user should get along EMarket easily.
I asked few students and they indicated that it was convenient
and easy to use EMarket web-site services.
Utility

compliance with the project requirements
Security
Application security:
 EMarket web.config file encryption
Data security:
 Separate user roles:




authorized users: see and manage only their private data at EMarket,
sell/ purchase products
administrator: manage the users, products and categories
unauthenticated users: can only view the products, user comments and
ratings.
Password protection:


After authorization only username is saved in cookies.
Password is not exposed.
Password is hashed before it is saved to EMarket database

One-way encryption
Possible extensions and
improvements
Data tier:

Remove all queries from application to
database as stored procedures.
Possible extensions and
improvements
Logic tier:

Define and implement the interface EMarket
money account with real bank accounts.

Manage the user session data (for example,
shopping bag) on the server and not in the
session cookie to prevent cookie poisoning
(stealing or manipulating this data by hackers).
Possible extensions and
improvements
Presentation tier:




Improve and make graphics more attractive
Allow products sorting in “Shop” and “History”
sections by edition date
Allow products sorting in “Shop” section by
price
Add new sub-“Shop” section called Sale and
present there products that are on sale
Possible extensions and
improvements
Presentation tier:



Add advertisement panel, EMarket web-site can
make gains.
When user wants to delete some data (product
in buyer history, product in seller history, or
comment he wrote) or to update balance at
money account, the system will show to user
small confirmation message window. Thus,
many errors will be prevented.
Allow multiple EMarket administrators to be
defined.
Me and Victor 
Thanks to Soft-lab staff
And special thanks to
Victor, Ilana and Lev
for technical support and
encouragement!