Consultor Eletrônico



Kbase 21249: Tracking Web User Info: Session, Context, & State Management
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   11/04/2002
Status: Unverified

GOAL:

How to track user information and steps within a web application?

FIX:

These techniques also allow reuse of this information as the user steps through multi-page forms or a series of web application pages. Implementing these management techniques can result in improved developer control of the application. This improved control in turn can minimize the potential for unexpected results.


-- Session management
Session management provides for an application to store a
collection of variables and values. This stored data is used
to recognize and/or validate a user through subsequent pages or parts
of the application. Session management holds a record of the users' settings and choices during the current session.

-- Context management

Context management is Session management + tracking what the system
serves back out to a user. This allows the application to put a user's activities into context and intelligently respond to what the user is doing. Context management is typically added to the input of a next request and determines what action to take based on the new input.

-- State management

State management is Context management + tracking the "mode"
or "state" in which a user is currently interacting with the system.
This is a means by which the system can choose how to respond to a
given request from the user.

State management can involve extended transaction scoping and may
store information about the current record or set of records
being worked on. State management often assumes only one stream of control per user.

Uses of State management include, no new window open, or no backing up to resubmit, etc.

In spite of the minor distinctions between these three types of management, the one you choose will play a very important role in your application.

Listed from most web-centric to least web-centric:

- Session management - example: knowing the application user

- Context management - example: knowing the application user and the
datasource they are working with

- State management - example: knowing the application user, the
datasource, and a set actions (or procedures, etc.) to permit
or deny