|
NOTE: ASP Session Server is not a part of DB3NF platform! Although both Session Server
and DB3NF can work seamlessly with each other, both products can be used separately.
Most web sites need a way to store and maintain user related data throughout
the application.
There are two ways of doing this.
First, the data can be transferred back and forth between the browser and the
server in the form of cookies, query string or other.
There are three problems with this method.
The data is not protected since the server application has no reliable
control over what is sent from the browser and there is a bandwidth problem
if the data is considerably large. Also there is a need to transform some data
types, like arrays, into and from a format, XML or other that can be sent to the
browser.
The second, better, way of storing user data is to save it in some location on
the server side and exchange with the browser only the location ID. This is done
very efficiently by IIS Session object.
Internal IIS Sessions
If there is only one web server working in the application everything is set.
If, on the other hand, an application runs on a web farm IIS sessions become useless.
Even with a local director implementing "sticky" sessions, there is no guarantee that
the browser will stick to one web server because some ISPs use dynamic IP allocations.
Data stored on one server will not be available on another.
A solution to this problem is to provide a central location for session data across
the farm. Often programmers use a relational database for this type of storage.
This approach works, but there remains a need to write custom code, convert some
data types, and/or modify applications to provide room for data items, and since there
is a lot of overhead, this method is not very fast. It is like driving a Freightliner
to the movies. (More information on maintaining session state across a Web farm can be found on
Microsoft site.
Note that Microsoft does not have a good solution for this problem.)
Session Server
A much better way to store session data is to use a "sports car" - Session server for Windows.
It provides:
- High performance by utilizing a memory-based database for session data with no need
for disk access.
- Support of all OLE data types (except objects), including multi-dimensional arrays
and arrays of arrays.
- Simplicity of use. Works just like IIS native Session object.
- Ability to change various session settings.
- Session related statistics and session maintenance.
Load balanced Session Server
- Reliability and scalability. Session server for Windows has built-in fail-over
protection and load balancing which allows use of up to 1000 session servers
with an unlimited number of web servers. A session "sticks" to a session server not
by IP as in the case of a local director, but based on session ID so that the browser is
guaranteed to maintain its session. In practice, since a single session server is
capable of maintaining tens of thousands of sessions, the scalability of the web
farm is unlimited.
Download free demo version of Session Server.
|