Initial Prototypes

Document Sample
Initial Prototypes Powered By Docstoc
					INITIAL PROTOTYPING RESULTS

   J2EE Based Session Management Framework Extension




                     Team 9




                     Team Members
                     Nishant Bajaj – Project Manager
                     Deepti Agarwal – Concept Engineer
                     Gaurav Bhatnagar – Prototype Developer
                     Saurabh Mahajan – System Architect
                     Supannika Koolmanojwong – Requirement Analyst
                     Sandesh Sethia – Rose Modeller
                     Eileen Wu – IV & V
                     Leonid Furman – IV & V
                     Wilfred Pinto –Client
                     Aditya Mandavilli – Client
Team 9                      J2EE Based Session Management


                Initial Prototyping Results
1. Objectives
The product we are developing will have no Graphical User Interface as this is meant to
be used as a middleware and the End-User is unaware of it. It will instead have an API
which will used by Sophoi Inc. developers to interface with there applications. IKIWISI
(I Will Know It When I See It) is not applicable to our project as there is no GUI.

The basic purpose of prototype is to demonstrate the capabilities of the product to the
client. The various critical issues that the prototype is attempting to describe are as
follows:-

      Prototype shows the basic capabilities of the product through block diagrams and
       test cases.
      Prototype includes client suggestions after reviewing initial OCD and Win-Win
       Report.
      This prototype is meant to ensure that the developers have understood the client’s
       requirements correctly due to the complexity and uniqueness of the product.



2. Approach
2.1 Participants
An initial understanding of the product capabilities were shown to the clients (Wilfred
Pinto and Aditya Mandavilli) with the help of Block diagrams. The initial prototype of
the work flow is based on the information obtained during the demonstration of the
application which is intended to run on top of the product. They suggested the use of test
cases in the prototype to demonstrate capabilities of the product.

This is the first prototype. More changes will be made to the prototype depending on
client suggestions.

2.2 Prototyping
The prototyping is being done to understand the workflow and demonstrate the
capabilities of the product. The prototype is developed using Microsoft Visio.

We use control flow diagrams and work flow diagrams to demonstrate the capabilities of
the product, thus Visio was adequate for our purposes.

Initial_Prototype_LCO_Prototypes_F05a_T09.doc
                                   Page 2 of 9
Team 9                      J2EE Based Session Management


3. Initial Results
a. Currently, session cookies are used and all the session data is maintained in the
memory while the session is active. The problem with this is it requires lots of memory
for storing all the session data which increases the load on the server.

b. The proposed framework for session management intelligently caches session data
based on usage patterns and application domain. It would be able to read and understand
user-defined rules, which define what data should be maintained in memory, and what
data should be persisted to a session database. Thus it reduces memory load on the server
and the same time increasing the number of concurrent sessions which the server can
handle efficiently.

The working of the proposed framework can be described by the Flowchart 1. In our
proposed framework, when the Session Manager is initialized, it reads the configuration
file and loads the rules into the memory. It also opens the database connections to the
session database. After that the session manager goes into wait state, till it receives an
API call. At this point, if it is a call for a new session, it creates one by calling the
HTTPSession Class. Then while the user is active in the session, the Session Manager
monitors to see if any of the pre-defined rules can be applied to the session data. If any
rule is applicable (eg. persist specified data to the session database), it follows. When the
session expires, it deletes all the session-specific data from the session database that it
maintains. If however the user chooses to save the application data, then it saves the data
from the session database and the memory to the application database.




Initial_Prototype_LCO_Prototypes_F05a_T09.doc
                                   Page 3 of 9
Team 9                                    J2EE Based Session Management


                              Session
                              Manager
                              Started




 Session Manager                 Read
   Initialization           Configuration
                            File And Load
                                 Rules




                           Open Database
                            Connection




                              Wait for
                             Connection




                           Create Session




                          User Inputs Data




                                               Y     Delete user data
                               Has user
                                                      from Session               End
                             Logged Out?
                                                        Database

                                    N




                     Does Any Rule apply to data        N
                                                              Maintain Data in
                    Eg-Is session idle, Has memory
                                                                 Memory
                       threshold been crossed?



                                     Y


                             Apply Rule




                    N         Save to
                             Application
                             Database?
                                                            Flowchart 1
                                      Y                     Overall
                                                            Product
                              Write to                      Flowchart
                             Application
                             Database



Initial_Prototype_LCO_Prototypes_F05a_T09.doc
                                   Page 4 of 9
Team 9                         J2EE Based Session Management


The Logical representation of the system can be represented as follows:




                                                                    Cache Session
                                                                                             Session
                                          Session
                                                                    Information              Database
                                          Manager

             Session Manager
                                  New                 Load
                   Class          Rules               Rules


                                      Configuration
                                      File



                                  API Call

                                                              Session ID +
   Web Browser,                                               Application
   Applets, Optional   HTTP Request                           Specific       Entity Beans,
   Java Beans                             JSP Page,           Information    Session                    Application
   Components                              Servlet                           Beans,
   (CLIENT)                                                                  Message
                                                                             Driven Beans



       Client Tier                         Web Tier                                   Business Tier



                         Figure 1 – Logical Representation of the System




Initial_Prototype_LCO_Prototypes_F05a_T09.doc
                                   Page 5 of 9
Team 9                      J2EE Based Session Management




The following test cases describe the functionality of the system under certain conditions
which are described below.

Test Case I

Rule: The session manager class will have a time out property, for e.g. if a particular
session is idle for more than 30 minutes then the session data must be moved from
memory to the session database. Flowchart 2 explains the working of the system to
satisfy this rule.

                              Session
                             Manager
                             Initialized




                            User Logs In




                          Session Created
                          through Session
                              Manager




                          User Inputs Data




                                               Y   Delete Session
                            Has User                 Data from
                                                                    End
                           Logged Out?                session
                                                     Database



                                    N



                           Data Persisted
                            According to
                               Rules




                     N      Is User Idle
                           Time > 30 min



                                        Y



                           Persist Data to
                             Database




                                             Flowchart 2

Initial_Prototype_LCO_Prototypes_F05a_T09.doc
                                   Page 6 of 9
Team 9                           J2EE Based Session Management


Test Case II

Rule: The Session Manager will have a memory threshold value i.e. when this value is
exceeded all session data is persisted to database. Flowchart 3 explains the working of the
system to satisfy this rule.



                  Session
                 Manager
                 Initialized




                User Logs In




             Session Created
             through Session
                 Manager




             User Inputs Data




                                 Y   Delete Session
                Has User               Data from
                                                      End
               Logged Out?              session
                                       Database



                        N



               Data Persisted
                According to
                   Rules




         N      Has Memory
                  threshold
                 exceeded?


                            Y




               Persist Data to
                 Database




                Flowchart 3


Initial_Prototype_LCO_Prototypes_F05a_T09.doc
                                   Page 7 of 9
Team 9                        J2EE Based Session Management


Test Case III

Rule: Persist data across 2 specified forms since they are related to each other. Only
persist to session database when both the forms have been completely filled or saved, else
maintain form information in memory.

Flowchart 4 explains the procedure followed by the Session Manager class.

                          Session
                         Manager
                         Initialized




                        User Logs In




                      Session Created
                      through Session
                          Manager




                     User Inputs Data
                     Across different
                          forms




                                               Delete User
                         Has User         Y     Data from
                                                                      End
                        Logged Out?              session
                                                Database


                                   N




                  Has the user filled out or       N          Persist form
                  saved the two specified
                                                             data to memory
                     forms completely




                       Persist Data to
                          Session
                         Database




                                   Flowchart 4


Initial_Prototype_LCO_Prototypes_F05a_T09.doc
                                   Page 8 of 9
Team 9                     J2EE Based Session Management


4. Conclusions
The current prototype is just a skeleton prototype, providing flow diagrams to understand
the working of the proposed system and demonstrate some of its capabilities. Additional
capabilities would be added to the framework to make it more efficient. Some of these
include:-

   1. Rule Override capability and Session Manager Override capability.

   2. Designing a dynamic rule generation module which would observe data and usage
      patterns to generate new rules for the application.

   3. Further design modifications as suggested by the client and mentor in subsequent
      client meetings and prototype evaluations.




Initial_Prototype_LCO_Prototypes_F05a_T09.doc
                                   Page 9 of 9

				
DOCUMENT INFO
Categories:
Tags:
Stats:
views:4
posted:3/30/2012
language:
pages:9