Οι web εφαρμογές δεν έχουν σταθερή σύνδεση με το χρήστη, ο web browser του χρήστη συνδέεται με την web εφαρμογή όταν είναι απαραίτητο από τον κώδικα της σελίδα που παίρνει πίσω. Στην περίπτωση μας αυτό γίνεται αρκετές φορές πχ μια τέτοια φορά είναι όταν τσεκάρεις το ποσοστό συμμετοχής, όταν πατάς να επιλέξεις εξετάσεις, όταν πατάς να ανοίξει η κάθε λίστα με τις εξετάσεις, κλπ κάθε web εφαρμογή διατηρεί δεδομένα σύνδεσης και επιβεβαίωσης του κάθε χρήστη (session data) που έχει συνδεθεί με όνομα χρήστη και κωδικό πρόσβασης και του αποδίδει ένα "κλειδί" (sessionID) με το οποίο συνδέεται κάθε φορά ο browser του και αυτό βρίσκεται συνήθως στα cookies για το συγκεκριμένο site. οι web εφαρμογές διατηρούν στα session data ότι πληροφορία είναι ακόμη προσωρινή και δεν έχει "μονιμοποιηθεί" στη βάση δεδομένων της εφαρμογής, στην περίπτωση μας είναι ότι δεδομένα έχουμε περάσει μέχρι να πατήσουμε "αποθήκευση" και να εκδοθεί το παραπεμπτικό. Ο προγραμματιστής της εφαρμογής βάζει όριο στο πόσο χρόνο θα μείνουν ενεργά τα δεδομένα του session και τότε το session "λήγει" και διαγράφονται.
Το που θα φυλαχθούν τα session data επηρεάζει πολλά πράγματα. Πιθανοί χώροι αποθήκευσης είναι:
α) Η μνήμη του server (γρήγορη ανάκληση και διαχείριση) αλλά η μνήμη του server έχει σφικτά όρια, αρκεί να κλείσω τα cookies στο browser μου και να προσπαθώ να συνδεθώ συνεχώς, κάθε προσπάθεια μου θα είναι ένα session στο server, αν το κάνουμε 40 άτομα έτσι για κανένα μισάωρο, τους το κρασάραμε. Χαρακτηριστικό είναι ότι μόλις πέσει ο server ή τον επανεκκινήσουν το session χάνεται.
b) Ο δίσκος του server, όπου κάθε session γίνεται ένα αρχείο, και μπορεί να σηκώσει τόσους χρήστες όσα αρχεία μπορούν να χωρέσουν θεωρητικά σε ένα φάκελο του δίσκου, αλλά σαν διεργασία είναι αργή και σου κάνει fragmatation στο δίσκο.
c) ένας πίνακας της βάσης δεδομένων, και αυτό κάνουμε όταν έχουμε τεράστιο αριθμό χρηστών καθώς στη βάση δεδομένων μπορούμε να σχεδιάσουμε ένα πίνακα με πιθανό αριθμό records ώστε να αποφύγουμε το fragmatation, έχουμε ήδη σύνδεση με την βάση γιατί αποθηκεύουμε και μπορούμε να δουλέψουμε με ότι πεδία θέλουμε γρήγορα και εύκολα.
Παρατήρησα τελευταία επειδή συνήθως κάνω suspend τον Η/Υ και restore session στο browser ότι εκεί που κάθε μια ώρα ήθελε να ξανακάνω logon στο e-diagnosis τώρα το χρησιμοποιώ για μέρες χωρίς να έχω ξανακάνει Logon. Αυτό εάν το κάνανε (τέτοιο χρόνο ζωής του session) για memory sessions θα έπρεπε να τους πάρουν το κεφάλι. Άρα παίζουν είτε με file ή database sessions πλέον. Τώρα το πόσο χρόνο ζωής έχουν βάλει στα sessions μάλλον δεν το έχουν μάθει ακόμη ή κάποιο bug υπάρχει.
by the way: το e-syntagografisi πρέπει να χρησιμοποιεί ακόμη memory sessions, όσο περισσότερους χρήστες φορτώνεται τόσο λιγότερο βλέπω τους τελευταίους μήνες να κρατά χρονικά το session του και πρέπει να έχουν βάλει όριο στον αριθμό και όχι στη διάρκεια των ενεργών session. τώρα ξέρετε τι μπορείτε να κάνετε, αλλά δεν είναι ένας server, είναι cluster