Project in Networked Software Systems (044167) Distributed System
DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief...
-
date post
19-Dec-2015 -
Category
Documents
-
view
213 -
download
0
Transcript of DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief...
![Page 1: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/1.jpg)
DotNet Market Web Site DotNet Market Web Site “EMarket”“EMarket”
Milena Natanov
Project Supervisor: Victor KulikovLab Chief Engineer: Dr. Ilana David
044167 – Project A Semester spring, 2006Semester spring, 2006
![Page 2: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/2.jpg)
Agenda
About EMarketTechnologies and design patternsEMarket Architecture
DatabaseApplicationPresentation
Security considerationsPossible extensions and improvements
![Page 3: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/3.jpg)
EMarket is an eBay-like online market place
The web site is used to sell or buy new and new and usedused products.
![Page 4: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/4.jpg)
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
![Page 5: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/5.jpg)
EMarket Administrator
Manage users, products and categoriesblocks/unblocks users’ accounts blocks/unblocks products for selladds/removes categories
Buy, Sell, Comment, like a regular registered user
![Page 6: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/6.jpg)
Technologies
Application Tier .Net Framework 2 (C#)
Database Tier Microsoft Enterprise SQL
server. ADO.Net
Presentation Layer ASP.Net
Development Environment Visual Studio 2005
![Page 7: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/7.jpg)
Architectural patterns and Methodologies
Object-oriented Analysis and Design (OAD). Project report includes: Project requirements Use-case diagram and specifications Class and Package diagrams Sequence diagram
Three-tier architecture Application, Presentation and Data
Model-View-Controller (MVC) Model, View, Controller
![Page 8: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/8.jpg)
Additional Software Components
User Session ManagementWeb Cookies
EncryptionPassword HashingWeb Config File Encryption
MailSend mails using SmtpClient class of .Net
![Page 9: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/9.jpg)
EMarket ArchitectureEMarket Architecture
![Page 10: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/10.jpg)
System overview
![Page 11: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/11.jpg)
Three-tier architecture
![Page 12: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/12.jpg)
Three-tier architecture
EMarket Database
User information Credentials Products for sell Bought products history Comments Rating
Product information Categories Status
Stored Procedures and Views
![Page 13: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/13.jpg)
EMarket Database Relationships
![Page 14: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/14.jpg)
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
![Page 15: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/15.jpg)
Application tier MVC - GUI
![Page 16: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/16.jpg)
Application tier MVC - Controller
![Page 17: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/17.jpg)
Application tier MVC - Model
![Page 18: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/18.jpg)
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.
![Page 19: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/19.jpg)
Database and Application Intersection
How it works:create a connection to EMarket
databaseupdate or retrieve data using:
SqlCommandSqlDataReaderSqlDataAdapter
![Page 20: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/20.jpg)
Database and Application Intersection
SqlCommand - represents a Transact-SQL statement or stored procedure to execute against a SQL Server database.
![Page 21: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/21.jpg)
Database and Application Intersection
SqlDataReader – provides a way of reading a forward-only stream of rows from a SQL Server database.
![Page 22: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/22.jpg)
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.
![Page 23: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/23.jpg)
Three-tier architecture
Presentation Tier Server Controls used in EMarket:
Web Server Controls Emarket User Controls Login Control Validation Server Controls
![Page 24: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/24.jpg)
The GridView web control: It was used in most of the pages Binding to data source. Built-in sorting capabilities. Built-in updating and deletingdeleting capabilities. Built-in pagingpaging capabilities. Built-in row selectionrow selection capabilities.
Three-tier architecture
Presentation Tier
![Page 25: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/25.jpg)
UserControls: MainFrame Admin
Three-tier architecture
Presentation Tier
![Page 26: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/26.jpg)
• Login Control
Three-tier architecture
Presentation Tier
![Page 27: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/27.jpg)
• Validation Control
Three-tier architecture
Presentation Tier
![Page 28: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/28.jpg)
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!
![Page 29: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/29.jpg)
Presentation Tier – Web usability
Learnability A user should get along EMarket easily.
Efficiency complete tasks quickly matching messages assists the user to obtain better
performance Errors
currently there is no confirmation messages user should be certain before “pushing the button”
Satisfaction 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
![Page 30: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/30.jpg)
Security
Application security: EMarket web.config file encryptionData 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
![Page 31: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/31.jpg)
Possible extensions and improvements
Data tier:
Remove all queries from application to database as stored procedures.
![Page 32: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/32.jpg)
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).
![Page 33: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/33.jpg)
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
![Page 34: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/34.jpg)
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.
![Page 35: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/35.jpg)
Me and Victor Me and Victor
![Page 36: DotNet Market Web Site “EMarket” Milena Natanov Project Supervisor: Victor Kulikov Lab Chief Engineer: Dr. Ilana David Semester spring, 2006 044167 – Project.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d3e5503460f94a17a19/html5/thumbnails/36.jpg)
And special thanks toAnd special thanks to
Victor, Ilana and Lev Victor, Ilana and Lev
for technical support for technical support and encouragement!and encouragement!
Thanks to Soft-lab Thanks to Soft-lab staffstaff