3.6. Ο ρόλος του server

Διαφήμιση

Ο ρόλος του server

H client-server διαδικασία μπορεί να απλοποιηθεί στα παρακάτω βήματα:

  1. Ο χρήστης στέλνει μια αίτηση ή ένα ερώτημα, μέσω του client, στον server.
  2. Ο server ακούει την αίτηση του client.
  3. Από τη στιγμή που ο server ακούει την αίτηση, ελέγχει την δυνατότητα πρόσβασης του χρήστη.
  4. Ο server επεξεργάζεται το ερώτημα.
  5. Ο server επιστρέφει τα αποτελέσματα στον client.
  6. Client δέχεται τα αποτελέσματα και τα παρουσιάζει στον χρήστη.

Από αυτά τα έξι βήματα, ο server παίζει τέσσερις σημαντικούς ρόλους. Είναι φανερό ότι ο server είναι η καρδιά της client – server εφαρμογής. Ο server υπάρχει για να απαντήσει στις ανάγκες του client, και ο client εξαρτάται από την αξιοπιστία και την έγκαιρη απάντηση του server.

Ο server πρέπει να εκτελέσει τις ακόλουθες λειτουργίες:

  • Να ακούσει την αίτηση του client.
  • Να ελέγξει την δυναμικότητα πρόσβασης του χρήστη.
  • Να επεξεργαστεί την αίτηση.
  • Να επιστρέψει τα αποτελέσματα.

Ο server δεν «εγκαινιάζει» καμία ενέργεια. Αντίθετα, ο server περιμένει παθητικά να φτάσουν οι αιτήσεις του client μέσω του δικτύου. Ο server πρέπει πάντα να απαντάει στους clients, ακόμα και όταν πολλοί clients κάνουν ταυτόχρονες αιτήσεις.

Από την στιγμή που ο server δέχεται από τον client την απαίτηση, o server πρέπει να βεβαιωθεί ότι ο client είναι εξουσιοδοτημένος να λάβει την πληροφορία ή την απάντηση. Αν ο client δεν είναι εξουσιοδοτημένος, ο server απορρίπτει την αίτηση και στέλνει μήνυμα στον client. Εάν ο client είναι εξουσιοδοτημένος, ο server συνεχίζει και επεξεργάζεται την αίτηση.

επεξεργασία της αίτησης περιλαμβάνει την παραλαβή της αίτησης του client, την μετατροπή του σε μια μορφή που μπορεί ο server να χρησιμοποιήσει και την επεξεργασία της ίδιας της αίτησης. Όταν η επεξεργασία ολοκληρώνεται, ο server στέλνει τα αποτελέσματα πίσω στον client. Μετά, ο client μπορεί να μεταφράσει και να χρησιμοποιήσει τις πληροφορίες.

Δεν υπάρχει προκαθορισμένος διαχωρισμός στις ευθύνες για τις client-server εφαρμογές. Ανάλογα με τις ανάγκες μας, μπορούμε και να διαχωρίσουμε την εφαρμογή. Το ισχυρό client μοντέλο δίνει περισσότερες λειτουργίες στον client, ενώ το ισχυρό server μοντέλο δίνει περισσότερες λειτουργίες στον server. Οι servers εφαρμογών και συναλλαγών τείνουν να είναι ισχυροί servers, ενώ οι servers βάσεων δεδομένων και αρχείων τείνουν να έχουν ισχυρούς clients.

 

Διαφήμιση

 

Ανεξάρτητα του πώς διαχωρίζουμε την εφαρμογή, η βασική ευθύνη του server παραμένει η ίδια: να εξυπηρετεί τους clients που κάνουν αιτήσεις.

Ακούγοντας την αίτηση του client: Ο server δεν ξεκινάει καμιά αλληλεπίδραση με τον client, o server απλά περιμένει τον client για να κάνει την αίτηση του. Όταν ο client κάνει την αίτηση, ο server ανταποκρίνεται το συντομότερο δυνατό. Η κάρτα προσαρμογής στο δίκτυο συνδέει φυσικά τον server, με το δίκτυο και καθορίζει εάν οι εισερχόμενες απαιτήσεις είναι κατανοητές για τον κόμβο του προσαρμογέα. Εάν ναι, το πρωτόκολλο τις αποδέχεται και τις αποκωδικοποιεί ώστε μετά ο server να μπορεί να τις επεξεργαστεί.

Ελέγχοντας την δυνατότητα πρόσβασης του χρήστη: Από την στιγμή που ο server δέχεται την αίτηση από τον client, o server πρέπει να βεβαιωθεί ότι ο χρήστης είναι εξουσιοδοτημένος να λάβει την πληροφορία ή την ανταπόκριση από το server. Εάν ο χρήστης δεν είναι εξουσιοδοτημένος, ο server απορρίπτει την αίτηση και στέλνει ένα μήνυμα στον client. Εάν ο χρήστης είναι εξουσιοδοτημένος, o server συνεχίζει και επεξεργάζεται την αίτηση.

Επεξεργάζοντας την αίτηση: Ο server πρέπει να είναι ικανός να ανταποκριθεί στην αίτηση του client αμέσως. Εάν πολλοί clients κάνουν αιτήσεις ταυτόχρονα, ο server πρέπει να είναι ικανός να βάζει σε προτεραιότητα τις αιτήσεις των clients, και να επεξεργάζεται πολλές αιτήσεις την στιγμή. Από την στιγμή, που ο server επιβεβαιώνει ότι ο χρήστης είναι εξουσιοδοτημένος να κάνει αιτήσεις στον server, o server μπορεί να αποκαλύψει την απαίτηση και να την επεξεργαστεί.

Η αίτηση μπορεί να έχει μια από τις ακόλουθες τέσσερις μορφές:

  • Μια απόμακρη αίτηση είναι μια απλή αίτηση για πληροφορίες από έναν απλό client.
  • Μια απόμακρη συναλλαγή περιλαμβάνει πολλαπλές αιτήσεις για πληροφορίες από έναν απλό client.
  • Μια κατανεμημένη συναλλαγή περιλαμβάνει πολλαπλές αιτήσεις για πληροφορίες από έναν απλό client, οι οποίες πληροφορίες ανήκουν σε πολλούς server.
  • Μια κατανεμημένη αίτηση είναι μια συναλλαγή που σχηματίζεται από πολλαπλές αιτήσεις για πληροφορίες από πολλαπλούς clients, οι οποίες πληροφορίες ανήκουν σε πολλαπλούς servers.

Αυτές οι αιτήσεις πρέπει να περάσουν από το λεγόμενο ACID τεστ: Ατομικότητα (Atomicity), Συνέπεια (Consistency), Απομόνωση(Isolation) και Αντοχή (Durability). H ατομικότητα σημαίνει ότι ολόκληρη η συναλλαγή πρέπει να πετύχει ή να αποτύχει, δεν μπορεί να ολοκληρωθεί ως προς ένα κομμάτι της. Η συνέπεια σημαίνει ότι το σύστημα πάει από ένα σταθερό σημείο σε ένα άλλο σταθερό σημείο. Η απομόνωση σημαίνει ότι, από τη στιγμή που μια συναλλαγή ολοκληρώνεται με επιτυχία, τα αποτελέσματα της δεν είναι ορατά σε άλλες συναλλαγές. Η αντοχή σημαίνει ότι από τη στιγμή που η συναλλαγή ολοκληρώνεται με επιτυχία, δεσμεύεται μόνιμα από το σύστημα και επακόλουθες αποτυχίες δεν θα το επηρεάσουν. Εάν η συναλλαγή αποτύχει, το σύστημα οπισθοχωρεί στο σημείο που ήταν πριν προσπαθήσει να επεξεργαστεί την συναλλαγή.

Η διαχείριση της συναλλαγής ελέγχεται είτε από το DBMS είτε από το ΤΡΜ (Transaction Processing Manager). Οι διαχειριστές της συναλλαγής προστατεύουν την ακεραιότητα των πληροφοριών που είναι μια απόλυτη αξίωση. Ο server είναι υπεύθυνος για προστασία και την διατήρηση της ακρίβειας των πληροφοριών.

Όταν ο server τελειώνει την επεξεργασία των αποτελεσμάτων και είναι έτοιμος να επιστρέψει τα αποτελέσματα στον client, πρέπει να μορφοποιήσει τα αποτελέσματα και να τα στείλει με ένα τρόπο που μπορεί ο client να καταλάβει.

Ο server παραδίδει τις πληροφορίες στο πρωτόκολλο, που διευθύνει ένα πακέτο, μορφοποιεί τις πληροφορίες για να τις τοποθετήσει στο πακέτο και περνάει το πακέτο στο δίκτυο. Το δίκτυο μετά βεβαιώνεται ότι το πακέτο πηγαίνει στον client.

 

 

Διαφήμιση
SEE ALL Add a note
YOU
Add your Comment
 
error: Το περιεχόμενο προστατεύεται!!
X