Σχεδιασμός Web εφαρμογής διαχείρισης συσκευών σε γλώσσα ASP.NET και βάση δεδομένων SQL Server 2000 Πτυχιακή Εργασία 1
Περιεχόμενα Πρόλογος Ιστορική Αναδρομή;......1 Εισαγωγή Τι είναι η ΑSP.NET;...5 Αντικειμενοστραφής Προγραμματισμός.5 Κεφάλαιο 1: Tα βασικά του Web Η αρχιτεκτονική Client Server του Web.. 6 3 tier Web αρχιτεκτονική..7 Το Presentation Layer.8 To Application Layer..8 To Database Layer..8 To TCP/IP 9 Το Πρωτόκολλο HTTP..10 Η Δομή ενός HTTP μηνύματος.10 HTTP Request 11 Request Line....11 HTTP Request Header.11 HTTP Request Body 11 Τι είναι τα URLs;..13 Τι είναι η κωδικοποίηση των URLs (URL Encoding)..14 HTTP Response.15 Response Line..15 HTTP Response Header...15 HTTP Response Body..16 Πτυχιακή Εργασία 2
Τι είναι οι Στατικές Ιστοσελίδες;...16 Τι είναι η HTML;...17 Πώς εξυπηρετούνται οι Στατικές Ιστοσελίδες; 18 Τι είναι οι Δυναμικές Ιστοσελίδες; 18 Πώς εξυπηρετούνται οι Δυναμικές Ιστοσελίδες;...18 Client Side Dynamic Web Pages 18 Server Side Dynamic Web Pages...19 Κεφάλαιο 2: Client Side Τεχνολογίες για την προσφορά Δυναμικού περιεχομένου στο Web JavaScript και Jscript.20 VBScript 21 ActiveX Controls...22 Java Applets...22 Κεφάλαιο 3: Server Side Τεχνολογίες για την προσφορά Δυναμικού περιεχομένου στο Web CGI.24 JSP.25 PHP 25 ASP 26 Visual Basic.NET..27 ASP.NET...27 Κεφάλαιο 4: Εγχειρίδιο Οδηγιών Ποίο είναι το απαραίτητο λογισμικό;...31 Διαδικασία εισόδου στην εφαρμογή..33 Καταχώρηση νέας συσκευής.38 Διαχείριση καταχωρημένης συσκευής... 44 Πτυχιακή Εργασία 3
Κεφάλαιο 5: Δημιουργία SQL Server 2000 Database Δημιουργία μιας SQL Server 2000 Database 49 Κεφάλαιο 6: Δημιουργία ASP.NET Project Δημιουργία ASP.NET Project...54 Κεφάλαιο 7: Ασφάλεια στην ASP.NET Authentication....57 Authorization. 57 Βιβλιογραφία Πόροι Βιβλίου 65 Πόροι Web.66 Πρόλογος Πτυχιακή Εργασία 4
Ιστορική αναδρομή Πίσω στις αρχές της δεκαετίας του 90 το να έχεις έναν υπολογιστή συνδεμένο στο Internet ήταν κάτι τεχνολογικά πρωτοποριακό. Η δυνατότητα να επικοινωνεί κανείς με άλλους απομακρυσμένους υπολογιστές και να ανταλλάσει πληροφορίες ικανοποιούσε και μαγνήτιζε τους περισσότερους από εμάς νέους surfers (περιηγητές) τότε Web (Διαδικτύου). Οι καιροί όμως άλλαξαν και η αρχική ανάγκη της απλής επίσκεψης σε στατικού περιεχόμενου HTML ιστοσελίδες με ταχύτητες που δεν ξεπερνούσαν τα 14.4 Kbps, έδωσε την θέση της σε νέες απαιτήσεις πιο δυναμικής επικοινωνίας με άμεση συμμετοχή του χρήστη στην επιλογή της πληροφορίας που ήθελε να «κατεβάσει» τοπικά στον υπολογιστή του και με πολύ μεγάλες ταχύτητες που ξεπερνούν πλέον και τα 10 Mbps!! Έτσι γεννήθηκαν νέες τεχνολογίες και γλώσσες προγραμματισμού για το Web που πολλές απ αυτές χρησιμοποιούνται ευρήτατα μέχρι σήμερα. Όλες σχεδιάστηκαν με σκοπό να ικανοποιούν τη ολοένα και αυξανόμενη επιθυμία των χρηστών για ένα πιο «έξυπνο» Web. Από την στιγμή όμως που η Microsoft παρουσίασε τον Ιούλιο του 2000 την τεχνολογία ASP.NET άνοιξε ο δρόμος για τον προγραμματισμό του μέλλοντος στο Web [A4]. Εισαγωγή Πτυχιακή Εργασία 5
Τι είναι η ASP.NET; Η ASP.NET είναι μια καινούργια παντοδύναμη τεχνολογία κατασκευής δυναμικών Web σελίδων. Αποτελείται από την παλιά γνώριμη τεχνολογία Microsoft s Active Server Pages(ASP) και μια καινούργια την NET. Η NET είναι μια ολοκληρωμένη συλλογή από τεχνολογίες που σχεδιάστηκε από την Microsoft για να φέρει την επανάσταση στο έως τώρα τρόπο κατασκευής των ιστοσελίδων και να οδηγήσει τις εξελίξεις στον χώρο του προγραμματισμού στο Web. Βασίζεται στο προγραμματισμό του Server σε μία από τις πλήρως αντικειμενοστραφείς γλώσσες Visual Basic.NET, Visual C# ή Visual Jscript NET. Αποτελεί ένα Κεφάλαιο αυτού που ονομάζεται Microsoft.NET Framework που ενσωματώνει και άλλες συλλογές τεχνολογιών και είναι μια τεράστια εργαλειοθήκη για την δημιουργία οποιονδήποτε εφαρμογών για Windows ή για κινητές συσκευές (mobile devices) και κυρίως για το Web [A7]. Αντικειμενοστραφής Προγραμματισμός Ο αντικειμενοστραφής προγραμματισμός OOP (Object Oriented Programming) βασίζεται στην έννοια του αντικειμένου (Object) που μπορούμε να το φανταστούμε σαν μια αυτόνομη μονάδα λειτουργικότητας που έχει τις δικές του ιδιότητες (Properties) και μεθόδους (Methods) (- δηλαδή ενέργειες που μπορεί να επιτελέσει -) ή κληρονομεί (Inherits) αυτές των κλάσεων αντικειμένων (Classes) στις οποίες ανήκει (- οι κλάσεις είναι συλλογές αντικειμένων με παρόμοια χαρακτηριστικά -). Έτσι με αυτή την λογική διευκολύνεται κατά πολύ ο προγραμματισμός σε γλώσσες που την υποστηρίζουν αφού δεν χρειάζεται να γνωρίζουμε τον τρόπο με τον οποίο ένα αντικείμενο θα διεκπεραιώσει μια εργασία που του αναθέτουμε, αλλά απαιτείται μόνο να του πούμε τι θέλουμε να κάνει και να του περάσουμε τις παραμέτρους που χρειάζεται για να φέρει σε πέρας την εργασία που του αναθέσαμε [Β9]. Πτυχιακή Εργασία 6
Κεφάλαιο 1 Τα βασικά του Web Ας δούμε λοιπόν αρχικά τις βασικές έννοιες του τρόπου με τον οποίο λειτουργεί το Web, για να βεβαιωθούμε ότι κατανοούμε, πριν προχωρήσουμε στην λειτουργία της εφαρμογής. 1.1 Η αρχιτεκτονική Client Server του Web Με τον όρο αρχιτεκτονική του Web (παγκόσμιος ιστός ή Διαδίκτυο) εννοούμε το σύνολο του Hardware (υλικού) και software (λογισμικού) που απαιτείται για να λειτουργήσει ένα Web Site (διαδικτυακή τοποθεσία). Η αρχιτεκτονική αυτή στην απλούστερη της μορφή περιλαμβάνει την μεριά του Client ή πελάτη (Client Side) και αυτήν του Server ή εξυπηρετητή (Server Side). Η πρώτη (- από εδώ και στο εξής απλά Client -) αποτελείται από έναν υπολογιστή που «τρέχει» ένα ειδικό πρόγραμμα αναζήτησης ιστοσελίδων, τον Browser (αναζητητή ) π.χ MS Internet Explorer, Netscape Navigator, Opera κ.τ.λ μέσω του οποίου στέλνει μία αίτηση εξυπηρέτησης μαζί με πιθανόν κάποια στοιχεία στην Server μεριά (- από εδώ και στο εξής απλά Server -) Πτυχιακή Εργασία 7
Ο Server από την πλευρά του : «τρέχει» μία Web εφαρμογή ( Web Application ) η οποία δέχεται την αίτηση με τα δεδομένα που στέλνει ο Client, τα επεξεργάζεται, θέτει ερωτήματα στην βάση δεδομένων, παίρνει τα δεδομένα που επιστρέφει η βάση και αφού τα επεξεργαστεί στέλνει πίσω στον Client την απάντηση. 1.2 3 tier Web Αρχιτεκτονική Το παραπάνω μοντέλο επικοινωνίας που περιγράψαμε είναι γνωστό σαν 3-tier Web Architecture. Αποτελείται από : o το επίπεδο της παρουσίασης (Presentation Layer), o το επίπεδο της εφαρμογής (Application Layer), o το επίπεδο της βάσης δεδομένων (Database Layer). Πτυχιακή Εργασία 8
Α) To Presentation Layer Είναι χωρισμένο σε δύο τμήματα. Το ένα τμήμα βρίσκεται αποθηκευμένο τοπικά στον Server και αποτελεί το Web Site ενώ το άλλο εμφανίζεται στην οθόνη του Browser με την μορφή HTML σελίδας. Δημιουργεί δυναμικά όλες τις Web σελίδες και φόρμες με την βοήθεια του application layer και είναι υπεύθυνο για την παρουσίαση κειμένου, εικόνων, ήχου, video και οτιδήποτε άλλου έχει να παρουσιάσει ένα Web Site. Χρησιμοποιεί κυρίως την γλώσσα HTML για να παρουσιάσει το περιεχόμενο του Web Site στον χρήστη [A3]. Β) Το Application Layer Εδώ βρίσκεται όλη η «λογική» της Web εφαρμογής. Κάνει τα εξής: λαμβάνει και στέλνει δεδομένα στο Database Layer, λαμβάνει και στέλνει δεδομένα στο Presentation Layer, κάνει όλους τους υπολογισμούς και τις μετατροπές δεδομένων Συνήθως δέχεται τα δεδομένα από το Presentation Layer σαν μια λίστα πεδίων και τα εισάγει στο Database Layer [A3]. Γ) Το Database Layer Αυτό το layer ασχολείται με την αποθήκευση και ανεύρεση δεδομένων με κάποια μορφή που συνήθως είναι μια βάση δεδομένων αλλά όχι απαραίτητα αφού καθώς μπορούμε να χρησιμοποιήσουμε XML αρχεία για αυτό το σκοπό. Πτυχιακή Εργασία 9
Ο Server μπορεί να αποτελείται από έναν υπολογιστή που θα υλοποιεί και τα τρία layers της 3-tier Web αρχιτεκτονικής ή από περισσότερους από έναν υπολογιστές συνδεδεμένους μεταξύ τους και με το διαδίκτυο, συνθέτοντας αυτό που είναι γνωστό σαν Web Server Farm. Η λογική της χρήσης περισσοτέρων του ενός υπολογιστών στη μεριά του Server είναι πανομοιότυπη με την λογική της διάσπασης ενός πολύπλοκου προβλήματος (- εδώ της Web εφαρμογής ή Web application -), σε κομμάτια που μπορούν να αντιμετωπιστούν πιο εύκολα και πιο γρήγορα. Έτσι συνήθως έχουμε έναν ή περισσοτέρους υπολογιστές για το Presentation layer, για το Application layer και για το Database layer. Κάποιοι από αυτούς μάλιστα κρατάνε ένα πιστό αντίγραφο κάποιου άλλου έτσι ώστε σε περίπτωση δυσλειτουργίας εκείνου να συνεχίσουν αυτοί να «εξυπηρετούν» [A3]. 1.3 Το TCP/IP Οι browsers επικοινωνούν με τους Servers μέσω ενός συνόλου κανόνων και διαδικασιών που ονομάζεται TCP/IP πρωτόκολλο. Το TCP (transfer protocol) είναι ένα πρωτόκολλο μεταφοράς που «πακετάρει» τα δεδομένα σε ένα ψηφιακό φάκελο το packet και βεβαιώνεται ότι αυτά λαμβάνονται στην ίδια κατάσταση που ήταν όταν στάλθηκαν. Το IP είναι ένα πρωτόκολλο δικτύου που είναι υπεύθυνο για την δρομολόγηση των packets σ ένα δίκτυο όπως είναι εδώ το internet. Επιπρόσθετα οι Clients με τους Servers χρησιμοποιούν και ένα ανώτερο πρωτόκολλο επικοινωνίας το HTTP (Hyper Text Protocol) που καθορίζει τη γλώσσα στην οποία Πτυχιακή Εργασία 10
γράφονται τα μηνύματα επικοινωνίας που στη συνέχεια μεταφέρονται μέσω του TCP και διαμορφώνονται μέσω του IP στις σωστές IP διευθύνσεις (IP addresses) [A10]. 1.4 Το πρωτόκολλο ΗΤΤΡ To HTTP είναι ένα πρωτόκολλο του τύπου αίτηση απάντηση (Request Response) που καθορίζει ότι ο Client θα ανοίξει μια επικοινωνία με τον Server και θα του στείλει μια αίτηση για εξυπηρέτηση χρησιμοποιώντας μια πολύ συγκεκριμένη δομή αίτησης. Ο Server θα απαντήσει και θα κλείσει η σύνδεση. Το HTTP έχει την ικανότητα να μεταφέρει Web σελίδες, γραφικά και κάθε άλλο τύπο μέσου που χρησιμοποιείται από μια εφαρμογή. Είναι ουσιαστικά ένα σύνολο από μηνύματα που ο Client με τον Server ανταλλάσσουν όταν επικοινωνούν. Η ασυνεχής αυτή μορφή επικοινωνίας υποχρεώνει τα μηνύματα αυτά να περιέχουν πολλές τεχνικές πληροφορίες [A10]. 1.5 Η δομή ενός HTTP μηνύματος Κάθε HTTP μήνυμα έχει την ίδια δομή είτε πρόκειται για μήνυμα αίτησης είτε για μήνυμα απάντησης. Μπορούμε να παρατηρήσουμε τρεις τομείς στο μήνυμα : 1. την Request/Response Line (- γραμμή αίτησης/απάντησης -), 2. την HTTP Header (- επικεφαλίδα -) και Πτυχιακή Εργασία 11
3. το HTTP Body (- σώμα του μηνύματος -) Το περιεχόμενο του καθενός τομέα καθορίζεται από το εάν έχουμε μήνυμα αίτησης ή απάντησης [A10]. 1.6 HTTP Request Α) Request Line Αυτή είναι υποχρεωτική και περιέχει τα εξής: 1. μία HTTP εντολή, γνωστή σαν μέθοδο 2. την διαδρομή και το όνομα του αρχείου που ζητά ο Client από τον Server και 3. την έκδοση του HTTP πρωτοκόλλου που χρησιμοποιείται π.χ. Get/page.htm HTTP/1.1 Η μέθοδος λέει στον Server πώς να χειριστεί την αίτηση [A10]. Β) HTTP Request Header Περιέχει λεπτομέρειες σχετικά με το τι είδους πληροφορίες θα κάνει δεκτές ο Client από τον Server. Δεν είναι υποχρεωτική η παρουσία της κάθε μιας γραμμής. Ένα παράδειγμα θα μπορούσε να είναι το παρακάτω : Accept: */* Accept Language: en us Connection: Keep Alive Host: localhost Πτυχιακή Εργασία 12
Referer: http://localhost/links.asp User Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0) Accept Encoding: gzip, deflate Όπως βλέπουμε η HTTP επικεφαλίδα αποτελείται από έναν αριθμό γραμμών. Κάθε μία γραμμή περιέχει την περιγραφή της πληροφορίας που ακολουθεί, το σύμβολο :, ένα κενό και την πληροφορία. Για παράδειγμα η γραμμή User Agent μας πληροφορεί για τον τύπο του Browser που έστειλε την αίτηση, η γραμμή Accept Language μας ενημερώνει για την γλώσσα που χρησιμοποιείται στην Web σελίδα κ.τ.λ. Στο τέλος της Header ακολουθεί πάντα μία κενή γραμματοσειρα που δηλώνει το τέλος της [A10]. Γ) HTTP Request BODY Tο HTTP BODY περιέχει όλα τα δεδομένα που στέλνονται στον Server όπως για παράδειγμα δεδομένα που ο χρήστης πληκτρολόγησε σε μια φόρμα εισαγωγής στον Browser αλλιώς είναι κενό. Βέβαια εάν χρησιμοποιούμε την μέθοδο GET στην HTTP Request γραμμή, μπορεί επίσης το HTTP BODY να είναι κενό αφού τα δεδομένα μπορούν να σταλούν μέσω του URL με την μορφή Query String![A10] Πτυχιακή Εργασία 13
1.7 Τι είναι τα URLs; To HTTP χρησιμοποιεί Uniform Resource Locators (URLs) για να εντοπίσει τις σελίδες στους Web Servers. Ένα URL είναι ένας ανθρώπινα αναγνώσιμος τρόπος και υποκαθιστά τις IP διευθύνσεις που ουσιαστικά βρίσκονται κρυμμένες μέσα του και χρησιμοποιούνται για να ονοματίσουν τους υπολογιστές ενός δικτύου εδώ του Internet. Μια IP διεύθυνση έχει τη μορφή π.χ. 127.0.0.1:42424 όπου οι τέσσερις πρώτοι χωρισμένοι με τελείες αριθμοί αποτελούν το όνομα του υπολογιστή ενώ μετά την άνω και κάτω τελεία ακολουθεί η θύρα (port) στην οποία «ακούει» τις αιτήσεις που δέχεται. Ας επικεντρωθούμε τώρα στα URLs. Σίγουρα όλοι έχουμε γράψει στον Browser που χρησιμοποιούμε για να περιηγηθούμε στο Internet κάποιο URL (Uniform Resource Locators ) της μορφής : http://www.something.com/application/form.aspx?name=smith το πρώτο τμήμα του URL http:// είναι το πρωτόκολλο. Το δεύτερο είναι το όνομα του υπολογιστή που φιλοξενεί στον δίσκο του την σελίδα που αναζητούμε www.something.com (hostname) και είναι επίσης γνωστό σαν Fully Qualified Domain Name (FQDN). Το υπόλοιπο τμήμα URL application/form.aspx καθορίζει την διαδρομή (path) που θα ακολουθήσει ως σελίδα. Το τελευταίο μετά το όνομα της σελίδας εδώ?name=smith καθορίζει αυτό που είναι γνωστό ως Query String. To Query String ένας τρόπος να περνάμε παραμέτρους στην σελίδα που αναζητούμε και που θα χρησιμοποιηθούν κατάλληλα από αυτήν για δυναμική αναζήτηση και εύρεση διαφόρων πληροφοριών (- δεν είναι απαραίτητη πάντα η χρήση του -) [A2]. Πτυχιακή Εργασία 14
1.8 Τι είναι η κωδικοποίηση των URL (URL Encoding); Υπάρχει ένα σετ χαρακτηριστικών που δεν πρέπει να εμφανίζεται σ ένα URL ούτε και σ ένα query string κατ επέκταση. Αυτοί οι χαρακτήρες πρέπει να κωδικοποιούνται κάτι που είναι γνωστό σαν κωδικοποίηση των URL (URL Encoding). Η κωδικοποίηση γίνεται αυτόματα από τον browser χωρίς την παρέμβαση του χρήστη. Έτσι εμφανίζεται η ανάγκη ύπαρξης ενός μεταφραστή διευθύνσεων από την ανθρώπινα κατανοητή URL μορφή τους στην κατανοητή από τους υπολογιστές ενός δικτύου μορφή IP διεύθυνσης. Αυτός δεν είναι άλλος από τον ICANN Το ICANN είναι το «λογισμικό» τμήμα του Internet. Δημιουργήθηκε τον Οκτώβριο του 1998 και ασχολείται με: α) τα ονόματα των domains στο Internet, β) με τις IP διευθύνσεις και γ) με τις παραμέτρους των πρωτοκόλλων και τους αριθμούς θυρών Για να γίνουμε περισσότερο κατανοητοί ας σκεφτούμε την περίπτωση όπου ένας χρήστης του υπολογιστή ενός δικτύου πληκτρολογεί ένα URL τοπικό στο δίκτυο όπου είναι συνδεδεμένος. Τότε ο browser του επικοινωνεί με έναν Server του δικτύου που τρέχει μια εξυπηρέτηση (service) με το όνομα DNS (Domain Name System). Η έννοια του domain αναφέρεται σε μια συλλογή υπολογιστών που μοιράζονται το ίδιο όνομα σ ένα περιβάλλον δικτύου. Πτυχιακή Εργασία 15
Το DNS είναι υπεύθυνο για την μετάφραση του τοπικού URL στην IP διεύθυνση του κληθέντος υπολογιστή. Αν το URL που ζητά ο χρήστης είναι εξωτερικό τότε το URL αποστέλλεται στον DNS Server του Internet Corporation for Assigned Names and Numbers ή ICANN. Εκεί αντιπαρατίθεται με την IP διεύθυνση στην οποία αντιστοιχεί στο DNS μητρώο καταγραφών της υπηρεσίας και τέλος η IP διεύθυνση αποστέλλεται στον κληθέντα Web Server για να απαντήσει στην «αίτηση» του αρχικού χρήστη [A2]. 1.9 HTTP Response Α) Response Line Η γραμμή αυτή περιέχει μόνο δύο στοιχεία πληροφορίας: Τον αριθμό έκδοσης του HTTP και Έναν HTTP κωδικό κατάστασης που δηλώνει την επιτυχία ή όχι της αίτησης. π.χ. HTTP/1.1 200 OK Όπου ο κωδικός 200 δηλώνει την επιτυχή έκβαση της αίτησης [A8]. Β) HTTP Response Header Ισχύουν κι εδώ παρόμοια πράγματα με την Request Header. Ένα παράδειγμα βλέπουμε παρακάτω : Date: Mon, 1 st Nov 1999, 16:12:23 GMT Server: Microsoft IIS/5.0 Last Modified: Fri, 29 th Oct 1999, 12:08:03 GMT Πτυχιακή Εργασία 16
Όπου παρουσιάζονται η ημερομηνία και ώρα της απάντησης, το λογισμικό που τρέχει ο Server εδώ τον Microsoft Internet Information Server 5.0, καθώς και η ημερομηνία και ώρα κατά την οποία μεταβλήθηκε για τελευταία φορά η Web σελίδα που ζητήσαμε στην αίτηση μας [A8]. Γ) HTTP Response Body Εάν η αίτηση του Client ήταν επιτυχής, τότε το HTTP Response Body περιέχει τον HTML κώδικα μαζί πιθανόν με κάποια Script Client Side γλώσσα (π.χ JavaScript, VbScript) που εκτελείται στον Browser. Πρόσθετες αιτήσεις γίνονται κατά την εκτέλεση από τον Browser του παραπάνω HTML κώδικα για την μεταφορά από τον Server εικόνων και άλλου πολυμεσικού (Multimedia) υλικού [Α8]. 1.10 Τι είναι οι στατικές ιστοσελίδες; Ουσιαστικά είναι σελίδες γραμμένες σε γλώσσα HTML που έχουν αποθηκευτεί στον Server με την προέκταση.htm ή.html. O δημιουργός τους γνώριζε το περιεχόμενο τους από την αρχή πολύ πριν δηλαδή τις επισκεφτεί κάποιος χρήστης. Τα περιεχόμενα τους είναι κείμενο, εικόνες, σύνδεσμοι προς άλλες Web τοποθεσίες (Hyperlinks) κ.τ.λ. και η εμφάνιση τους είναι σταθερή πάντα η ίδια εκτός και αν ο δημιουργός τους αποφασίσει να τις αλλάξει ή να τις δημιουργήσει από την αρχή [A5]. Πτυχιακή Εργασία 17
1.11 Τι είναι η HTML; Στα 1989 ο Tim Berners Lee του CERN άρχισε να δημιουργεί μια νέα τεχνολογία για την ανταλλαγή πληροφοριών με την χρήση συνδεδεμένων εγγράφων κειμένου. Βάσισε την καινούργια του γλώσσα στην ήδη υπάρχουσα SGML (Standard Generalized Markup Language) που ήταν ένα πρότυπο για την μεταφορά δεδομένων στον χώρο των εταιρειών. Ονόμασε την γλώσσα του HyperText Markup Language (HTML) και δημιούργησε και τα πρωτόκολλα επικοινωνίας για ένα νέο σύστημα ανταλλαγής διασυνδεδεμένης πληροφορίας κειμένου που προσδιόρισε με το όνομα World Wide Web (παγκόσμιος διευρυμένος ιστός). Έτσι γεννήθηκε η γνωστή σε όλους HTML πάνω στην οποία βασίζονται όλες οι σύγχρονες ιστοσελίδες. Από την στιγμή δε που στα 1994 ιδρύθηκε (- από τον ίδιο -) ο παγκόσμιος οργανισμός θέσπισης προτύπων (Standards) για το Web με το όνομα World Wide Web Consortium (w3c), τα πράγματα πήρανε τον δρόμο τους και ακολούθησε μια «έκρηξη» που οδήγησε σε αυτό που όλοι μας σήμερα χρησιμοποιούμε και απολαμβάνουμε, το Internet [A9]. Μια στατική ιστοσελίδα έχει την δομή : <html> <head> <title>τίτλος</title> </head> <body> Περιεχόμενο σελίδας... </body> </html> Πτυχιακή Εργασία 18
1.13 Τι είναι οι δυναμικές ιστοσελίδες; Είναι οι ιστοσελίδες που δημιουργούνται μετά την αίτηση του χρήστη, με δυναμικό τρόπο από τον Server. 1.14 Πώς εξυπηρετούνται οι δυναμικές ιστοσελίδες; Οι δυναμικές ιστοσελίδες μπορούν να εξυπηρετηθούν με δύο διαφορετικούς τρόπους είτε: o Από την μεριά του Client (Client Side Dynamic Web Pages ) είτε o Από την μεριά του Server (Server Side Dynamic Web Pages ) 1.15 Client Side Dynamic Web Pages Οι δυναμικές σελίδες που εξυπηρετούνται απ τη μεριά του Client, αποτελούνται από την HTML σελίδα που συνοδεύεται και από ένα άλλο αρχείο που περιέχει εντολές (- αναφορά στο αρχείο αυτό γίνεται μέσα στην HTML σελίδα -). Οι εντολές αυτές μπορεί να περιέχονται «εσωτερικά» και μέσα στην HTML της σελίδας και απαιτούν την ύπαρξη στον Browser κάποιου πρόσθετου module ( ή plug in) έτσι ώστε να γίνει η μετάφραση και εκτέλεση τους απ αυτόν κατά την εμφάνιση της DHTML (Dynamic HTML) σελίδας [A4]. Πτυχιακή Εργασία 19
1.16 Server Side Dynamic Web Pages Στην περίπτωση των Server Side δυναμικών ιστοσελίδων, γράφεται η HTML μαζί με κώδικα που θα εκτελεστεί στον Server αλλά αυτή τη φορά θα έχουμε την δημιουργία της HTML στον Server κι όχι στον Client [A4]. Πτυχιακή Εργασία 20
Κεφάλαιο 2 Client Side τεχνολογίες για την προσφορά δυναμικού περιεχομένου στο Web Όπως είπαμε κάθε μία από τις τεχνολογίες αυτές βασίζεται στην ύπαρξη κάποιου module ή plug in στον Browser για την εκτέλεση των εντολών του Client Side κώδικα. Χρησιμοποιούμε δε κυρίως περιορισμένων δυνατοτήτων γλώσσες προγραμματισμού (Scripts) παρά πλήρεις γλώσσες. Οι κυριότερες τεχνολογίες αυτής της κατηγορίας είναι : 2.1 JavaScript και Jscript Η JavaScript είναι η κύρια για την γραφή Client Side κώδικα (Scripting Language) και δημιουργήθηκε αρχικά από την Netscape με την μορφή της LiveScript. Στη συνέχεια η Netscape ένωσε τις δυνάμεις της με την Sun και στην πορεία η νέα γλώσσα ονομάστηκε JavaScript. Δεν πρέπει να συγχέεται με την Java που είναι μια πλήρης γλώσσα για την δημιουργία εφαρμογών αν και δανείζεται πολλά από την σύνταξη αυτής της γλώσσας και κατ επέκταση της γλώσσας C στην οποία και οι δύο μοιάζουν. Μπορεί να ελέγξει την συμπεριφορά και το περιεχόμενο του Browser αλλά όχι και δυνατότητες όπως ο χειρισμός των αρχείων στον Client για λόγους ασφαλείας. Είναι Πτυχιακή Εργασία 21
εύκολη στην εκμάθηση της και έχει σχεδιαστεί για να δημιουργεί μικρές και ικανές εφαρμογές που εκτελούν επαναλαμβανόμενες εργασίες ή απαντούν σε συμβάντα που δημιουργούνται από τον χρήστη όπως λειτουργίες του ποντικιού, πατήματα πλήκτρων του πληκτρολογίου κ.τ.λ. Η Microsoft παρουσίασε στην έκδοση 3.0 του Internet Explorer την δική της εκδοχή για την γλώσσα γνωστή σαν Jscript. Από τότε μέχρι και σήμερα την υποστηρίζει και την εμπλουτίζει κάνοντας την πιο δυνατή. Ο Ευρωπαϊκός Οργανισμός Κατασκευαστών Υπολογιστών (European Computer Manufacturer s Association) παρουσίασε ένα πρότυπο γλώσσας με την ονομασία ECMAScript ή ECMA 262 που περιέχει τις βασικές δυνατότητες των JavaScript και Jscript. Οι IE 4.0 και NetScape Navigator 4.06 και οι μεταγενέστερες εκδόσεις τους υποστηρίζουν την ECMA 262 αν και ο κάθε ένας από αυτούς τους Browsers έχει και επιπλέον δικές του δυνατότητες [B5]. 2.2 VBScript Από την έκδοση 3.0 του IE η Microsoft παρουσίασε μια δική της Scripting γλώσσα βασισμένη στην Visual Basic την VBScript. Αν και δημιουργήθηκε για να ανταγωνιστεί την JavaScript, εν τούτοις ποτέ της δεν τα κατάφερε αφού υπολείπεται απ αυτήν σε ταχύτητα και λειτουργικότητα. Ακόμη δεν υποστηρίζεται από όλους τους Browsers και μπορεί να χρησιμοποιηθεί μόνο σε κάποιο Intranet (εσωτερικό δίκτυο) όπου όλοι οι υπολογιστές τρέχουν τον IE. Και για τις δύο προαναφερθείσες Scripting γλώσσες υπάρχει «χτισμένο» εσωτερικά στον IE ένα module που επεξεργάζεται τις εντολές τους και «ακούει» στο όνομα Script Engine [A6]. Πτυχιακή Εργασία 22
2.3 ActiveX Controls Ένα ActiveX Control δεν είναι παρά ένα πλήρες πρόγραμμα ή καλύτερα συστατικό (component) γραμμένο σε κάποια από τις γλώσσες C++ ή Visual Basic, που αν προστεθεί σε μια Web σελίδα παρέχει μια εξειδικευμένη Client side λειτουργικότητα όπως π.χ. ένα γράφημα (Chart), ένας χρονομετρητής (Timer), πρόσβαση σε βάση δεδομένων κ.τ.λ. Τα ActiveX Controls εισάγονται μέσα στην HTML της σελίδας με την χρήση του <Object> tag το οποίο είναι πλέον μέρος της standard HTML. Δημιουργήθηκαν από την Microsoft αλλά δεν υποστηρίζονται από άλλους Browsers χωρίς την χρήση ActiveX plug ins. Σε αντίθεση με τις Scripting γλώσσες μπορούν να επέμβουν στο σύστημα αρχείων του Client καθώς και στη Registry των Windows και γι αυτό το λόγο η χρήση τους ελλοχεύει κινδύνους για την ασφάλεια του υπολογιστή. Τελευταία έχει εξασθενίσει πολύ η χρήση τους στη κατασκευή δυναμικών σελίδων [B2]. 2.4 Java Applets Η Java είναι μια γλώσσα για την δημιουργία εφαρμογών που όταν εμφανίστηκε στα μέσα της δεκαετίας του 90 έκανε ιδιαίτερη εντύπωση γιατί προσφέρει καλύτερη λειτουργικότητα στον χειρισμό των αρχείων και στα γραφικά απ ότι οι Scripting γλώσσες. Η χρήση του Java κώδικα στην HTML γίνεται με την μορφή applets που είναι Java components που εισάγονται με την χρήση του <applet> tag. Η Java επιτρέπει την εκτέλεση των applets χωρίς κινδύνους για το σύστημα και προσφέρει ισχυρή υποστήριξη για τις βάσεις δεδομένων μέσω του JDBC (Java Database Component). Οι Browsers της Microsoft και της Netscape υποστηρίζουν την Java μέσω της JVM (Java Virtual Machine) που περιέχουν εσωτερικά. Ο Browser κατεβάζει ένα Java αρχείο από τον Server και το εκτελεί μέσω της JVM. Βέβαια παρατηρείται μία καθυστέρηση κατά το κατέβασμα και την εκτέλεση του Java αρχείου ειδικά εάν το μέγεθος του είναι μεγάλο γι Πτυχιακή Εργασία 23
αυτό και οι μεγάλες Java εφαρμογές δεν είναι τόσο διαδεδομένες όσο οι σελίδες που χρησιμοποιούν Scripts. Αν και η Java δεν είναι πλέον τόσο δημοφιλής είναι ένα αρκετά καλό εργαλείο για τον προγραμματισμό Web εφαρμογών [B15]. Πτυχιακή Εργασία 24
Κεφάλαιο 3 Server Side τεχνολογίες για την προσφορά δυναμικού περιεχομένου στο Web Κάθε μια από αυτές τις τεχνολογίες βασίζεται στην εκτέλεση του Server Side κώδικα στον Server και στην δημιουργία HTML που μαζί με τον Client Side κώδικα επιστρέφεται στον Browser. Είναι σχετικά εύκολες στην εκμάθηση τους εκτός ίσως από το CGI και προσφέρουν ένα πιο ολοκληρωμένο προγραμματιστικά περιβάλλον σε σχέση με τις Scripting γλώσσες. 3.1 CGI Το Common Gateway Interface (CGI) είναι ένας μηχανισμός για την δημιουργία τμημάτων κώδικα (scripts) στον Server που μετά μπορούν να χρησιμοποιηθούν για την δημιουργία δυναμικών Web εφαρμογών. To CGI είναι ένα module που προστίθεται στον Web Server. Έχει πολύ καιρό που εμφανίστηκε και σήμερα ένα μεγάλο ποσοστό δυναμικά δημιουργούμενων ιστοσελίδων βασίζεται στο CGI και σε μια Scripting γλώσσα. Το CGI επιτρέπει στον χρήστη να καλέσει ένα πρόγραμμα στον Web Server όπως π.χ. κώδικα γραμμένο στην γλώσσα Perl (Perl script) και το CGI είναι αυτό που περνάει τα δεδομένα που δίνει ο χρήστης σε αυτό το πρόγραμμα για επεξεργασία. Δεν είναι εύκολο στην εκμάθηση του και καταναλώνει πολλούς πόρους στον Server. Απαιτεί μια γλώσσα πολύ ικανή σε θέματα επεξεργασίας κειμένου και επικοινωνίας με άλλο λογισμικό και τέτοιες είναι οι δύσκολες στην εκμάθηση C, C++ και Perl. Είναι διαδεδομένο σε Πτυχιακή Εργασία 25
συστήματα με UNIX λειτουργικό και επειδή τρέχει σε πολλές διαφορετικές πλατφόρμες θα συνεχίσει να υπάρχει και στα χρόνια που έρχονται [A3]. 3.2 JSP Η JavaServer Pages (JSP) είναι μια τεχνολογία που επιτρέπει τον συνδυασμό HTML ή XML με Java κώδικα για την δυναμική δημιουργία ιστοσελίδων. Ένα από τα κύρια πλεονεκτήματα της JSP είναι η δυνατότητα μεταφοράς του κώδικα ανάμεσα σε διαφορετικούς Servers. Είναι επίσης ισχυρή, γρήγορη και οικεία στους προγραμματιστές της Java. Ο IIS 4.0/5.x διαθέτει plug in για την υποστήριξη της [B12]. 3.3 PHP Η PHP (Personal Home Pages ή PHP HyperText Preprocessor) είναι μια ακόμη Scripting γλώσσα για την δημιουργία δυναμικών ιστοσελίδων. Όταν ο χρήστης επισκέπτεται μια σελίδα, ο Server επεξεργάζεται τις PHP εντολές και στέλνει το αποτέλεσμα στον Browser. Είναι τεχνολογία ανοιχτού πηγαίου κώδικα προσβάσιμου σε οποιονδήποτε και τρέχει σε πολλές υπολογιστικές πλατφόρμες. Μπορεί να τρέξει στα Windows NT και στο UNIX και σε δυαδική (binary) μορφή σαν CGI. Στον Apache Server τρέχει σαν module και είναι ιδιαίτερα γρήγορη. Πτυχιακή Εργασία 26
Παρουσιάζεται κάποια πολυπλοκότητα κατά την εγκατάσταση της σ έναν Server και υπολείπεται στην διαχείριση των Session της ASP. Η σύνταξη της είναι παρόμοια της C και της Perl και προσφέρει ευκολία στην οργάνωση του κώδικα της μέσω κάποιων αντικειμενοστραφών χαρακτηριστικών της [B4]. 3.4 ASP Η ASP (Active Server Pages) (- που χαρακτηρίζεται πλέον σαν κλασσική ASP από την στιγμή που εμφανίστηκε η ASP.NET -) στηρίζεται σε Scripting γλώσσες όπως η JavaScript ή η VBScript ή ακόμη και η PerlScript για την δημιουργία δυναμικών ιστοσελίδων. Είναι ένα module το ASP.dll που τρέχει στον Server και μετατρέπει τις JavaScript/VBScript σε HTML στον Server. Το μεγάλο της πλεονέκτημα είναι ότι μας επιτρέπει να χρησιμοποιήσουμε όλη την λειτουργικότητα των Windows όπως πρόσβαση σε βάσεις δεδομένων, γραφικά, υπηρεσίες ηλεκτρονικού ταχυδρομείου (e-mailing) καθώς και συναρτήσεις συστήματος (System functions) και όλα αυτά μέσα από μια τυπική ASP σελίδα. Παρόλα αυτά είναι σχετικά αργή και περιορίζεται από την χρήση των Scripting γλωσσών απ όπου αντλούν την καταγωγή τους και έτσι τα προγράμματα γίνονται αναγκαστικά μεγαλύτερα και πιο πολύπλοκα απ ότι θα ήταν απαραίτητο. Η ASP.NET έρχεται να διορθώσει όλα αυτά τα μειονεκτήματα και να προσφέρει νέα πλεονεκτήματα έτσι ώστε να καθίσταται πλέον ο αδιαφιλονίκητος πρωταγωνιστής στον χώρο των Server Side τεχνολογιών για την δημιουργία δυναμικών ιστοσελίδων [B2]. Πτυχιακή Εργασία 27
3.5 Visual Basic.NET Η Visual Basic είναι μια ιστορική γλώσσα με αρκετά χρόνια παρουσίας στον χώρο κυρίως του προγραμματισμού των προσωπικών υπολογιστών. Ποίος δεν θυμάται τις πρώτες εκδόσεις της γλώσσας για το MS-DOS και αργότερα για τα Windows που από την έκδοση της Visual Basic 5.0 και μετά άρχισαν να πείθουν ότι μπορούν ίσως να αποτελέσουν μια εναλλακτική λύση για την κατασκευή εφαρμογών για τα Windows και να μπορέσουν να αντιμετωπίσουν τους ισχυρότερους και πληρέστερους όπως οι : Borland Delphi (Visual Pascal), C++ κ.τ.λ. Η έκδοση 6.0 της γλώσσας έδειξε το τι θα ακολουθήσει και με τον ερχομό του Visual Studio.NET που ενσωμάτωνε την Visual Basic.NET (- έκδοση 7.0 της γλώσσας -) έγινε πλήρως αντικειμενοστραφής και ισχυρή και μη έχοντας πλέον τίποτα να ζηλέψει από τις άλλες γλώσσες που υποστηρίζει το.net Framework και το CLR όπως η Visual C#.NET, η Visual C++.NET, Jscript κ.τ.λ. έγινε η γλώσσα επιλογής για χιλιάδες προγραμματιστές σε όλο τον κόσμο όχι μόνο για την ανάπτυξη εφαρμογών για τα Windows αλλά και για το Web [Α6]. 3.6 ASP.NET Θα μπορούσαμε να πούμε πως η ASP και η ASP.NET στηρίζεται στην ύπαρξη ενός module στον Server του aspnet_isapi.dll που όμως δεν κάνει όλη την «δουλειά» μόνο του αλλά «περνάει» ένα σημαντικό μέρος της στο.net Framework. Το.Net Framework εγκαθίσταται πρώτο στον υπολογιστή μας κατά την εγκατάσταση του Visual Studio NET ή του NET Framework SDK και αποτελεί τον πυρήνα λειτουργίας της ASP.NET. Η δομή του είναι η εξής : MS Intermediate Language: Όλος ο κώδικας που γράφουμε μεταφράζεται (compiled) σε μια ενδιάμεση γλώσσα την MSIL ανεξάρτητα από το ποια γλώσσα χρησιμοποιούμε δηλαδή Visual Basic.NET ή C#.NET ή Jscript.NET. Πτυχιακή Εργασία 28
Common Language Runtime (CLR): Είναι ένα πολύπλοκο συστημα υπεύθυνο για την εκτέλεση του MSIL κώδικα..νετ Framework Class Libraries: Είναι βιβλιοθήκες κώδικα που περιέχουν μια υπέρογκη «ποσότητα λειτουργικότητας» που μπορούμε να χρησιμοποιήσουμε στις εφαρμογές μας..net Languages: Είναι γλώσσες προγραμματισμού πλήρεις και ισχυρές που υιοθετούν το αντικειμενοστραφές πρότυπο προγραμματισμού OOP (Object Oriented programming). Μία από αυτές είναι και η Visual Basic.NET. ASP.NET: αποτελεί τον τρόπο με τον οποίο το.net Framework έρχεται σε επαφή με το Web. Είναι μια τεχνολογία κατασκευής δυναμικών ιστοσελίδων που επιτρέπει στον IIS να χειριστεί α) σελίδες με την προέκταση.aspx τις καλούμενες Web φόρμες (Web Forms) και β) XML Web υπηρεσίες (XML Web Services) που είναι μια νέα επαναστατική τεχνολογία που επιτρέπει την ανταλλαγή δεδομένων και τμημάτων κώδικα ανάμεσα σε ετερογενή συστήματα με την μορφή XML μηνυμάτων. ADO.NET: Είναι ένα σύνολο από κλάσεις που παρέχουν υποστήριξη για πρόσβαση σε δεδομένα στο.νετ Framework. Είναι σχεδιασμένο να υποστηρίζει την XML. CLS (Common Language Specifications): Είναι ένα σύνολο κανόνων που όλες οι συμβατές με αυτό γλώσσες πρέπει να ακολουθούν εξασφαλίζοντας έτσι ότι όλες αυτές οι γλώσσες έχουν ένα κοινό σετ χαρακτηριστικών. Windows forms: Είναι το τμήμα του.net Framework που υποστηρίζει την δημιουργία Windows εφαρμογών. Πτυχιακή Εργασία 29
Windows και COM+ services: Στην βάση του.net Framework υπάρχει το Win32 API (Applications Programming Interface) των Windows και το COM+ (Component Object Model +) που αποτελούν τα θεμέλια της τεχνολογίας της Microsoft για την ανάπτυξη εφαρμογών. Παρακάτω φαίνεται ο τρόπος λειτουργίας του.net Framework κατά την εξυπηρέτηση μιας ASP.NET σελίδας: o Ο Client ζητάει μια σελίδα.aspx από τον Server o O Server εντοπίζει την σελίδα. o Ο Server στέλνει την σελίδα αρχικά στο aspnet_isapi.dll το οποίο με την σειρά του την περνάει στο CLR όπου εάν ο κώδικας δεν είχε μεταφραστεί από πριν, μεταφράζεται και εκτελείται δημιουργώντας έτσι ένα HTML ρεύμα (HTML Stream). Όπως φαίνεται και στο παρακάτω σχήμα το Visual Studio.NET προσφέρει πρόσβαση σε όλο το φάσμα του.net Framework και αυτό είναι που το κάνει τόσο σημαντικό στην ανάπτυξη.net εφαρμογών [Α1]. Πτυχιακή Εργασία 30
Κεφάλαιο 4 Εγχειρίδιο οδηγιών 4.1 Ποίο είναι το απαραίτητο λογισμικό; Όλες οι εφαρμογές θα μπορούσαν να γραφούν με την χρήση ενός απλού επεξεργαστή κειμένου όπως το Notepad και να εκτελεστούν αφού εγκαταστήσετε στον υπολογιστή σας το.net Framework SDK οποίο μπορείτε να κατεβάσετε δωρεάν από το site της Microsoft www.microsoft.com/net (~ 100 ΜΒ). Όπως η ευκολία που μας παρέχει το περιβάλλον εργασίας του Visual Studio Net κάνει επιτακτική την ανάγκη εγκατάστασης του στον υπολογιστή σας εάν θέλετε να εργαστείτε δημιουργώντας ASP.NET εφαρμογές σε ένα σύγχρονο και ισχυρό περιβάλλον ανάπτυξης εφαρμογών. Στην εφαρμογή μας χρησιμοποιούμε το Visual Studio NET 2002, σε υπολογιστή με λειτουργικό σύστημα Windows 2003 Server με εγκαταστημένο τον IIS (Internet Information Server) 5.0 και με τον MS Internet Explorer 6.0 ( απαιτείται τουλάχιστον η έκδοση 5.5). Η εφαρμογή βασίζει την παρουσίαση της στο περιβάλλον εργασίας του Visual Studio NET και χρησιμοποιεί τον SQL Server 2000 για την διαχείριση της βάσης δεδομένων που χρησιμοποιεί. Πιο συγκεκριμένα χρειάζεται να έχετε εγκαταστήσει τα ακόλουθα: Πτυχιακή Εργασία 31
Microsoft Windows 2000 Professional (προτείνεται η εγκατάσταση του Service Pack 3 ή μεγαλύτερου) ή XP, ή Windows Server 2003 (προτείνεται η Web Edition) Microsoft Internet Explorer 5.5 ή μεγαλύτερη έκδοση ( η έκδοση 6.0 προτείνεται) Internet Information Services IIS 5.0 (πρέπει να έχει εγκατασταθεί πριν το Visual Studio NET. Στα Windows Server 2003 υπάρχει ο IIS 6.0 και το ΝΕΤ Framework 1.1 είναι προεγκαταστημένο οπότε δεν θα χρειαστεί να εγκατασταθεί ξανά κατά την εγκατάσταση του Visual Studio.NET) Microsoft SQL Server 2000 (Personal, Standard, ή Enterprise Edition, το SP3 προτείνεται. Πρέπει να έχει εγκατασταθεί πριν το Visual Studio NET) Το Visual Studio.NET 2002 ή Visual Studio.NET 2003 (http://www.msdn.microsoft.com/vstudio) Με την σύντμηση SP (Service Pack) αναφερόμαστε σε πρόσθετα αρχεία που πρέπει να «κατεβάσετε» και να εγκαταστήσετε τοπικά στον υπολογιστή σας για να αποκτήσει την λειτουργικότητα που προσφέρουν. Θα τα βρείτε να διατίθενται δωρεάν στο Site της Microsoft www.microsoft.com [Α1]. Πτυχιακή Εργασία 32
4.2 Διαδικασία εισόδου στην εφαρμογή Ανοίγοντας ο χρήστης τον browser βρίσκεται στην φόρμα εισόδου της εφαρμογής, η οποία ζητάει από τον χρήστη να συμπληρώσει το όνομα του και τον κωδικό πρόσβασης του. Εικόνα 4.1: Η φόρμα εισόδου της εφαρμογής Σκοπός της φόρμας είναι η μη ελεύθερη πρόσβαση μη επιθυμητών χρηστών οι οποίοι θα μπορούσαν να αλλοιώσουν ή να καταστρέψουν στοιχεία. Σε περίπτωση που ο χρήστης δώσει λάθος όνομα ή κωδικό πρόσβασης ή δεν συμπληρώσει σωστά τα στοιχεία τότε εμφανίζεται παράθυρο που ζητάει από τον χρήστη την σωστή συμπλήρωση των στοιχείων. Εικόνα 4.2: Εμφάνιση παραθύρου προειδοποίησης λανθασμένης συμπλήρωσης στοιχείων Πρέπει να σημειωθεί ότι η δήλωση πιστοποιημένου χρήστη γίνεται μόνο με καταχώριση του μέσα από την βάση (SQL Server) και όχι μέσα από την εφαρμογή, ο λόγος είναι ότι Πτυχιακή Εργασία 33
οι χρήστες αυτής της εφαρμογής δεν μπορεί να είναι πάνω από δύο ή τρία άτομα για την αποφυγή λανθασμένων κατοχυρώσεων. Εφόσον ο χρήστης συμπληρώσει σωστά τα στοιχεία του και πιστοποιηθεί από την βάση τότε έχει πρόσβαση στην εφαρμογή. 4.3 Καταχώρηση νέας συσκευής Μετά την διαδικασία πιστοποίησης στον browser εμφανίζεται νέα φόρμα αποτελούμενη από δύο πλαίσια. Το δεξιό πλαίσιο αποτελείται από μια καινή φόρμα η οποία αλλάζει ανάλογα με τις επιλογές που κάνουμε, ενώ στο αριστερό πλαίσιο βλέπουμε μια σειρά από κουμπιά. Εικόνα 4.3: Η κεντρική σελίδα της εφαρμογής Για πρακτικούς λόγους θα ασχοληθούμε πρώτα με το αριστερό πλαίσιο. Το πλαίσιο αυτό αποτελείται από δύο πίνακες : ΣΥΣΚΕΥΕΣ ΔΙΑΜΟΡΦΩΣΗ Πτυχιακή Εργασία 34
Διαχείριση του πίνακα Διαμόρφωση (Πρώτο Μέρος) Πάλι για πρακτικούς λόγους θα ξεκινήσουμε με την ανάλυση του πίνακα ΔΙΑΜΟΡΦΩΣΗ Εικόνα 4.4: Ο πίνακας διαμόρφωση Ο πίνακας αυτός αποτελείται από πέντε κουμπιά: Τύπος Μοντέλο Κατάσταση Τοποθεσία Λογισμικό Τύπος: Διαλέγοντας την επιλογή Τύπος εμφανίζεται μια νέα φόρμα με την ονομασία Τύπος, σκοπός αυτής της φόρμας είναι η καταχώρηση τύπου συσκευών που αποτελούν εξοπλισμό του Τ.Ε.Ι, τέτοιες συσκευές μπορεί να είναι η οθόνη ενός υπολογιστή, modem, fax, Pc κ.τ.λ. Πτυχιακή Εργασία 35
Εικόνα 4.5: Η φόρμα Τύπος Η φόρμα αυτή, όπως και οι υπόλοιπες που αποτελούν μέρος του πίνακα Συσκευές έχουν την ίδια μορφή και ακριβώς την ίδια λειτουργία. Κάθε φόρμα αποτελείται από ένα κενό πεδίο, ένα κουμπί και έναν πίνακα που περιέχει δεδομένα. Για την καταχώρηση νέου τύπου συσκευής ο χρήστης συμπληρώνει το όνομα της συσκευής στο κενό πεδίο και επιλέγει Καταχώρηση, ταυτόχρονα ο τύπος αποθηκεύεται στην βάση και εμφανίζεται στον πίνακα που προβάλει όλους τους τύπους συσκευής. Στην ίδια φόρμα ο χρήστης μπορεί να επέμβει στον τύπο συσκευής είτε ανανεώνοντας τον ονομαστικά, είτε διαγράφοντας τον από την λίστα. Η διαδικασία είναι απλή και γίνεται ως εξής. Στο αριστερό μέρος κάθε γραμμής του πίνακα προβολής λίστας είναι εγκαταστημένα δύο υπερσύνδεσμοι (Τροποποίηση Διαγραφή). Αν ο χρήστης θέλει να διαγράψει τον συγκεκριμένο τύπο δεν έχει παρά να επιλέξει Διαγραφή, εκτελώντας αυτήν την εντολή εμφανίζεται ένα νέο παράθυρο ζητώντας την επιβεβαίωση της εντολής, ο λόγος αυτής της παρέμβασης γίνεται προληπτικά σε περίπτωση που η εντολή δοθεί εσφαλμένα. Εικόνα 4.6: Εμφάνιση παραθύρου προειδοποίησης διαγραφής πεδίου Πτυχιακή Εργασία 36
Αν ο χρήστης επιθυμεί να αλλάξει το όνομα του τύπου συσκευής επιλέγει Τροποποίηση, εκτελώντας την εντολή ο πίνακας αλλάζει μορφή και στη θέση του υπερσύνδεσμου Τροποποίηση εμφανίζονται δύο νέοι υπερσύνδεσμοι (Ανανέωση Ακύρωση, επιπλέον το όνομα του τύπου εμφανίζεται μέσα σε πεδίο (textbox) στο οποίο ο χρήστης έχει την δυνατότητα να επέμβει και να αλλάξει το όνομα του τύπου, εφόσον έχει ανανεωθεί το όνομα του τύπου πατώντας Ανανέωση η αλλαγή αποθηκεύεται στην λίστα. Η εντολή Ακύρωση έχει χρήση σε περίπτωση ακύρωσης της διαδικασίας Εικόνα 4.7: Ανανέωση πεδίου Όπως αναφέρθηκε κάθε φόρμα των παρακάτω επιλογών έχει την ίδια μορφή και λειτουργία όπως ακριβώς η φόρμα ΤΥΠΟΣ, γι αυτό θα περιοριστούμε στην έννοια και λειτουργία κάθε επιλογής. Μοντέλο: Ρόλος της φόρμας είναι η καταχώρηση μοντέλων συσκευών με την ονομασία που έχει δοθεί από την εταιρία παραγωγής, όπως και στην Τύπος, τέτοιες συσκευές μπορεί να είναι η οθόνη ενός υπολογιστή, modem, fax, Pc κ.τ.λ. Κατάσταση: Ρόλος της φόρμας είναι η καταχώρηση της κατάστασης στην οποία βρίσκεται μια συσκευή. Για παράδειγμα μια συσκευή μπορεί να είναι ενεργή, ανενεργή, είτε να βρίσκεται σε περίοδο service. Τοποθεσία: Ρόλος της φόρμας είναι η καταχώρηση όλων των χώρων που είναι εγκαταστημένες συσκευές (εργαστήρια, αίθουσες, γραφεία). Πτυχιακή Εργασία 37
Λογισμικό: Ρόλος της φόρμας είναι η καταχώρηση των Λογισμικών που περιέχουν οι συσκευές. Σκοπός της καταχώρησης των παραπάνω επιλογών είναι η ομαδοποίηση των δεδομένων έτσι ώστε η καταχώρηση συσκευών να είναι πιο εύκολη καθώς ο χρήστης δεν θα είναι αναγκασμένος κάθε φορά που προβαίνει σε καταχώρηση να συμπληρώνει νέα λογισμικά, νέα μοντέλα κ. τ. λ Διαχείριση του πίνακα Συσκευές (Δεύτερο Μέρος) Ο πίνακας αυτός αποτελείται από δύο κουμπιά : Νέα Καταχώρηση Τροποποίηση Εικόνα 4.8: Ο πίνακας συσκευές Καταχώρηση Νέας Συσκευής Η καταχώρηση νέας συσκευής πραγματοποιείται με την επιλογή του κουμπιού Νέα καταχώρηση. Επιλέγοντας Νέα Καταχώρηση βλέπουμε ότι στο δεξιό μέρος του browser εμφανίζεται νέος πίνακας με μια σειρά από κενά πεδία, λίστες δεδομένων και Πτυχιακή Εργασία 38
κουμπιά διαφόρων επιλογών, για την αποφυγή οποιασδήποτε πολυπλοκότητας θα αναλύσουμε βήμα προς βήμα την διαδικασία καταχώρησης. Εικόνα 4.9: Η φόρμα καταχώρησης νέας συσκευής ΥΠΕΥΘΥΝΟΣ : Συμπληρώνεται το όνομα του υπεύθυνου καθηγητή ή διοικητικού υπαλλήλου που έχει στην αρμοδιότητα του την ευθύνη της συσκευής. ΤΟΠΟΘΕΣΙΑ : Επιλέγεται η αίθουσα, το εργαστήριο ή το τμήμα που είναι εγκαταστημένη η συσκευή. Πτυχιακή Εργασία 39
ΤΥΠΟΣ : Επιλέγεται ο τύπος της συσκευής, η συσκευή αυτή όπως αναφέραμε μπορεί να είναι PC, modem, εκτυπωτικό, air condition κ. τ. λ ΜΟΝΤΕΛΟ : Επιλέγεται το μοντέλο της συσκευής. Και στις τρεις αυτές περιπτώσεις ο χρήστης καλείται να επιλέξει στοιχεία που έχουν είδη καταχωρηθεί στον πίνακα ΔΙΑΜΟΡΦΩΣΗ. Αν δεν υπάρχει το απαιτούμενο στοιχείο ο χρήστης πρέπει να επιστρέψει στον πίνακα ΔΙΑΜΟΡΦΩΣΗ και να το συμπληρώσει, γι αυτό είναι χρήσιμο ο χρήστης πριν προβεί σε νέα καταχώρηση να ελέγχει τα καταχωρημένα στοιχεία του πίνακα ΔΙΑΜΟΡΦΩΣΗ και αν υπάρχει έλλειψη στοιχείων να τα καταχώρηση. ΣΕΙΡΙΑΚΟΣ ΑΡΙΘΜΟΣ : Συμπληρώνεται ο σειριακός αριθμός της συσκευής. ΚΑΤΑΣΤΑΣΗ : Επιλέγεται η κατάσταση της συσκευής, όπως και σε μερικές από τις προηγούμενες περιπτώσεις, έτσι και εδώ ο χρήστης επιλέγει στοιχεία που είδη έχουν καταχωρηθεί στον πίνακα ΔΙΑΜΟΡΦΩΣΗ. ΗΜΕΡΟΜΗΝΙΑ ΑΓΟΡΑΣ : Συμπληρώνεται η ημερομηνία αγοράς της συσκευής. Προσοχή ο τρόπος εισαγωγής της ημερομηνίας παρουσιάζεται στην φόρμα και πρέπει να διατηρείται έτσι. ΕΓΓΥΗΣΗ : Συμπληρώνονται η περίοδος εγγύησης της συσκευής σε μήνες. ΗΜΕΡΟΜΗΝΙΑ ΤΕΛΕΥΤΑΙΟΥ SERVICE : Συμπληρώνεται η ημερομηνία τελευταίου service της συσκευής. Πτυχιακή Εργασία 40
ΕΓΓΥΗΣΗ : Συμπληρώνεται η περίοδος εγγύησης της συσκευής από το τελευταίο service σε μήνες. Τα στοιχεία που ζητούνται να συμπληρωθούν παρακάτω αναφέρονται μόνο στις συσκευές που περιλαμβάνουν κάποια από αυτά. Διαφορετικά δεν συμπληρώνονται. MEMORY: Συμπληρώνεται η μνήμη της συσκευής αν υπάρχει. HDD: Συμπληρώνεται ο σκληρός δίσκος της συσκευής. CD DVD: Συμπληρώνεται το μοντέλο cd dvd της συσκευής. OTHER: Συμπληρώνεται οποιαδήποτε άλλη πληροφορία που είναι απαραίτητη για την αναγνώριση της συσκευής. Στο κάτω μέρος της φόρμας υπάρχουν τρία κουμπιά: ΚΑΤΑΧΩΡΗΣΗ : Καθώς ο χρήστης έχει συμπληρώσει σωστά τα στοιχεία καταχώρησης της συσκευής επιλέγει το κουμπί καταχώρηση για την αποθήκευση της συσκευής στη βάση. Πτυχιακή Εργασία 41
ΚΑΘΑΡΙΣΜΟΣ : Η επιλογή αυτή χρησιμοποιείται όταν ο χρήστης θέλει να καθαρίσει την φόρμα και να την επαναφέρει στην αρχική της μορφή. ΕΠΙΣΤΡΟΦΗ : Η επιλογή αυτή χρησιμοποιείται όταν ο χρήστης δεν θέλει να προβεί σε καταχώρηση συσκευής και επιθυμεί να επιστρέψει στην αρχική μορφή της εφαρμογής. Εφόσον ο χρήστης έχει συμπληρώσει τη φόρμα με τα απαραίτητα στοιχεία και επιθυμεί την καταχώρηση της συσκευής επιλέγει το κουμπί ΚΑΤΑΧΩΡΗΣΗ. Αυτόματα η συσκευή αποθηκεύεται στην βάση και ταυτόχρονα εμφανίζεται στον browser μια νέα φόρμα που ρωτάει τον χρήστη αν η συσκευή περιέχει λογισμικό. Σε περίπτωση που ισχύει η ερώτηση ο χρήστης επιλέγει ΝΑΙ σε αντίθετη περίπτωση επιλέγει ΟΧΙ και η εφαρμογή επιστρέφει στην αρχική της μορφή αφού πρώτα έχει αποθηκεύσει την νέα συσκευή. Εικόνα 4.10: Η φόρμα επιλογής εκχώρησης λογισμικού Στην πρώτη όπως αναφέραμε περίπτωση, δηλαδή αν η συσκευή περιέχει λογισμικό και ο χρήστης επιλέξει ΝΑΙ, εμφανίζεται μια νέα φόρμα η οποία αποτελείται από μια λίστα λογισμικών τα οποία έχουν ήδη αποθηκευτή από τον πίνακα ΔΙΑΜΟΡΦΩΣΗ, ο χρήστης καλείται να διαλέξει τα λογισμικά που περιέχει η συσκευή τσεκάροντας δίπλα από αυτά. Πτυχιακή Εργασία 42
Εικόνα 4.11: Η φόρμα εκχώρησης λογισμικού Επιλέγοντας το κουμπί ΚΑΤΑΧΩΡΗΣΗ αποθηκεύονται τα λογισμικά στην νέα συσκευή και η εφαρμογή επιστρέφει στην αρχική της μορφή. Αν ο χρήστης προς το παρόν δεν επιθυμεί καταχώρηση λογισμικών επιλέγει το κουμπί ΕΠΙΣΤΡΟΦΗ. Εύρεση καταχωρημένων συσκευών Η επιλογή ΤΡΟΠΟΠΟΊΗΣΗ δίνει την δυνατότητα στον χρήστη ελέγχου, επεξεργασίας και διαχείρισης των συσκευών. Επιλέγοντας τροποποίηση εμφανίζεται μια νέα φόρμα που σκοπός της είναι η αναζήτηση συσκευής. Όσο πολύπλοκη και αν φαίνεται η χρήση της είναι πολύ απλή. Πτυχιακή Εργασία 43
Εικόνα 4.12: Η φόρμα αναζήτησης συσκευής Όπως παρατηρούμε η φόρμα αποτελείται από μια σειρά κενών πεδίων που ο χρήστης καλείται να συμπληρώσει και είναι τα εξής: ΥΠΕΥΘΥΝΟΣ : συμπληρώνεται το όνομα ή μέρος του ονόματος του αρμόδιου που είναι υπεύθυνος για την τις συσκευές. ΣΕΙΡΙΑΚΟΣ ΑΡΙΘΜΟΣ: συμπληρώνεται ο σειριακός αριθμός ή μέρος αυτού με βάση το οποίο θέλουμε να αναζητήσουμε συσκευές. ΤΥΠΟΣ: Επιλέγεται ο τύπος της συσκευής με βάση την οποία θέλουμε να κάνουμε την αναζήτηση. ΛΟΓΙΣΜΙΚΟ : Επιλέγεται το λογισμικό με βάση το οποίο θέλουμε να κάνουμε την αναζήτηση. Παρατηρούμε ότι συχνά χρησιμοποιείται ο όρος «μέρος αυτού»,αυτό σημαίνει πως ο χρήστης δεν χρειάζεται να συμπληρώσει ολόκληρο το στοιχείο αναζήτησης. Για παράδειγμα μπορεί να αναζητεί όλες τις συσκευές που ο σειριακός τους αριθμός ξεκινάει από 12, η το όνομα του υπεύθυνου ξεκινάει από Γ. Επίσης δεν είναι αναγκαίο να συμπληρώσει όλα τα κενά πεδία. Τέλος αν δεν συμπληρώσει κανένα από τα κενά πεδία τότε η μηχανή αναζήτησης προβάλει όλες τις συσκευές που είναι καταχωρημένες στην βάση. Πτυχιακή Εργασία 44
Στο τέλος της φόρμας υπάρχουν δύο κουμπιά με τις εξής λειτουργίες:. 4.4 Διαχείριση καταχωρημένης συσκευής Επιλογή καταχωρημένων συσκευών Αναφορά : Με την επιλογή αυτή εμφανίζεται φόρμα με όλες τις συσκευές αναζήτησης προβάλλοντας όλα τα στοιχεία που χαρακτηρίζουν την συσκευή. Η επιλογή αυτή χρησιμοποιείται κυρίως για εκτυπωτικούς και ενημερωτικούς λόγους. Αναζήτηση : Με την επιλογή αυτή ο χρήστης έχει την δυνατότητα να επέμβει και να επεξεργαστεί τα στοιχεία των συσκευών αναζήτησης. Πατώντας Αναζήτηση εμφανίζεται νέα φόρμα που περιέχει πίνακα μέσα στον οποίο εμφανίζονται σε σειρά όλες οι αναζητούμενες συσκευές με τα εξής χαρακτηριστικά τους: 1. Υπεύθυνος 2. Τοποθεσία 3. Τύπος 4. Σειριακός Αριθμός Στο αριστερό μέρος του πίνακα, δίπλα από κάθε σκευή, υπάρχουν δύο υπερσύνδεσμοι : ΔΙΑΓΡΑΦΗ: Επιλέγοντας διαγραφή είναι προφανές ότι ο χρήστης επιθυμεί την διαγραφή της συσκευής από τη βάση της εφαρμογής, ζητώντας διαγραφή της συσκευής αυτόματα εμφανίζεται νέο παράθυρο που προειδοποιεί τον χρήστη γι αυτή του την επιλογή και ζητάει επαλήθευση της εντολής. Ο λόγος αυτής της παρέμβασης γίνεται για να αποτραπεί η διαδικασία διαγραφής σε περίπτωση που η εντολή δόθηκε εσφαλμένα. Πτυχιακή Εργασία 45
ΑΝΑΝΕΩΣΗ : Επιλέγοντας ανανέωση ο χρήστης επιθυμεί την επεξεργασία των στοιχείων της συγκεκριμένης συσκευής. Κατά τη φάση αυτή εμφανίζεται νέα φόρμα η οποία είναι παρόμοια με την φόρμα εκχώρησης συσκευής αλλά με διαφορετικές λειτουργίες. Διαχείριση καταχωρημένης συσκευής Η ανάγκη για επεξεργασία των στοιχείων μιας συσκευής είναι απαραίτητη όταν τα δεδομένα της συσκευής έχουν αλλάξει, όπως η εγκατάσταση νέας μνήμης στην συσκευή, πραγματοποίηση νέου service, αλλαγή τοποθεσίας της, αλλαγή αρμόδιου υπεύθυνου κ.τ.λ. Επιπλέον κατά την αρχική εκχώρηση της συσκευής μπορεί να προκύψουν εσφαλμένα δεδομένα ή ο χρήστης να έχει κάνει εσφαλμένη καταχώρηση. Συνεπώς σε τέτοιες περιπτώσεις η επεξεργασία της συσκευής γίνεται αναγκαία. ΥΠΕΥΘΥΝΟΣ : Συμπληρώνεται το όνομα του υπεύθυνου καθηγητή ή διοικητικού υπαλλήλου που έχει στην αρμοδιότητα του την ευθύνη της συσκευής. ΤΟΠΟΘΕΣΙΑ : Επιλέγεται η αίθουσα, το εργαστήριο ή το τμήμα που είναι εγκαταστημένη η συσκευή. ΤΥΠΟΣ : Επιλέγεται ο τύπος της συσκευής, η συσκευή αυτή όπως αναφέραμε μπορεί να είναι PC, modem, εκτυπωτικό, air condition κ. τ. λ Πτυχιακή Εργασία 46
ΜΟΝΤΕΛΟ : Επιλέγεται το μοντέλο της συσκευής. Και στις τρεις αυτές περιπτώσεις ο χρήστης καλείται να επιλέξει στοιχεία που έχουν είδη καταχωρηθεί στον πίνακα ΔΙΑΜΟΡΦΩΣΗ. Αν δεν υπάρχει το απαιτούμενο στοιχείο ο χρήστης πρέπει να επιστρέψει στον πίνακα ΔΙΑΜΟΡΦΩΣΗ και να το συμπληρώσει, γι αυτό είναι χρήσιμο ο χρήστης πριν προβεί σε νέα καταχώρηση να ελέγχει τα καταχωρημένα στοιχεία του πίνακα ΔΙΑΜΟΡΦΩΣΗ και αν υπάρχει έλλειψη στοιχείων να τα καταχωρήσει. ΣΕΙΡΙΑΚΟΣ ΑΡΙΘΜΟΣ : Συμπληρώνεται ο σειριακός αριθμός της συσκευής. ΚΑΤΑΣΤΑΣΗ : Επιλέγεται η κατάσταση της συσκευής, όπως και σε μερικές από τις προηγούμενες περιπτώσεις, έτσι και εδώ ο χρήστης επιλέγει στοιχεία που είδη έχουν καταχωρηθεί στον πίνακα ΔΙΑΜΟΡΦΩΣΗ. ΗΜΕΡΟΜΗΝΙΑ ΑΓΟΡΑΣ : Συμπληρώνεται η ημερομηνία αγοράς της συσκευής. Προσοχή ο τρόπος εισαγωγής της ημερομηνίας παρουσιάζεται στην φόρμα και πρέπει να διατηρείται έτσι. ΕΓΓΥΗΣΗ : Συμπληρώνονται η περίοδος εγγύησης της συσκευής σε μήνες. ΗΜΕΡΟΜΗΝΙΑ ΤΕΛΕΥΤΑΙΟΥ SERVICE : Συμπληρώνεται η ημερομηνία τελευταίου service της συσκευής. Πτυχιακή Εργασία 47
ΕΓΓΥΗΣΗ : Συμπληρώνεται η περίοδος εγγύησης της συσκευής από το τελευταίο service σε μήνες. Τα στοιχεία που ζητούνται να συμπληρωθούν παρακάτω αναφέρονται μόνο στις συσκευές που περιλαμβάνουν κάποια από αυτά. Διαφορετικά δεν συμπληρώνονται. MEMORY: Συμπληρώνεται η μνήμη της συσκευής αν υπάρχει. HDD: Συμπληρώνεται ο σκληρός δίσκος της συσκευής. CD DVD: Συμπληρώνεται το μοντέλο cd dvd της συσκευής. OTHER: Συμπληρώνεται οποιαδήποτε άλλη πληροφορία που είναι απαραίτητη για την αναγνώριση της συσκευής. Στο κάτω μέρος της φόρμας υπάρχουν τρία κουμπιά: ΚΑΤΑΧΩΡΗΣΗ : Καθώς ο χρήστης έχει συμπληρώσει σωστά τα στοιχεία καταχώρησης της συσκευής επιλέγει το κουμπί καταχώρηση για την αποθήκευση της συσκευής στη βάση. ΚΑΘΑΡΙΣΜΟΣ : Η επιλογή αυτή χρησιμοποιείται όταν ο χρήστης θέλει να καθαρίσει την φόρμα και να την επαναφέρει στην αρχική της μορφή. Πτυχιακή Εργασία 48
ΕΠΙΣΤΡΟΦΗ : Η επιλογή αυτή χρησιμοποιείται όταν ο χρήστης δεν θέλει να προβεί σε καταχώρηση συσκευής και επιθυμεί να επιστρέψει στην αρχική μορφή της εφαρμογής. Εφόσον ο χρήστης έχει συμπληρώσει τη φόρμα με τα απαραίτητα στοιχεία και επιθυμεί την καταχώρηση της συσκευής επιλέγει το κουμπί ΚΑΤΑΧΩΡΗΣΗ. Αυτόματα η συσκευή αποθηκεύεται στην βάση και ταυτόχρονα εμφανίζεται στον browser μια νέα φόρμα που ρωτάει τον χρήστη αν η συσκευή περιέχει λογισμικό. Σε περίπτωση που ισχύει η ερώτηση ο χρήστης επιλέγει ΝΑΙ σε αντίθετη περίπτωση επιλέγει ΟΧΙ και η εφαρμογή επιστρέφει στην αρχική της μορφή αφού πρώτα έχει αποθηκεύσει την νέα συσκευή. Στην πρώτη όπως αναφέραμε περίπτωση, δηλαδή αν η συσκευή περιέχει λογισμικό και ο χρήστης επιλέξει ΝΑΙ, εμφανίζεται μια νέα φόρμα η οποία αποτελείται από μια λίστα λογισμικών τα οποία έχουν ήδη αποθηκευτή από τον πίνακα ΔΙΑΜΟΡΦΩΣΗ, ο χρήστης καλείται να διαλέξει τα λογισμικά που περιέχει η συσκευή τσεκάροντας δίπλα από αυτά. Επιλέγοντας το κουμπί ΚΑΤΑΧΩΡΗΣΗ : Αποθηκεύονται τα λογισμικά στην νέα συσκευή και η εφαρμογή επιστρέφει στην αρχική της μορφή. ΕΠΙΣΤΡΟΦΗ :Ο χρήστης δεν κάνει ανανέωση λογισμικού συσκευής. Πτυχιακή Εργασία 49
Κεφάλαιο 5 Δημιουργία μιας SQL Server 2000 Database Εφόσον ο χρήστης έχει εγκαταστήσει στον υπολογιστή του τον SQL Server 2000, ακολουθεί τα εξής βήματα : Start (Έναρξη) All Programs Microsoft SQL Server Enterprise Manager Εικόνα 5.1: Επιλογή του Enterprise Manager Πτυχιακή Εργασία 50
Τώρα ο χρήστης βρίσκεται στο περιβάλλον του Enterprise Manager και με δεξί κλικ πάνω στις Databases επιλέγει New Database. Εικόνα 5.2: Δημιουργία νέας βάσης Στο πλαίσιο διαλόγου που εμφανίζεται γράφουμε το όνομα της βάσης : Εικόνα 5.3: Δήλωση ονόματος της νέας βάσης και πατάμε OK. Τώρα η νέα βάση με το όνομα SysMaintenance έχει δημιουργηθεί και θα προσθέσουμε τους νέους πίνακες, στη συγκεκριμένη περίπτωση θα δημιουργήσουμε τον πίνακα Users ο οποίος θα περιέχει το όνομα και το κωδικό πρόσβασης των χρηστών και θα ελέγχει την είσοδο των πιστοποιημένων και μη χρηστών στην εφαρμογή. Πτυχιακή Εργασία 51
Κάνοντας δεξί κλικ πάνω στο όνομα της βάσης μας επιλέγουμε New Table Εικόνα 5.4: Δημιουργία νέου πίνακα Με την επιλογή New Table εμφανίζεται ο πίνακας σχεδιασμού στον οποίο συμπληρώνουμε τα πεδία του πίνακα. Πτυχιακή Εργασία 52
Εικόνα 5.5: Δήλωση πεδίων πίνακα α) user_id το οποίο είναι πρωτεύον κλειδί του πίνακα τύπου integer και 4 χαρακτήρων, β) user_name τύπου varchar, 20 χαρακτήρων και δηλώνεται το όνομα του χρήστη, γ) user_password τύπου varchar, 20 και δηλώνεται ο κωδικός πρόσβασης του χρήστη. Αφού συμπληρώσουμε τα πεδία του πίνακα επιλέγουμε αποθήκευση, η αποθήκευση γίνεται αφού πρώτα δηλώσουμε το όνομα του πίνακα που δημιουργήσαμε, στην περίπτωση μας Users. Πτυχιακή Εργασία 53
Εικόνα 5.6: Ονομασία πίνακα Πτυχιακή Εργασία 54
Κεφάλαιο 6 Δημιουργία ενός ASP.NET Project Εφόσον ο χρήστης έχει εγκαταστήσει στον υπολογιστή την εφαρμογή Microsoft Visual Studio. NET ακολουθεί τα εξής βήματα: Start (Έναρξη) All Programs Microsoft Visual Studio. NET Microsoft Visual Studio. NET Εικόνα 6.1: Επιλογή του Microsoft Visual Studio.Net Τώρα ο χρήστης βρίσκεται στο περιβάλλον του Microsoft Visual Studio. NET, για την δημιουργία νέου ASP.NET project επιλέγει: File New Project Πτυχιακή Εργασία 55
Εικόνα 6.2: Επιλογή δημιουργίας νέου Project Μετά την επιλογή αυτή εμφανίζεται νέο παράθυρο αναμένοντας από τον χρήστη να επιλέξει το είδος του project, δηλαδή αν ο χρήστης επιθυμεί να δημιουργήσει : Visual Basic Project Visual C# Project Visual J# Project Visual C++ Project Εικόνα 6.3: Επιλογή δημιουργίας ASP.NET Application Πτυχιακή Εργασία 56
Στη περίπτωση μας επιθυμούμε να δημιουργήσουμε Visual Basic Project και φόρμα ASP.NET application (η επιλογή αυτή γίνεται από το δεξιό μέρος του παραπάνω παραθύρου). Μετά από αυτό το βήμα βρισκόμαστε στο περιβάλλον επεξεργασίας των φορμών του Microsoft Visual Studio. NET, θα δημιουργήσουμε την αρχική φόρμα εισόδου της εφαρμογής Διαχείριση Συσκευών και θα ελέγξουμε τον τρόπο προστασίας των NET εφαρμογών που μας προσφέρει το περιβάλλον του Microsoft Visual.NET. Πτυχιακή Εργασία 57
Κεφάλαιο 7 Ασφάλεια στην ASP.NET 7.1 Authentication Είναι η διαδικασία της πιστοποίησης της ταυτότητας ενός χρήστη από την εφαρμογή μας. Δεν παρέχει πρόσβαση αλλά απλά εξακριβώνει την ταυτότητα του χρήστη. Η διαδικασία αυτή συνήθως περιλαμβάνει την αντιπαράθεση του username και password που εισάγει ο χρήστης με αυτά των έγκυρων χρηστών της εφαρμογής που συνήθως είναι αποθηκευμένα μέσα στην βάση δεδομένων ή σε κάποιο XML αρχείο χρηστών [Α9]. * 7.2 Authorization Είναι η διαδικασία παροχής πρόσβασης σε (- πιστοποιημένους χρήστες -) σε διάφορα τμήματα της εφαρμογής ανάλογα με τον ρόλο του καθενός χρήστη και τα δικαιώματα πρόσβασης που απορρέουν από αυτόν [Α9]. ** Τώρα θα φτιάξουμε την φόρμα εισαγωγής της εφαρμογής Διαχείριση Συσκευών και θα εφαρμόσουμε τις επιλογές ασφάλειας που μας παρέχει η Microsoft Visual.NET. Αρχικά πρέπει να δώσουμε στην φόρμα μας την εξής μορφή: Πτυχιακή Εργασία 58
Εικόνα 7.1: Η φόρμα εισόδου της εφαρμογής Διαμόρφωση Συσκευών Login.aspx <%@ Page Language="vb" AutoEventWireup="false" Codebehind="Login.aspx.vb" Inherits="Device.Login" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <title>login</title> <meta content="microsoft Visual Studio.NET 7.1" name="generator"> <meta content="visual Basic.NET 7.1" name="code_language"> <meta content="javascript" name="vs_defaultclientscript"> <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetschema"> </HEAD> <body bgcolor="whitesmoke" MS_POSITIONING="GridLayout"> <form id="form1" method="post" runat="server"> <br> <br> <br> Πτυχιακή Εργασία 59