Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική...
TRANSCRIPT
1
Αρχιτεκτονική web εφαρµογών
Σαράντης Πασκαλής <[email protected]>
Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 2
Αρχιτεκτονική πελάτη-εξυπηρέτη
� Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες (clients) είτε εξυπηρέτες (servers).� Εξυπηρέτης: παθητικός, περιµένει αιτήσεις, εξυπηρετεί τις αιτήσεις, επιστρέφει απαντήσεις.
� Πελάτης: ενεργητικός, δηµιουργεί αιτήσεις, αναµένει απαντήσεις.
� Thin clients: εφαρµογές µε ελάχιστες απαιτήσεις στο σύστηµα, η εφαρµογή ουσιαστικά τρέχει στον εξυπηρέτη.
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 3
Αρχιτεκτονική πελάτη-εξυπηρέτη
Πελάτης Εξυπηρέτης
Αίτηση
Απάντηση
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 4
Αρχιτεκτονική τριών επιπέδων
� Στη δυναµική παραγωγή περιεχοµένου, συνήθως λαµβάνονται στοιχεία από µία βάση δεδοµένων.
� Η αποθήκευση και ανάκτηση των στοιχείων από τη Β∆ πραγµατοποιούνται από µία διαφορετική διεργασία.
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 5
Αρχιτεκτονική τριών επιπέδων
Πελάτης Εξυπηρέτης
Αίτηση
Απάντηση
Βάση∆εδοµένων
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 6
Αρχιτεκτονική τριών επιπέδων
� Λόγω της αυξανόµενης πολυπλοκότητας των εξυπηρετών, διαχωρίστηκαν ακόµη περισσότερο τα επίπεδα στον εξυπηρέτη:� Εξυπηρέτης προβολής για στατικό περιεχόµενο.
� Ενδιάµεσο λογισµικό για την εκτέλεση της υπηρεσίας.
� Αποθήκευση και ανάκτηση δεδοµένων από Βάση ∆εδοµένων.
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 7
Αρχιτεκτονική τριών επιπέδων
Πελάτης
Αίτηση
Απάντηση
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 8
Αρχιτεκτονική πολλαπλών επιπέδων
� Γενίκευση της αρχιτεκτονικής τριών επιπέδων.
� Εύκολη υποστήριξη πολλαπλών εφαρµογών.
� Αυξηµένη πολυπλοκότητα
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 9
Παροχή web περιεχοµένου
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 10
Στατικό Περιεχόµενο
� Στατικές σελίδες (HTML, XML σελίδες, εικόνες, PDF αρχεία, κτλ).
� Σελίδες ως-έχουν (as-is). Οι σελίδες αυτές περιέχουν πλήρεις απαντήσεις HTTP. Ο εξυπηρέτης τις αποστέλλει ως έχουν.
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 11
∆υναµικό περιεχόµενο
� Το δυναµικό περιεχόµενο διασυνδέει το web µε υπάρχουσες εφαρµογές και πληροφορίες.
� Η διαφοροποίηση του web από παλαιότερα συστήµατα µεταφοράς αρχείων.
� Η δυναµική δηµιουργία του περιεχοµένου παρέχει ευελιξία, σε βάρος της πολυπλοκότητας.
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 12
CGI (Common Gateway Interface)
� Ο πρώτος αυτόνοµος µηχανισµός δηµιουργίας δυναµικού περιεχοµένου.
� Όταν καταφθάνει αίτηση εκτέλεσης ενός CGI προγράµµατος, θα δηµιουργηθεί µία νέα διεργασία για την εκτέλεση του προγράµµατος εφαρµογής.
� Χρησιµοποιεί µεταβλητές περιβάλλοντος.
� Η διάρκεια ζωής της διεργασίας CGI είναι µία αίτηση.
� Συνήθως γράφονται σε διερµηνευόµενεςγλώσσες (perl, shell scripts).
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 13
CGI (Common Gateway Interface)
� ∆ηµιουργούν δυναµικά HTML σελίδες.
� Πλεονέκτηµα: απλότητα.
� Μη κλιµακώσιµη προσέγγιση. Η δηµιουργία και ο τερµατισµός διεργασιών είναι ακριβή διαδικασία.
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 14
SSI (Server Side Includes)
� Παρέχει µηχανισµούς για την ενσωµάτωση βοηθητικών αρχείων (π.χ. αποτελέσµατα εκτέλεσης CGI προγραµµάτων σε µια HTML σελίδα).
� Αντί να δηµιουργεί το CGI script την HTML σελίδα, παρέχεται ένας µηχανισµός ενσωµάτωσης των δυναµικών αποτελεσµάτων.
Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 15
SSI (Server Side Include)
� Απλό µέσο παροχής δυναµικού περιεχοµένου σε υπάρχουσες HTML σελίδες, χωρίς να πρέπει να επαναδηµιουργηθούν οι σελίδες.
� Επιπλέον επεξεργαστική επιβάρυνση και επιπλοκές ασφάλειας.