Τεχνολογίες Ανάπτυξης Εφαρμογών στο WEB Χρήστος Φείδας 1999 1. Εισαγωγή Στα πρώτα χρόνια ύπαρξης του το web παρείχε μόνο στατικές σελίδες μίας και αυτός ήταν ο πρωταρχικός σκοπός του. Καθώς όμως αυξανόταν ο αριθμός των σελίδων στο web έγινε εμφανές ότι το πρωταρχικό μοντέλο δεν ήταν πλήρη. Το μοντέλο είναι γνωστό. Ο web browser ενός χρήστη στέλνει μία αίτηση HTTP για να λάβει τα περιεχόμενα ενός εγγράφου HTML. O server αφού λάβει αυτή την αίτηση, πρώτα διαπιστώνει την ύπαρξη του εγγράφου και κατόπιν είτε στέλνει το έγγραφο που του ζητήθηκε είτε στέλνει κάποιο ανάλογο μήνυμα. Ο browser με την σειρά του εμφανίζει το έγγραφο αφού το μορφοποιήσει κατάλληλα. Το παραπάνω μοντέλο δουλεύει εφόσον ο χρήστης γνωρίζει ότι η συγκεκριμένη url περιέχει πληροφορίες οι οποίες τον ενδιαφέρουν. Πώς όμως κάθε χρήστης θα ενημερώνεται για της καινούριες σελίδες που προστίθενται στο διαδίκτυο και τι είδος πληροφοριών αυτές περιέχουν? Γίνεται λοιπόν εμφανές το πρόβλημα των στατικών σελίδων έγκειται στο ότι αυτές δεν δίνουν καμία δυνατότητα αλληλεπίδρασης μεταξύ χρήστη και server πάρα παρέχουν στείρα πληροφορία. Θα έπρεπε να υπάρχουν μηχανές αναζήτησης οι οποίες θα απαντούσαν σε συγκεκριμένες ερωτήσεις του χρήστη μετατρέποντας έτσι το web σε μία εύχρηστη πηγή πληροφοριών. Πράγματι με την βελτιστοποίηση των χαρακτηριστικών των servers έγινε η δημιουργία δυναμικών σελίδων πραγματικότητα. Ο κύριος παράγων στον οποίο οφείλεται η ύπαρξη δυναμικών σελίδων στο web είναι η δυνατότητα που έχουν οι servers να επικοινωνούν με βάσεις δεδομένων οι οποίες είναι οι κατεξοχήν πηγή αποθήκευσης πληροφορίας. 2. Βάσεις Δεδομένων και Internet Ο έλεγχος και η διαχείριση της πληροφορίας που σχετίζεται με οποιοδήποτε εφαρμογή είναι από τις σημαντικότερες δυνατότητες που παρέχει ο υπολογιστής στον άνθρωπο, κυρίως χάρη στις βάσεις δεδομένων (Β.Δ.). Με τον όρο βάση δεδομένων εννοούμε μία συλλογή ολοκληρωμένων εγγράφων που περιέχει αυτοπεριγραφή. Με τον όρο αυτοπεριγραφή εννοούμε : 1
το λεξικό των δεδομένων τον τύπο και την μορφή των δεδομένων συσχέτιση των δεδομένων τυχόν περιορισμοί επί των δεδομένων Για την δημιουργία και την συντήρηση βάσεων δεδομένων χρησιμοποιούμε ειδικά πακέτα λογισμικού, που ονομάζονται γενικά συστήματα διαχείρισης βάσεων δεδομένων (DBMS). Τα πλεονεκτήματα της χρήσης μίας βάσης δεδομένων είναι : δεν υπάρχουν διασκορπισμένα στοιχεία, αντιθέτως τα στοιχεία είναι οργανωμένα έτσι ώστε να μην έχουμε επανάληψη των δεδομένων υποστήριξη πολλαπλών όψεων χρήστη, έτσι μπορούμε να δώσουμε συγκεκριμένες πληροφορίες σε συγκεκριμένα άτομα ή να αποκρύψουμε πληροφορίες από αυτούς ανεξαρτησία προγραμμάτων δεδομένων δυνατότητα προσπέλασης και διαχείρισης της πληροφορίας από απομακρυσμένα μεταξύ τους σημεία. Γίνεται λοιπόν φανερή η χρησιμότητα των βάσεων δεδομένων και όπως είναι λογικό η ανάγκη διασύνδεσης βάσεων δεδομένων με εφαρμογές του web ήταν μεγάλη. Έπρεπε λοιπόν να δημιουργηθούν τεχνολογίες οι οποίες θα επέτρεπαν την διασύνδεση εφαρμογών του web με βάσεις δεδομένων και θα επέτρεπαν την δυναμική αλληλεπίδραση μεταξύ client και server. Μία λύση για τέτοιου είδους εφαρμογές στο web αποτελούν οι τεχνολογίες CGI και ISAPI. 2.1 CGI (common gateway interface) To Common Gateway Interface(cgi) είναι ένα πρότυπο, το οποίο επιτρέπει την αμφίδρομη ροή πληροφοριών μεταξύ browser και server με την χρήση ενός εκτελέσιμου προγράμματος (gateway) το οποίο υπάρχει στον HTPP-Server και καλείται από αυτόν σαν αποτέλεσμα κάποιων ενεργειών του χρήστη. Έτσι ένα gateway σε έναν SQL- Server θα μπορούσε είτε να μας δώσει πληροφορίες για την τιμή κάποιου προϊόντος είτε να μας εμφανίσει τα αποτελέσματα κάποιας αναζήτησης. Χαρακτηριστικό παράδειγμα μίας cgi εφαρμογής είναι η μηχανές αναζήτησης πληροφοριών (Lycos,Yahoo,Altvista) στις οποίες το gateway κάνει μία αναζήτηση στην βάση δεδομένων η οποία αντιπροσωπεύει την γνώση της αντίστοιχης μηχανής. Δυστυχώς το μοντέλο του cgi παρουσιάζει ένα μεγάλο μειονέκτημα. Το μοντέλο αυτό μπορεί να παρομοιαστεί με ένα μεγάλο πολυκατάστημα στο οποίο υπάρχει μόνο ένα ταμείο για την εξυπηρέτηση όλων των πελατών του. Τέτοιου είδους εφαρμογές δεν μπορούν να εξυπηρετήσουν μεγάλο αριθμό ταυτόχρονων αιτήσεων. Ο μέγιστος αριθμός εξυπηρέτησης ταυτόχρονων αιτήσεων, με χρήση της τεχνολογίας 2
cgi, κυμαίνετε μεταξύ 50 και 100, ενώ παρατηρείται σημαντική επιβράνδυση όταν απαιτείται η εξυπηρέτηση περισσότερων από 100 ταυτόχρονων αιτήσεων. Η αιτία αυτού του μειονεκτήματος έγκειται στο ότι η εφαρμογές cgi δεν αποτελούν ενσωματοποιημένες λειτουργίες του server και έτσι απαιτείται να φορτωθεί και να εκτελεστεί το αρχείο exe για κάθε αίτηση ξεχωριστά με αποτέλεσμα να καλυφθούν πολύ γρήγορα οι πόροι του server. 2.2 ISAPI (Internet Server Application Interface) Η αντιμετώπιση των προβλημάτων που παρουσίαζε η τεχνολογία cgi έγινε με χρήση της τεχνολογίας ISAPI (Internet Server Application Interface). Στην τεχνολογία ISAPI τα cgi προγράμματα έχουν αντικατασταθεί από από αρχεία dll(dynamic Link Library) τα οποία είναι ενσωματοποιημένες λειτουργίες του server και φορτώνονται κάθε φορά μαζί του. Έτσι αυτή η τεχνολογία παρουσιάζει γρηγορότερη εξυπηρέτηση των αιτήσεων σε σχέση με την τεχνολογία cgi. Η τεχνολογία ISAPI αν και δίνει λύσεις σε ορισμένα προβλήματα δεν μπόρεσε να ανταποκριθεί στις μεγάλες απαιτήσεις που υπήρχαν για να δημιουργηθούν πιο ολοκληρωμένες δυναμικές σελίδες στο web διότι τα dll προγράμματα αν και αποτελούν ενσωματοποιημένες λειτουργίες του server δεν παύουν να είναι προγράμματα γραμμένα σε γλώσσες όπως C++, Visual Basic,Perl γεγονός που απαιτεί αφενός καλή γνώση των τελευταίων αφετέρου βαθιές γνώσεις των πρωτοκόλλων του internet.. Θα έπρεπε να υπήρχαν ενσωματοποιημένα αντικείμενα του server με απλή χρήση των οποίων θα ήταν δυνατή η απόκτηση των πληροφοριών που εισάγει ο χρήστης όταν συμπληρώσει και στείλει μια φόρμα ή αντικείμενα τα οποία θα επέτρεπαν άμεσα την διασύνδεση με μία βάση δεδομένων και θα έδιναν έτσι την δυνατότητα διαχειρίσεως τις βάσης από πολλά μεταξύ τους απομακρυσμένα σημεία. Τις παραπάνω απαιτήσεις και όχι μόνο ήρθαν με την σειρά τους να εκπληρώσουν τα active server pages. 2.3 Acive Server Pages 2.2.1 Τι είναι τα Active Server Pages. Τα active server pages(asp) είναι μία νέα τεχνολογία η οποία αποτελεί μέρος της Active-Plattform, μίας στρατηγικής που η Microsoft έχει επιλέξει για το internet. Η Active-Plattform στηρίζεται σε μία σειρά από γλώσσες και υπηρεσίες οι οποίες μπορούν να χρησιμοποιηθούν ώστε να δημιουργηθούν εφαρμογές είτε σε περιβάλλον client (Active-Desktop) είτε σε περιβάλλον server (Active-Server). Τα asp εγκαθίστανται σε έναν ήδη υπάρχον web-server, όπως στον Internet Information Server(IIS) των Windows NT ή στον Personal Web Server των Windows 95, δημιουργούν αρχεία με κατάληξη.asp και απαντούν στις διάφορες αιτήσεις.asp των clients. Mπορούμε να πούμε ότι τα asp δεν είναι απλά μία γλώσσα scripting, αλλά ένα περιβάλλον ανάπτυξης εφαρμογών Internet/Intarnet που επιτρέπει την ταυτόχρονη 3
συνύπαρξη εγγράφων HTML, εντολών VBScript και Javascript, ActiveX- Components καθώς και αντικειμένων asp. Πρέπει επίσης να επισημάνουμε ότι οι εφαρμογές που δημιουργούνται με χρήση της τεχνολογίας asp εκτελούνται στον server σε αντίθεση με τις μέχρι τώρα γνωστές εφαρμογές οι οποίες εκτελούνταν σε περιβάλλον client. Παρακάτω αναφέρονται μερικά από τα βασικά πλεονεκτήματα που παρουσιάζουν τα asp. αsp δεν απαιτούν μεταφραστή αsp μπορούν εύκολα να διορθωθούν και να επεκταθούν αsp παρέχουν υψηλή ασφάλεια αsp συνεργάζονται με ήδη υπάρχουσες τεχνολογίες όπως idc(internet database connector),cgi,activex Asp δεν απαιτούν μεταφραστή Όπως προαναφέρθηκε τα asp δεν απαιτούν μεταφραστή(compiler), όπως οι παλαιότερες τεχνολογίες, διότι αποτελούν ενσωματοποιημένες λειτουργίες του server οι οποίες φορτώνονται κάθε φορά μαζί με τον server. Απλά δημιουργείται ένα αρχείο.asp και μία dll(dynamic link library) επεξεργάζεται αυτό το αρχείο όταν ύπαρξη μία αίτηση για αυτό. Αποτέλεσμα αυτής της ιδιότητας των asp είναι η αύξηση του αριθμού των ταυτοχρόνων αιτήσεων, ενός αρχείου asp, στους οποίους μπορεί να αντεπεξέλθει ο server. Asp μπορούν εύκολα να διορθωθούν και να επεκταθούν Τα asp πολύ απλά μπορούμε να πούμε ότι είναι αρχεία κειμένου τα οποία περιέχουν τον κώδικα της κάθε εφαρμογής. Επιπλέον δεν απαιτούν μεταφραστή. Έτσι η διόρθωση, επέκταση του κώδικα προϋποθέτει απλά το άνοιγμα του αρχείου asp με χρήση ενός κειμενογράφου όπως το notepad, την διόρθωση του κώδικα και τέλος την αποθήκευση του. Αν αυτή η λύση δεν είναι επιθυμητή η microsoft παρέχει ολοκληρωμένα εργαλεία για την ανάπτυξη εφαρμογών στο διαδίκτυο όπως το visual interdev. Asp παρέχουν υψηλή ασφάλεια Ένα σοβαρό μειονέκτημα, όσο αφορά θέματα ασφάλειας, διαφόρων script γλωσσών όπως η Javascript και η Vbscript έγκειται στο ότι αυτά μεταφέρονται μαζί με τον κώδικα HTML στον client και εκτελούνται εκεί από τον αντίστοιχο browser. 4
Έτσι μεταφέρονται και πληροφορίες η οποίες ίσως να μην ήταν επιθυμητό να δημοσιεύονται αφού κάθε χρήστης του web έχει πρόσβαση στον source-code της σελίδας που καλεί. Τα asp παρακάμπτουν αυτή την δυσκολία διότι αυτά εκτελούνται σε περιβάλλον server σε αντίθεση με τις παραπάνω γλώσσες script.έτσι εξασφαλίζεται η απόκρυψη διαφόρων πληροφοριών. Asp συνεργάζονται με ήδη υπάρχουσες τεχνολογίες Πρέπει να επισημάνουμε ότι τα asp δεν αντικαθιστούν όλες τις παλαιότερες τεχνολογίες αντιθέτως της συμπληρώνουν. Ο σωστός συνδυασμός αυτών επιφέρει τα βέλτιστα αποτελέσματα. Ως παράδειγμα μπορούν να συνδυαστούν τα asp με μία γλώσσα script. Έτσι μία συνάρτηση script θα ελέγχει επί τόπου τα δεδομένα που εισάγει ο χρήστης και ανάλογα με την ορθότητα τους είτε θα επιτρέπει την αποστολή των στον server όπου τα asp θα επεξεργάζονται αυτά τα δεδομένα, είτε θα εμφανίζει κατάλληλα μηνύματα. Με χρήση των παραπάνω εξοικονομείται ο χρόνος που θα απαιτούνταν για την σύνδεση client-server,αποστολή των δεδομένων, επεξεργασία των δεδομένων στον server και τέλος σύνδεση Server-client και αποστολή μηνύματος λάθους εάν ο χρήστης πληκτρολογούσε εσφαλμένα δεδομένα. 2.3 Σύνταξη asp Όπως αναφέρθηκε και παραπάνω μία εφαρμογή asp συνίσταται από : κώδικα HTML κώδικα script(javascript,vbscript) ActiveX-Components Σύμβολα script : <% %> Αντικείμενα asp Παρατηρούμε ότι η μόνη διαφορά μεταξύ συνηθισμένων web εφαρμογών και asp εφαρμογών είναι τα σύμβολα script <% %>. Αυτά τα σύμβολα μπορούν να χρησιμοποιηθούν σε οποιαδήποτε σημείο του κώδικα και περιέχουν τόσο εντολές αντικειμένων της asp όσο και εντολές javascript, perl ή vbscript. Για να δηλώσουμε ποια γλώσσα script θα χρησιμοποιήσουμε τοποθετούμε στην πρώτη γραμμή του κώδικα την εντολή : <%@ LANGUAGE=Javascript %> όπου, στην προκειμένη περίπτωση δηλώσαμε την χρησιμοποίηση της Javascript. Βεβαίως είναι δυνατό να χρησιμοποιηθούν και δύο διαφορετικές γλώσσες-script στον ίδιο κώδικα. Οι εφαρμογές asp επεξεργάζονται από τους ASP-interpreter και ASP-parser όπου γίνεται η σύνθεση και η αποστολή δυναμικού περιεχομένου HTML σελίδων. 5
2.4Τα εσωτερικά αντικείμενα ASP Για την δημιουργία δυναμικών σελίδων η asp παρέχει τέσσερα αντικείμενα. Κάθε ένα από αυτά τα αντικείμενα έχουν μία σειρά από μεθόδους και ιδιότητες που δίνουν στον προγραμματιστή πολλές δυνατότητες. Τα αντικείμενα είναι : Αντικείμενο RESPONSE Αντικείμενο REQUEST Αντικείμενο SESSION Αντικείμενο APPLICATION Το αντικείμενο Request Κατά την επικοινωνία ενός browser με έναν server με βάση το πρωτόκολλο http, στέλνονται από τον browser εκτός από το path της ζητούμενης σελίδας και διάφορες άλλες πληροφορίες όπως απαντήσεις του χρήστη, cookies, διάφορες ιδιότητες του browser.όλες αυτές οι πληροφορίες στέλνονται αποκωδικοποιημένες στο http-header. Με χρήση του αντικειμένου Request, το οποίο χρησιμοποιείται πολύ συχνά, είμαστε σε θέση να συλλάβουμε τα δεδομένα των πεδίων μίας φόρμας την οποία συμπλήρωσε και έστειλε ο χρήστης. Αν για παράδειγμα ονομάσουμε ένα πεδίο μίας φόρμας «Quantity» τότε με απλή χρήση της παρακάτω εντολής, στον πηγαίο κώδικα, είμαστε σε θέση να αποκομίσουμε τα δεδομένα του χρήστη στο αντίστοιχο πεδίο : <% Request.Form( Quantity ) %> Η χρησιμοποίηση της συλλογής Form προϋποθέτει ότι τα δεδομένα μίας φόρμας στάλθηκαν, από τον browser, με χρήση της μεθόδου Post. Αν αντίθετα χρησιμοποιηθεί για την αποστολή των δεδομένων η μέθοδο Get τότε πρέπει, μαζί με το αντικείμενο Request να χρησιμοποιηθεί η συλλογή QueryString. Έτσι : <% Request.QueryString( Quantity ) %> Η διαφορά μεταξύ των δύο μεθόδων, αποστολής δεδομένων, Get και Post έγκειται στην θέση που λαμβάνουν τα δεδομένα μέσ στο http πακέτο. Τα δεδομένα που αποστέλνονται με την μέθοδο get εμπεριέχονται στο header του πακέτου ενώ αυτά που αποστέλνοντε με την μέθοδο post εμπεριέχοντε στο body του αντίστοιχου http πακέτου. Μία άλλη πολύ χρήσιμη συλλογή αυτού του αντικείμένου είναι η συλλογή Cookies. Τα cookies χρησιμοποιούνται για την αποθήκευση πληροφοριών μεταξύ δυο διαφορετικών, χρονικά, συνδέσεων browser και server. Στην πιο απλή περίπτωση τα cookies περιέχουν πληροφορίες που αποθηκεύονται στον client και στέλνονται στον server σαν τμήμα της http-κλήσης του browser. Έτσι είναι δυνατό να διατηρηθούν 6
πληροφορίες και να μην απαιτείται κάθε φορά ο χρήστης να πληκτρολογεί τα ίδια δεδομένα. Έτσι με χρήση της εντολής <% Request.Cookie( Cookiename ) %> έχουμε την δυνατότητα να λάβουμε το συγκεκριμένο cookie και τις πληροφορίες που αυτό περιέχει. Το αντικείμενο Response Αντίθετα με το αντικείμενο Request, με το οποίο πέρνουμε τα δεδομένα από τον client-browser, το αντικείμενο Response χρησιμοποιείται για να στείλουμε πληροφορίες από τον Server στον χρήστη όπως για παράδειγμα σαν αποτέλεσμα μίας αναζήτησης που έγινε σε μία βάση δεδομένων του Server. Μερικές από τις σημαντικότερες μεθόδους αυτού του αντικειμένου είναι η μέθοδος write και η μέθοδος redirect. H write καλείται για να στείλει δεδομένα στον χρήστη. <% Response.write( Hello world ) %> <% variable=hello world Response.write(variable) %> ή Η μέθοδος redirect χρησιμοποιείται για να ενημερώσει τον browser για μία αλλαγή του path ενός συγκεκριμένου αρχείου. Πιο πάνω είδαμε ότι με χρήση της εντολής request.cookie(cookiename) μπορούμε να πάρουμε τις πληροφορίες που εμπεριέχονται σε αυτό. Πώς όμως δημιουργείται ένα cookie; Πολύ απλά μπορούμε να δημιουργήσουμε ένα cookie πληκτρολογώντας : <% Response.Cookies(cookiename) = cookievalue %> Τα αντικείμενα Session και Application Ένα από τα γνωστά μειονεκτήματα του πρωτοκόλλου http είναι ότι δεν διατηρείται η σύνδεση μεταξύ browser και server κατά όλη την διάρκεια της επικοινωνίας αλλά διακόπτεται κάθε φορά που ολοκληρώνεται η αποστολή δεδομένων από την μια μεριά στην άλλη. Έτσι δεν είναι δυνατό να διατηρηθούν και να μεταβιβαστούν πληροφορίες μεταξύ δύο διαφορετικών sites. 7
Μια λύση για το παραπάνω πρόβλημα αποτελούν, όπως αναφέρθηκε παραπάνω, τα cookies. Τα cookies έχουν όμως το μειονέκτημα ότι αποθηκεύονται στον σκληρό δίσκο του client και έτσι δεν προτιμούνται για διατήρηση μεγάλου όγκου πληροφοριών. Τα asp προτείνουν μία διαφορετική λύση χρησιμοποιώντας τα αντικείμενα Session και Application.Η διαφορά μεταξύ αυτών έγκειται στην χρησιμότητα τους. Έτσι σε δεδομένα που έχουν αποθηκευτεί με το αντικείμeνο session έχουν προσπέλαση μόνο εκείνοι οι clients που το δημιούργησαν. Τα δεδομένα αυτά καταστρέφονται όταν ο χρήστης τερματίσει την σύνδεση του με τον server. Αντίθετα το αντικείμενο application περιέχει πληροφορίες οι οποίες μπορούν να μοιράζονται σε όλους τους χρήστες που έχουν συνδεθεί. Με χρήση των μεθόδων lock και unlock είμαστε σε θέση να αλλάξουμε τα περιεχόμενα αυτού του αντικειμένου. 3 Επιλογή SERVER 3.1 Κριτήρια Επιλογής Server Βασικό συστατικό οποιουδήποτε κόμβου στο διαδίκτυο είναι ο server. Ο server δέχεται αιτήσεις αποστολής πληροφοριών και επιστρέφει τις πληροφορίες αυτές μέσω http. Για την επιλογή ενός server οι παράγοντες που πρέπει να εξεταστούν είναι: ταχύτητα ασφάλεια ευκολία εγκατάστασης διαχείριση Ταχύτητα Κατά κύριο λόγο η ταχύτητα ανταπόκρισης ενός server στις εισερχόμενες κλίσεις του εξαρτάται από το εύρος ζώνης πού έχει η σύνδεση του με το internet και κατά δεύτερο λόγο από της δυνατότητες του hardware(ram, cpu, hard disk) και το είδος του λογισμικού που χρησιμοποιεί. Ασφάλεια Αμέσως μετά την ταχύτητα η ασφάλεια θα πρέπει να είναι το μεγαλύτερο μέλημα. Ο server θα πρέπει να υποστηρίζει S-HTTP ή SLL και αυτό γιατί αυτά είναι τα πλησιέστερα που υπάρχουν σε πρότυπα ασφάλειας στο web. Εγκατάσταση και Διαχείριση Γενικά η εγκατάσταση ενός web-server θα πρέπει να είναι το ίδιο εύκολη με την εγκατάσταση οποιοδήποτε άλλου προγράμματος. Επίσης θα πρέπει να παρέχει ένα πρόγραμμα που θα συνδυάζει όλες τις δυνατότητες διαχείρισης σε ένα κοινό, εύχρηστο περιβάλλον από το οποίο ο administrator θα έχει γρήγορη πρόσβαση στις λειτουργίες του server όπως για παράδειγμα το ημερολόγιο πρόσβασης. 8
3.1 Συγκρίνοντας τους δημοφιλέστερους SERVERS Apache O apache είναι σήμερα ο πιο δημοφιλέστερος server στον κόσμο. Υπάρχουν τρεις λόγοι για αυτό: 1. είναι δωρεάν 2. δουλεύει σε unix και OS/2 3. είναι πάρα πολύ γρήγορος Αρκεί να αναφέρουμε ότι το εργαστήριο τεχνητής νοημοσύνης του M.I.T. το οποίο δέχεται πάνω από ένα εκατομμύριο κλήσεις την ημέρα κατά μέσο όρο χρησιμοποιεί τον apache σαν server. Το μειονέκτημα αυτού του server είναι ότι δεν παρέχει αξιόλογα εργαλεία διαχείρισης και έτσι είναι απαραίτητη βαθιά γνώση του λειτουργικού συστήματος unix και της γλώσσας προγραμματισμού C. Ένα άλλο μειονέκτημα είναι ότι ενώ η δημιουργία στατικών σελίδων είναι εύκολη η δημιουργία δυναμικών σελίδων είναι αρκετά δύσκολη αφού ο server δεν παρέχει τεχνολογίες υποστήριξης. Internet Connection Server Συγκριτικά ο server της IBM δεν είναι τόσο γρήγορος όσο ο apache όμως είναι ιδιαίτερα ασφαλές αφού υποστηρίζει SSL και πρωτόκολλο S-HTTP. Επίσης επιτρέπει την διαχείριση όλων των λειτουργιών του χρησιμοποιώντας φόρμες html, γεγονός που κάνει την απομακρυσμένη διαχείριση πολύ εύκολη. Netscape Οι servers της Netscape είναι γενικά γρήγορη και αξιόπιστη και είναι διαθέσιμοι για όλες τις πλατφόρμες εκτός από αυτή του OS/2. H Netscape κατασκευάζει πολλές διαφορετικές εκδόσεις των server τις οι οποίες διαφέρουν μεταξύ τους ως προς το πλήθος των συνδέσεων που μπορούν να εξυπηρετήσουν. Το μεγάλο πλεονέκτημα αυτών των server είναι ότι παρέχουν ολοκληρωμένα πακέτα λογισμικού διαχείρισης των λειτουργιών του server. IIS(Internet Information Server) 9
Ο Internet Information Server είναι προϊόν της microsoft και μπορεί να εκτελεστεί σε όλες τις πλατφόρμες που υποστηρίζουν NT 4.0. Αυτό σημαίνει ότι μπορούν να χρησιμοποιηθούν μηχανήματα που βασίζονται στους επεξεργαστές x86, DEC Alpha AXP, MIPS ή Power PC. Η εγκατάσταση αυτού του server είναι πολύ εύκολη και υποστηρίζει υπηρεσίες web, ftp και gopher η οποίες μπορούν να ενεργοποιηθούν ή να απενεργοποιηθούν πολύ εύκολα. Ο IIS είναι ολοκληρωμένος με το λειτουργικό σύστημα windows NT server γεγονός που του επιτρέπει να χρησιμοποιεί των ίδιο κατάλογο χρηστών και έτσι να παρέχει υψηλή ασφάλεια ελέγχοντας με αυτόν τον τρόπο τα δικαιώματα που έχει κάθε χρήστης σε εφαρμογές internet ή intranet. Υποστηρίζει SLL και παρέχει μια σειρά από λειτουργίες που αυξάνουν την απόδοση του και τον καθιστούν ικανό να ανταποκριθεί σε οποιαδήποτε απαίτηση για server. Το δυνατότερο σημείο του IIS είναι η υποστήριξη που παρέχει στην εύκολη ανάπτυξη δυναμικών σελίδων στο web αφού είναι ο server που υποστηρίζει το περιβάλλον ανάπτυξης εφαρμογών στο web : active server pages. Συμπεράσματα Στις παραπάνω σελίδες αναφέρθηκαν τα πλεονεκτήματα και μειονεκτήματα που έχουν διάφοροι servers ως προς την απόδοση, ασφάλεια και διαχείριση αλλά και τι είδους λειτουργίες παρέχουν για την δημιουργία γρήγορων και δυναμικών σελίδων στο web. Η καλύτερη επιλογή είναι ο Internet Information Server αφού αυτός πλεονεκτεί στα εργαλέια υποστήριξης που παρέχει για τις λειτούργιες διαχείρισης του server, στα εργαλεία ανάπτυξης δυναμικών σελίδων όπως επίσης και στην συνβατότητα που παρέχει με άλλα προϊόντα της microsoft που χρησιμοποιούντε ευρέως στο τμήμα (υπολογιστικό κέντρο,εργαστήρια). Επίσης υποστηρίζει S-HTTP και είναι αρκετά γρήγορος. 10
11