Download Application State

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
13
Advanced
Web Forms
with Databases
Programming Right from the Start
with Visual Basic .NET 1/e
Objectives
• Understand the principles behind a threetier architecture
• Know the advantages and disadvantages of
client-side state management techniques
• Know the advantages and disadvantages of
server-side state management techniques
• Develop an advanced Web Forms database
application
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
2
13-1 Three-Tier Architecture
• Business applications involving databases
are often divided into three layers:
– The presentation layer – web browser
– The application layer – IIS Web server
– The data layer – database server
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
3
13-1 Three-Tier
Architecture (cont.)
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
4
Presentation Layer
• The presentation layer runs on the user’s
computer (the client) and provides the
application interface.
• A fat client performs relatively significant
processing, with less load on the middle
tier.
• A thin client typically involves a web
browser for displaying HTML with
minimal processing.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
5
Application Layer
• The application layer provides various
modules and services that are essential for
the solution, including the processing of the
business-based computing rules.
• The application layer provides a mediator
between the presentation layer and the
database layer.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
6
Data Layer
• The database layer is responsible for all
database access required by the solution.
• This layer usually provides support for
adding, deleting, updating, and retrieving
information from the database.
• Connections to the database server eases
database account maintenance and
improves data security.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
7
13-2 State Management
• The HTTP protocol is stateless, which
means that each request for a new web page
is processed without any knowledge of
previous pages requested.
• State management refers to techniques by
which developers maintain the state of a
web application across multiple page
requests.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
8
13-3 Client-Side State
Management Techniques
• The following are client-side state
management options available to ASP.NET
developers:
– View state
– Cookies
– Query strings
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
9
View State
• A web page is re-created each round trip.
• ASP.NET provides view state which
represents the state of the page when it was
last processed on the server.
• The view state is visible in the HTML
source and is a potential security issue.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
10
Query String
• A query string is information appended to
the end of a page’s URL.
• Query strings typically begin with a “?”.
• Query strings are not secure because the
query information is visible in the browser.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
11
Cookies
• A cookie is a small text file stored on the
client machine.
• The browser attaches the cookie with each
new HTTP request before sending it to the
server, which can read the data and respond
appropriately.
• The information stored in a cookie can be
exposed so they are not the best means of
handling sensitive information.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
12
13-4 Server-Side State
Management Techniques
• The following are server-side state
management options available to ASP.NET
developers:
– Application state
– Session state
– Database support
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
13
Application State
• An ASP.NET application is the sum of all
files, pages, and code that resides on a
server.
• When a web application runs, ASP.NET
maintains information about the application
in the application state.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
14
Application State (cont.)
• The application state allows developers to
create application variables that can be set
and read throughout the lifetime of the
application.
• Application variables are global variables
– Application(“AppVariableName”)
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
15
Session State
• A session is the period of time that a unique
browser interacts with a web application.
• When a new session is created, ASP.NET
maintains information about the session in
the session state.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
16
Session State (cont.)
• The session state allows developers to
create session variables that can be set and
read throughout the lifetime of the session.
• Sessions and their variables expire after
twenty minutes of inactivity.
– Session(“SessionVariableName”)
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
17
Database Support
• Data stored in application variables and
session variables will be lost if the
application is interrupted; therefore, state
information should be stored in a database.
• State information should be maintained for:
–
–
–
–
Security
Queries
Capacity
Data mining
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
18
Security
• Customer information stored in a database
is an extra level removed from the
presentation layer, making the data less
available for malicious use.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
19
Queries
• Storing data in a database gives the
application all the power and functionality
of databases in general, including the
ability to query for specific information.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
20
Capacity
• Databases are especially good at handling
large amounts of information, and the data
services can be split off to a data layer that
resides on one or more data servers,
allowing the web application to avoid a
performance decrease.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
21
Data Mining
• An application could maintain information
about times and dates of customer visits,
pages visited, time per page, items ordered,
and so on.
• This information could be mined for
interesting relationships – information that
could provide a strategic business
advantage.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
22
Chapter Summary
• The presentation layer provides the client
interface, the application layer usually
implements the business logic of a solution,
and the data storage layer maintains the
database and tools for data access.
• Client-side state management is less secure
than server-side state management.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
23
Chapter Summary (cont.)
• When a web application runs, ASP.NET
maintains information about the application
in the application state.
• Application variables are helpful for storing
small amounts of infrequently changed
global information that is used by many
users.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
24
Chapter Summary (cont.)
• Session state variables are helpful for
storing small amounts of short-lived
information that is specific to an individual
session.
• Database support is good for storing large
amounts of information or information that
must survive application and session
restarts.
Crews/Murphy – Programming Right from the Start with Visual Basic.NET 1/e – ©2004 Prentice Hall
25
13
Advanced
Web Forms
with Databases
Programming Right from the Start
with Visual Basic .NET 1/e