Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική...

15
1 Αρχιτεκτονική web εφαρμογών Σαράντης Πασκαλής <[email protected]> Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών

Upload: others

Post on 28-Mar-2021

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

1

Αρχιτεκτονική web εφαρµογών

Σαράντης Πασκαλής <[email protected]>

Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών

Page 2: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 2

Αρχιτεκτονική πελάτη-εξυπηρέτη

� Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες (clients) είτε εξυπηρέτες (servers).� Εξυπηρέτης: παθητικός, περιµένει αιτήσεις, εξυπηρετεί τις αιτήσεις, επιστρέφει απαντήσεις.

� Πελάτης: ενεργητικός, δηµιουργεί αιτήσεις, αναµένει απαντήσεις.

� Thin clients: εφαρµογές µε ελάχιστες απαιτήσεις στο σύστηµα, η εφαρµογή ουσιαστικά τρέχει στον εξυπηρέτη.

Page 3: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 3

Αρχιτεκτονική πελάτη-εξυπηρέτη

Πελάτης Εξυπηρέτης

Αίτηση

Απάντηση

Page 4: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 4

Αρχιτεκτονική τριών επιπέδων

� Στη δυναµική παραγωγή περιεχοµένου, συνήθως λαµβάνονται στοιχεία από µία βάση δεδοµένων.

� Η αποθήκευση και ανάκτηση των στοιχείων από τη Β∆ πραγµατοποιούνται από µία διαφορετική διεργασία.

Page 5: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 5

Αρχιτεκτονική τριών επιπέδων

Πελάτης Εξυπηρέτης

Αίτηση

Απάντηση

Βάση∆εδοµένων

Page 6: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 6

Αρχιτεκτονική τριών επιπέδων

� Λόγω της αυξανόµενης πολυπλοκότητας των εξυπηρετών, διαχωρίστηκαν ακόµη περισσότερο τα επίπεδα στον εξυπηρέτη:� Εξυπηρέτης προβολής για στατικό περιεχόµενο.

� Ενδιάµεσο λογισµικό για την εκτέλεση της υπηρεσίας.

� Αποθήκευση και ανάκτηση δεδοµένων από Βάση ∆εδοµένων.

Page 7: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 7

Αρχιτεκτονική τριών επιπέδων

Πελάτης

Αίτηση

Απάντηση

Page 8: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 8

Αρχιτεκτονική πολλαπλών επιπέδων

� Γενίκευση της αρχιτεκτονικής τριών επιπέδων.

� Εύκολη υποστήριξη πολλαπλών εφαρµογών.

� Αυξηµένη πολυπλοκότητα

Page 9: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 9

Παροχή web περιεχοµένου

Page 10: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 10

Στατικό Περιεχόµενο

� Στατικές σελίδες (HTML, XML σελίδες, εικόνες, PDF αρχεία, κτλ).

� Σελίδες ως-έχουν (as-is). Οι σελίδες αυτές περιέχουν πλήρεις απαντήσεις HTTP. Ο εξυπηρέτης τις αποστέλλει ως έχουν.

Page 11: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 11

∆υναµικό περιεχόµενο

� Το δυναµικό περιεχόµενο διασυνδέει το web µε υπάρχουσες εφαρµογές και πληροφορίες.

� Η διαφοροποίηση του web από παλαιότερα συστήµατα µεταφοράς αρχείων.

� Η δυναµική δηµιουργία του περιεχοµένου παρέχει ευελιξία, σε βάρος της πολυπλοκότητας.

Page 12: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 12

CGI (Common Gateway Interface)

� Ο πρώτος αυτόνοµος µηχανισµός δηµιουργίας δυναµικού περιεχοµένου.

� Όταν καταφθάνει αίτηση εκτέλεσης ενός CGI προγράµµατος, θα δηµιουργηθεί µία νέα διεργασία για την εκτέλεση του προγράµµατος εφαρµογής.

� Χρησιµοποιεί µεταβλητές περιβάλλοντος.

� Η διάρκεια ζωής της διεργασίας CGI είναι µία αίτηση.

� Συνήθως γράφονται σε διερµηνευόµενεςγλώσσες (perl, shell scripts).

Page 13: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 13

CGI (Common Gateway Interface)

� ∆ηµιουργούν δυναµικά HTML σελίδες.

� Πλεονέκτηµα: απλότητα.

� Μη κλιµακώσιµη προσέγγιση. Η δηµιουργία και ο τερµατισµός διεργασιών είναι ακριβή διαδικασία.

Page 14: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 14

SSI (Server Side Includes)

� Παρέχει µηχανισµούς για την ενσωµάτωση βοηθητικών αρχείων (π.χ. αποτελέσµατα εκτέλεσης CGI προγραµµάτων σε µια HTML σελίδα).

� Αντί να δηµιουργεί το CGI script την HTML σελίδα, παρέχεται ένας µηχανισµός ενσωµάτωσης των δυναµικών αποτελεσµάτων.

Page 15: Αρχιτεκτονική web εφαρµογών · 2005. 11. 7. · Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται

Σαράντης Πασκαλής – Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 15

SSI (Server Side Include)

� Απλό µέσο παροχής δυναµικού περιεχοµένου σε υπάρχουσες HTML σελίδες, χωρίς να πρέπει να επαναδηµιουργηθούν οι σελίδες.

� Επιπλέον επεξεργαστική επιβάρυνση και επιπλοκές ασφάλειας.