6.2

6.2 Αρχιτεκτονική Εφαρμογών ΒΔ στο Διαδίκτυο
**Στόχοι / Προσδοκώμενα Αποτελέσματα** Ο μαθητής/τρια πρέπει να είναι ικανός/ή:
 * να αναφέρει στοιχεία της αρχιτεκτονικής των εφαρμογών ΒΔ στο Διαδίκτυο

Οι αρχιτεκτονικές των υπολογιστικών συστημάτων διακρίνονται σε δύο βασικές κατηγορίες ως προς την διασύνδεση των χρηστών με το σύστημα:
 * **Κεντρικά συστήματα (centralized systems)**, στα οποία οι χρήστες συνδέονται στον εξυπηρετητή μέσω τερματικών που δεν έχουν επεξεργαστική ισχύ αλλά χρησιμεύουν μόνο για προβολή. Σε αυτά τα συστήματα η επικοινωνία γίνεται μέσω δικτύων τα οποία μεταφέρουν τα μηνύματα των χρηστών προς το σύστημα και τα αποτελέσματα του συστήματος προς τους χρήστες.
 * **Συστήματα βασικής αρχιτεκτονικής πελάτη/εξυπηρετητή (client/server architecture)** όπου το λογισμικό κατανέμεται ανάμεσα σε πελάτες και εξυπηρετητές. Οι χρήστες (πελάτες) τοπικά διαθέτουν επεξεργαστική ισχύ και συνδέονται με τον εξυπηρετητή ή τους εξυπηρετητές για την εκτέλεση διάφορων λειτουργιών. Μερικές από αυτές τις λειτουργίες μπορεί να εκτελούνται και σε τοπικό επίπεδο, δηλαδή στον πελάτη, και κατά κανόνα οι πελάτες είναι διαφορετικού τύπου υπολογιστές ή συσκευές.

Τα Συστήματα Διαχείρισης Βάσεων Δεδομένων ακολούθησαν εξελικτικά μια μετάβαση από κεντρικά συστήματα σε συστήματα πελάτη/εξυπηρετητή. Τα σύγχρονα ΣΔΒΔ πελάτη/εξυπηρετητή με τη σειρά τους μπορεί επιπλέον να στηρίζονται σε **δύο ή τρία επίπεδα λογισμικού (two-tier ή three-tier architecture)**.

Τα δύο επίπεδα (two-tier) διαχωρίζουν τη //διεπαφή του χρήστη (user interface)// και τα //προγράμματα εφαρμογών (application programs)//, από τον //εξυπηρετητή των ερωτήσεων και συνδιαλλαγών (query & transaction server)//. Οι εφαρμογές του πελάτη, όταν είναι απαραίτητο, συνδέονται με τον εξυπηρετητή του ΣΔΒΔ μέσω συγκεκριμένων πρωτοκόλλων και //προγραμματιστικών διεπαφών (Application Programming Interfaces – API)//.

Στην αρχιτεκτονική τριών επιπέδων υπάρχει και ένα ενδιάμεσο επίπεδο ανάμεσα στον πελάτη και τον εξυπηρετητή του ΣΔΒΔ. Το επίπεδο αυτό συνήθως είναι //εξυπηρετητής εφαρμογών (application server)// ή //εξυπηρετητής Παγκόσμιου Ιστού (web server)//. Ο εξυπηρετητής αυτός εκτελεί εφαρμογές, κατευθύνει τα αιτήματα των πελατών για πρόσβαση στα δεδομένα (εξυπηρετητή ερωτήσεων) και εφαρμόζει κανόνες που αφορούν στη //«επιχειρηματική λογική» (business logic)// του συστήματος. Οι κανόνες αυτοί για παράδειγμα μπορεί να αφορούν στην ασφάλεια των αιτημάτων των πελατών.

Στην περίπτωση που το ενδιάμεσο επίπεδο είναι εξυπηρετητής του Παγκόσμιου Ιστού, ο εξυπηρετητής αυτός έχει το ρόλο της δυναμικής δημιουργίας των ιστοσελίδων που παρουσιάζουν στους χρήστες τα δεδομένα που είναι αποθηκευμένα στη βάση.

**Ερωτήσεις / Δραστηριότητες**
 * 1) Περιγράψτε την αρχιτεκτονική τριών επιπέδων στην οποία βασίζονται τα σύγχρονα ΣΔΒΔ.
 * 2) Αναφέρετε ένα παράδειγμα εφαρμογής στο οποίο θα ήταν βολική η επιλογή βάσης δεδομένων γράφων.