Εφαρµογή ιαχείρισης Εργαστηρίου Αρχιτεκτονικής και ικτύων Υπολογιστών

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Εφαρµογή ιαχείρισης Εργαστηρίου Αρχιτεκτονικής και ικτύων Υπολογιστών"

Transcript

1 Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Σχολή Θετικών Επιστηµών Τµήµα Πληροφορικής Πτυχιακή Εργασία «Εφαρµογή ιαχείρισης Εργαστηρίου Αρχιτεκτονικής και ικτύων Υπολογιστών» Παλαµιώτη Ελένη ΑΕΜ 778 Υπεύθυνος Καθηγητής Καθηγητής κ. Γεώργιος Παπαδηµητρίου Θεσσαλονίκη, Σεπτέµβριος

2 Πίνακας Περιεχοµένων 1. ΕΙΣΑΓΩΓΗ ΑΝΤΙΚΕΙΜΕΝΟ ΤΗΣ ΠΤΥΧΙΑΚΗΣ ΟΡΓΑΝΩΣΗ ΤΩΝ ΚΕΦΑΛΑΙΩΝ ΘΕΩΡΗΤΙΚΑ ΣΤΟΙΧΕΙΑ INTERNET, WORLD WIDE WEB ΚΑΙ ΣΗΜΕΡΙΝΗ ΕΠΟΧΗ Πρωτόκολλα και υπηρεσίες World Wide Web: Η κύρια δικτυακή υπηρεσία σήµερα HYPERTEXT TRANSFER PROTOCOL (HTTP) Ορισµός Γενικά Ασφαλής HTTP (Secure HTTP ή HTTPS) ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΠΕΛΑΤΗ-ΕΞΥΠΗΡΕΤΗΤΗ (CLIENT-SERVER ARCHITECTURE) Τι είναι το client-server Το βασικό client-server µοντέλο Πώς αναπτύχθηκε η client-server τεχνολογία ΣΥΣΤΗΜΑΤΑ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ ΕΙΣΑΓΩΓΗ- ΟΡΙΣΜΟΙ ΙΣΤΟΡΙΚΗ ΑΝΑ ΡΟΜΗ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΣΥΣΤΗΜΑΤΩΝ ΙΑΧΕΙΡΙΣΗΣ ΒΑΣΕΩΝ Ε ΟΜΕΝΩΝ MYSQL Στοιχεία και εντολές µιας Βάσεις εδοµένων ΓΛΩΣΣΕΣ ΗΜΙΟΥΡΓΙΑΣ ΥΝΑΜΙΚΩΝ ΙΣΤΟΣΕΛΙ ΩΝ ΣΤΑΤΙΚΕΣ ΚΑΙ ΥΝΑΜΙΚΕΣ ΣΕΛΙ ΕΣ Στατικές σελίδες υναµικές σελίδες Πλεονεκτήµατα δυναµικών σελίδων ΜΕΘΟ ΟΙ ΗΜΙΟΥΡΓΙΑΣ ΥΝΑΜΙΚΩΝ ΣΕΛΙ ΩΝ

3 4.3 PHP Γενικά Ιστορικά στοιχεία Πως λειτουργεί η PHP Λόγοι χρησιµοποίησης της PHP στην εφαρµογή Αλληλεπίδραση PHP και MySQL ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ ΣΥΣΤΗΜΑ ΙΑΧΕΙΡΙΣΗΣ HARDWARE/SOFTWARE Έγγραφο Απαιτήσεων ΣΧΕ ΙΑΣΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ Apache Web Server Η βάση δεδοµένων της εφαρµογής ηµιουργία των ιστοσελίδων ΟΜΑ ΕΣ ΧΡΗΣΤΩΝ ΕΝΟΣ ΤΕΤΟΙΟΥ ΣΥΣΤΗΜΑΤΟΣ ΕΓΧΕΙΡΙ ΙΟ ΧΡΗΣΤΗ ΛΕΙΤΟΥΡΓΙΕΣ ΤΟΥ ΠΡΟΣΩΠΙΚΟΥ ΤΟΥ ΕΡΓΑΣΤΗΡΙΟΥ ΛΕΙΤΟΥΡΓΙΕΣ ΤΩΝ ΚΑΘΗΓΗΤΩΝ ΤΟΥ ΕΡΓΑΣΤΗΡΙΟΥ ΣΥΝΟΨΗ ΚΑΙ ΜΕΛΛΟΝΤΙΚΕΣ ΕΠΕΚΤΑΣΕΙΣ ΣΥΝΟΨΗ ΜΕΛΛΟΝΤΙΚΕΣ ΕΠΕΚΤΑΣΕΙΣ ΒΙΒΛΙΟΓΡΑΦΙΑ ΠΑΡΑΡΤΗΜΑ ΠΗΓΑΙΟΣ ΚΩ ΙΚΑΣ

4 1. Εισαγωγή 1.1 Αντικείµενο της πτυχιακής Το αντικείµενο της παρούσας διπλωµατικής εργασίας σχετίζεται άµεσα µε τις ανάγκες του εργαστηρίου Αρχιτεκτονικής και ικτύων Υπολογιστών, του Τµήµατος Πληροφορικής του Αριστοτελείου πανεπιστηµίου Θεσσαλονίκης, για τεχνολογική εξέλιξη και αναβάθµιση του. Στόχος είναι η ανάπτυξη και η δηµιουργία ενός αξιόπιστου, εύχρηστου, λειτουργικού και φιλικού προς το χρήστη συστήµατος µέσω του οποίου θα είναι δυνατή η αναζήτηση στοιχείων των υπολογιστών του εργαστηρίου, βάση κάποιων χαρακτηριστικών τους, τα οποία θα ενηµερώνουν τους χρήστες όσον αφορά την ονοµασία του υπολογιστή, την IP Address, την Mac Address, την πρίζα όπου συνδέεται, πιθανότατα προβλήµατα που έχει αντιµετωπίσει ο υπολογιστής µε κάποιες συσκευές του στο παρελθόν, από τα προγράµµατα που αποτελείται και τον υπεύθυνο του. Στη συγκεκριµένη εφαρµογή, πέραν της αναζήτησης, θα υπάρχει και η δυνατότητα για προσθήκη και µεταβολή των υπολογιστών αλλά και καταχωρήσεις υπευθύνων καθηγητών και προγραµµάτων µέσω φόρµας. Το σύστηµα αυτό θα αποτελέσει σηµαντικό τµήµα του εργαστηρίου καθώς θα βοηθήσει στην οργάνωση του υλικού και του λογισµικού (Hardware και Software) των υπολογιστών. Επίσης θα δώσει τη δυνατότητα και στο προσωπικό του εργαστηρίου να ενηµερώνεται άµεσα για τα στοιχεία και την κατάσταση των υπαρχόντων υπολογιστών. 1.2 Οργάνωση των κεφαλαίων Η δόµηση του κειµένου αυτού αναλύεται σε κεφάλαια και ενότητες κεφαλαίων. Συγκεκριµένα έχουµε: Στο Κεφάλαιο 1 αναλύεται το αντικείµενο της παρούσας πτυχιακής εργασίας. Ακολουθεί το Κεφάλαιο 2 που αναφέρεται στη χρήση του Internet στη σηµερινή εποχή. Περιγράφεται αναλυτικά το Hypertext Transfer Protocol (HTTP) και η αρχιτεκτονική πελάτη εξυπηρετητή (client-server). 4

5 Συνεχίζουµε µε το Κεφάλαιο 3 όπου γίνεται περιγραφή της αρχιτεκτονικής των συστήµατος διαχείρισης βάσεων δεδοµένων αλλά και του συστήµατος MySql που χρησιµοποιήθηκε. Το Κεφάλαιο 4 αφορά τις γλώσσες δηµιουργίας δυναµικών ιστοσελίδων. Υπάρχει εκτενής αναφορά στις στατικές και δυναµικές ιστοσελίδες. Έπειτα γίνεται αναλυτική περιγραφή της γλώσσας προγραµµατισµού PHP που χρησιµοποιήθηκε. Γίνεται µια αναφορά στις εκδόσεις της γλώσσας, στις δυνατότητες της και στους λόγους επιλογής της για τη δηµιουργία του συστήµατος µας. Ακολουθεί µια αναφορά στην συνδεσιµότητα της PHP και της MySQL καθώς και ένα παράδειγµα χρήσης συναρτήσεων της PHP και κλήσεων της MySQL στον κώδικα της εργασίας µας. Στο Κεφάλαιο 5 υπάρχει η περιγραφή της εφαρµογής. Αρχικά αναλύονται οι απαιτήσεις του συστήµατος διαχείρισης του εργαστηρίου. Στη συνέχεια περιγράφονται τα εργαλεία ανάπτυξης του συστήµατος, η βάση δεδοµένων καθώς και οι οµάδες χρηστών στο σύστηµα. Το κεφάλαιο κλείνει µε την περιγραφή των διαθέσιµων υπηρεσιών του συστήµατος. Το Κεφάλαιο 6 αποτελεί εγχειρίδιο για το πώς µπορεί κάποιος χρήστης να αλληλεπιδράσει µε το σύστηµα. Το κεφάλαιο χωρίζεται σε δύο ενότητες, τις λειτουργίες που µπορεί να εκτελέσει το προσωπικό του εργαστηρίου µέσω του συστήµατος και τις λειτουργίες που µπορούν να εκτελέσουν οι καθηγητές στο σύστηµα. Τελειώνουµε µε το Κεφάλαιο 7 όπου γίνεται µια σύνοψη των όσων αναφέρθηκαν και περιγράφονται οι µελλοντικές προσθήκες που θα µπορούσαν να γίνουν στο σύστηµα µας µε στόχο την περαιτέρω ανάπτυξη του. Ακολουθεί η βιβλιογραφία και το Παράρτηµα κώδικας του συστήµατος. όπου παρουσιάζεται ο πηγαίος 5

6 2. Θεωρητικά Στοιχεία 2.1 Internet, world wide web και σηµερινή εποχή Τα τελευταία χρόνια, έχει παρατηρηθεί µια εντυπωσιακή αύξηση της χρήσης του ιαδικτύου καθώς για ένα µεγάλο ποσοστό ανθρώπων, και ιδιαίτερα εκείνων που σχετίζονται άµεσα µε την ακαδηµαϊκή κοινότητα αποτελεί αναπόσπαστο κοµµάτι στον τοµέα της εργασίας τους και όχι µόνο. Πρόκειται για µια νέα πραγµατικότητα, για έναν νέο τρόπο εργασίας, εκπαίδευσης και άντλησης πληροφοριών, πέρα βέβαια από τις όποιες άλλες δυνατότητες µπορεί αυτό να παρέχει στον άνθρωπο, όσον αφορά τη διασκέδαση και την ψυχαγωγία του. Οι επιδράσεις του είναι καταλυτικές σε όλους τους βασικούς τοµείς των σύγχρονων κοινωνιών και αποτελεί πλέον γεγονός αναµφισβήτητο. Η περιήγηση στο Internet ανοίγει τους κρουνούς της πληροφορίας και της πληροφόρησης, µε αποτέλεσµα τα πάντα να βρίσκονται εύκολα και γρήγορα, αλλά και να καταργεί τις γεωγραφικές αποστάσεις µεταξύ των ανθρώπων: αναφορές σε σηµαντικά γεγονότα, τα τελευταία νέα, τα καιρικά φαινόµενα, οι εξελίξεις στην τεχνολογία ακόµα και τα αποτελέσµατα αθλητικών αγώνων. Επιτυγχάνεται µε άλλα λόγια γρήγορη και άµεση επικοινωνία ανθρώπων παγκοσµίως και σε όλα τα επίπεδα (ψυχαγωγικό, ενηµερωτικό, επαγγελµατικό, εµπορικό, κ.τ.λ.) Το ερώτηµα που τίθεται βέβαια είναι πώς τα καταφέρνει όλα αυτά το Internet σήµερα. Το Internet είναι το µεγαλύτερο δίκτυο υπολογιστών. Αριθµεί εκατοντάδες χιλιάδες υπολογιστές συνδεδεµένους µεταξύ τους και καινούριοι να συνδέονται σε αυτό µε ολοένα αυξανόµενο ρυθµό. Ξεκίνησε κυρίως για εκπαιδευτικούς σκοπούς, αλλά µετεξελίχθηκε σε ένα παγκόσµιο δίκτυο ποικίλων δραστηριοτήτων. Αποτελείται στην ουσία από πολλούς υπολογιστές συνδεδεµένους µεταξύ τους σε υποδίκτυα τοπικού χαρακτήρα, τα λεγόµενα Local Area Networks (LAN), τα οποία συνδέονται περαιτέρω υλοποιώντας µεγαλύτερα Wide Area Networks (WAN), τα οποία και συνεχίζουν την αλυσίδα κατά κάποιο τρόπο δηµιουργώντας τελικά έναν πλήρως αποκεντρωµένο γράφο, µε εκατοµµύρια κόµβους-υπολογιστές. Χαρακτηριστικό του αποτελεί η εκ φύσεως παντελής έλλειψη κεντρικής διοίκησης, γεγονός που του προσδίδει τεράστια δύναµη ως µέσο. 6

7 Οι προοπτικές ανάπτυξής του ανοίγονται τεράστιες. Ήδη νέες µορφές των βασικών του πρωτοκόλλων κάνουν την εµφάνισή τους, µε ριζοσπαστικές αλλαγές στην σχεδίαση και υλοποίησή τους, γεγονός που του δίνει νέες διαστάσεις. Το Internet2 βρίσκεται ήδη προ των πυλών µε ταχύτητες πολλαπλάσιες του υπάρχοντος δικτύου, ενώ µια πληθώρα τεχνολογιών και εφαρµογών στηρίζεται, χρησιµοποιεί και αναπτύσσει το ίδιο το Internet Πρωτόκολλα και υπηρεσίες Προγραµµατιστικά κοιτώντας, το Internet έχει χτιστεί πάνω σε µια σουίτα πρωτοκόλλων που είναι γνωστά µε την ονοµασία Transmission Control Protocol/Internet Protocol - TCP/IP ( ή User Datagram Protocol/Internet Protocol - UDP/IP, ανάλογα το είδος της µεταφοράς των πακέτων) και αποτελούν de facto standards για τη µετάδοση δεδοµένων σε αυτό. Η ανάπτυξή τους έγινε αρχικά από το Υπουργείο Εθνικής Άµυνας των Ηνωµένων Πολιτειών της Αµερικής ( Η. Π. Α.) στη δεκαετία του 1970 και η πρώτη τους ευρεία χρησιµοποίηση πραγµατοποιήθηκε στο δίκτυο υπολογιστών ARPANET, το πρώτο πειραµατικό WAN µε µεταγωγή πακέτου. Το NSFNET αποτέλεσε τη διάδοχη κατάσταση στις Η.Π.Α., για να φτάσουµε τελικά στη σηµερινή µορφή του Internet γύρω στο Η ανάπτυξη του τελευταίου ήταν ταχύτατη και µάλλον άναρχη, µε µία κεντρική αρχή διαχείρισης, τη λίγο έως πολύ γνωστή Internet Network Information Center InterNIC. Η διασύνδεση των τοπικών LANs γίνεται µε µεταγωγείς πακέτου (ηλεκτρονικούς ή πλέον και οπτικούς), routers και gateways, που πραγµατοποιούν δροµολόγηση βασισµένη στα πρωτόκολλα IP, η δε αξιοπιστία της µετάδοσης των πακέτων εξασφαλίζεται από τους ακραίους χρήστες µέσω των πρωτοκόλλων TCP ή UDP. Η στοίβα των επιπέδων στην οικογένεια των TCP/IP προτύπων έχει ως εξής και βασίζεται στην αρχιτεκτονική των στρωµάτων, µεθοδολογία απαραίτητη στην υλοποίηση πρωτοκόλλων επικοινωνίας: 7

8 π.χ. HTTP, FTP, DNS Εφαρµογής (Π Πρωτόκολλα δροµολόγησης, όπως το RIP, που βασίζονται στο πρωτόκολλο UDP µπορούν επίσης να καταχωρηθούν στο στρώµα ικτύου) π.χ.tcp, UDP, RTP Μεταφοράς (Πρωτόκολλα δροµολόγησης, όπως το OSPF, που λειτουργούν πάνω από το IP, µπορούν επίσης να καταχωρηθούν στο στρώµα ικτύου) Για το TCP/IP, χρησιµοποιείται µόνο το IP ικτύου (Τα πρωτόκολλα ICMP και IGMP, παρ όλο που βασίζονται πάνω στο IP για τη λειτουργία τους, καταχωρούνται στο στρώµα ικτύου. Το ARP αποτελεί µια από τις ολιγάριθµες εξαιρέσεις, εφ όσον είναι ανεξάρτητο του IP) Συνδέσµου π.χ. Ethernet, Token ring, κλπ. Πίνακας 2.1α Αρχιτεκτονική στρωµάτων Οι εφαρµογές που προσφέρονται στους τελικούς χρήστες είναι πολλές και ποικίλες. Ενδεικτικά αναφέρουµε: www: Ίσως η πιο διαδεδοµένη από τις εφαρµογές και σίγουρα η υπεύθυνη για την µαζική απήχηση του Internet στους ανθρώπους. Πολύ απλή στη χρήση ακόµα και για τον αρχάριο χρήστη, εύκολα προσβάσιµη και µε τεράστιες δυνατότητες επικοινωνίας, αποτελεί και τη βασική εφαρµογή που θα χρησιµοποιήσει το σύστηµα εγγραφών. Πολύ διαδεδοµένη και αυτή η εφαρµογή, καθώς δίνει τη δυνατότητα εύκολης ανταλλαγής µηνυµάτων σε παγκόσµιο επίπεδο µέσα σε λίγα δευτερόλεπτα. ftp: Εφαρµογή µεταφοράς αρχείων υπολογιστών. snmp: Εφαρµογή διαχείρισης κόµβων ενός δικτύου. 8

9 telnet: Εφαρµογή πρόσβασης σε αποµακρυσµένους υπολογιστές, κ.ο.κ World Wide Web: Η κύρια δικτυακή υπηρεσία σήµερα Ας δούµε, όµως, λίγο αναλυτικότερα το World Wide Web (www), µιας και η χρήση του αποτελεί σηµαντικότατο κοµµάτι του συστήµατος εγγραφών, και µοναδικό τρόπο πρόσβασης σε αυτό για τους χρήστες του. Αν και δηµιουργήθηκε σχετικά πρόσφατα - το 1989 στο CERN της Ελβετίας από τον Tim Berners-Lee, µε περαιτέρω εκλέπτυνσή του από τον ίδιο και τον Robert Cailliau το αυτό δε στάθηκε εµπόδιο στην ραγδαία εξάπλωσή του που συµπαρέσυρε και όλο το Internet σε τροµακτική ανάπτυξη µαζί του. ίνει την δυνατότητα εύκολης και προσιτής αναπαράστασης της πληροφορίας, ακόµα και στον νέο χρήστη. Την δυνατότητα αυτή την οφείλει κυρίως στο γραφικό περιβάλλον που χρησιµοποιεί, στην δυνατότητα χρήσης υπηρεσιών πολυµέσων (εικόνα γραφικά ήχος video) και στην ανοιχτή σε νέους τύπους δεδοµένων αρχιτεκτονική του. Είναι δοµηµένο σε σελίδες (web pages) και ανοικτό ουσιαστικά σε όλους, όσους µε στοιχειώδεις γνώσεις της γλώσσας συγγραφής web pages Hypertext Markup Language (html) µπορούν να φτιάξουν µία σελίδα και να την κρεµάσουν σε κάποιον κόµβο-server του δικτύου. Η λόγος χρήσης του www είναι η δυνατότητα αλληλοσύνδεσης των σελίδων µέσω hyperlinks ( ή απλά: links), δηµιουργώντας τελικά έναν ιστό (web) από αυτές 1. Τέλος, το πρωτόκολλο επικοινωνίας των κόµβων-υπολογιστών που έχουν κρεµασµένες τις σελίδες και λειτουργούν 24ώρες/24ώρο ως servers, µε οποιονδήποτε υπολογιστή-client στο δίκτυο θελήσει να δει µία κρεµασµένη σελίδα, είναι συνήθως το Hypertext Transfer Protocol (http), ενώ σε περιπτώσεις που υπάρχει ανάγκη για extra ασφάλεια στη συναλλαγή χρησιµοποιείται το Secure - Hypertext Transfer Protocol (s-http). Οι clients χρησιµοποιούν web-browsers για την απεικόνιση των σελίδων και γενικά την πλοήγηση στο www, ενώ οι servers τρέχουν ειδικούς δαίµονες, τους web servers 1 Το www δηλαδή χρησιµοποιεί ένα σύστηµα οργάνωσης και κωδικοποίησης πληροφοριών βασισµένο σε hypertexts, διευκολύνοντας έτσι την πλοήγηση των χρηστών στις διάφορες περιοχές δεδοµένων. Το κυριότερο χαρακτηριστικό και πλεονέκτηµα των hypertexts είναι η δυνατότητα δηµιουργίας hyperlinks µεταξύ κειµένων που βρίσκονται ακόµα και σε διαφορετικούς υπολογιστές συνδεδεµένους σε κάποιο δίκτυο (εν προκειµένω στο Internet). Τα αρχεία αυτά των hypertexts είναι γνωστά σαν web pages. 9

10 2.2 Hypertext Transfer Protocol (HTTP) Ορισµός Το πρωτόκολλο http είναι ουσιαστικά ένα σύνολο κανόνων για την ανταλλαγή αρχείων (κειµένου, γραφικών, εικόνων, ήχου, video και άλλων) στο www. Είναι ένα πρωτόκολλο στρώµατος εφαρµογής στη στοίβα TCP/IP, παντελώς ανεξάρτητο από τα υποκείµενα πρωτόκολλα σε αυτό, καθώς και από το δίκτυο στο οποίο υλοποιείται. Χρησιµοποιείται από το www από τη στιγµή που πρωτοεµφανίστηκε το 1990, µε την πρώτη του έκδοση HTTP/0.9. Ενδιαµέσως υπήρξε η έκδοση HTTP/1.0 που είναι ευρέως διαδεδοµένη, ενώ σήµερα χρησιµοποιούµε πλέον στις εφαρµογές µας την τελευταία έκδοση HTTP/ Γενικά Στη γενική του θεώρηση το πρωτόκολλο http είναι ανταλλαγής µηνυµάτων αίτησης/απάντησης (request/response protocol), όπου ο πελάτης (client) στέλνει ένα request στον εξυπηρετητή (server) και ο τελευταίος απαντάει µε ένα response στον client. Κάθε server διαθέτει έναν http daemon, ο οποίος αναµένει πάντοτε requests από clients και φροντίζει για την εξυπηρέτησή τους. Πρακτικά, ένας client αποτελείται από κάποιον web browser, ο οποίος και στέλνει τα requests. Η διαδικασία που ακολουθείται κάθε φορά που ένας χρήστης ενός browser «ανοίγει» µια web σελίδα ή κάνει click πάνω σε ένα hyperlink είναι συνοπτικά η ακόλουθη: Ο browser «φτιάχνει» το κατάλληλο http-request και το αποστέλλει στην ΙΡδιεύθυνση που καθορίζεται από το URL. Στον server που βρίσκεται πίσω από αυτήν τη διεύθυνση, ο http daemon που τρέχει λαµβάνει το request και αφού ολοκληρώσει την επεξεργασία του, επιστρέφει το ζητούµενο αρχείο, διαµορφώνοντας το server httpresponse του. Οι διευθύνσεις που γράφουµε στον browser µας κατά την πλοήγησή µας στο www, αποτελούν ουσιαστικά το συντακτικό ενός http_url: http_url = " "//" host [ ":" port ] [ abs_path [ "?" query ]], όπου: host: όνοµα κάποιου server στο δίκτυο. port: default για το http είναι το 80, αλλά µπορούµε να ορίσουµε εµείς κάποιο διαφορετικό. Αν δεν ορίζεται εννοείται το

11 abs_path: το «απόλυτο µονοπάτι» στη δοµή καταλόγου (directory structure) του server, όπου βρίσκεται το αρχείο µας. Η κύρια διαφορά του HTTP/1.0 µε το HTTP/1.1 έχει να κάνει µε τον τρόπο ανταλλαγής της πληροφορίας µεταξύ client-server. Στο HTTP/1.0 κάθε ζεύγος request/response ολοκληρώνεται σε µία TCP σύνδεση µεταξύ client-server. Αντίθετα, στο HTTP/1.1 η default συµπεριφορά είναι να υπάρχουν περισσότερα του ενός ζεύγη ανταλλαγής πληροφορίας request/response µεταξύ client και server, πριν ολοκληρωθεί η current TCP σύνδεση µεταξύ τους. Αυτό ονοµάζεται persistent connection και ελάφρυνε σηµαντικά το φορτίο στους HTTP servers. Τα πλεονεκτήµατα του persistent connection είναι αρκετά: Θεωρώντας λιγότερες TCP συνδέσεις, εξοικονοµούνται CPU time και µνήµη στους routers και στους hosts οποιουδήποτε είδους (clients, servers, proxies, gateways, tunnels, or caches) Μπορεί να γίνει pipelining 2 των http-requests/responses σε µία σύνδεση. Μειώνοντας τον αριθµό των πακέτων στο δίκτυο αποφεύγεται η περίπτωση συµφόρησης. Μειώνεται η καθυστέρηση (latency) σε συνεχόµενα requests, καθώς δεν υπάρχουν συνεχόµενα TCP handshakes σε αυτά. Επίσης, σηµαντικές διαφορές που βελτιώνουν κατά πολύ την απόδοση του πρωτοκόλλου είναι το γεγονός ότι εφόσον ένας browser δηλώσει ότι µπορεί να αποσυµπιέσει html και non-image data αρχεία, ο server τα συµπιέζει για τη µεταφορά τους στο δίκτυο, µε αποτέλεσµα την µείωση του φορτίου που περνάει από αυτό. Επίσης, το HTTP/1.1 δίνει τη δυνατότητα για virtual hosting, ή την αντιστοίχηση πολλών domain names στην ίδια IP address. 2 Η τεχνική του pipelining επιτρέπει σε έναν client να κάνει πολλαπλά requests χωρίς να περιµένει για καθένα response. 11

12 Αίτηση (http-request) Το request του client περιλαµβάνει στην πρώτη γραµµή του την request method, το Uniform Resource Identifier (URI) και την έκδοση του πρωτοκόλλου που θα χρησιµοποιηθεί. Κατόπιν µετά από µια κενή γραµµή ακολουθεί το κύριο µέρος του µηνύµατος, που περιέχει όλες τις προς µεταφορά πληροφορίες του client: Request = Request-Line *((general-header request-header entity-header ) CRLF) CRLF [ message-body ] Request-Line = Method SP Request-URI SP HTTP-Version CRLF Το Method token καθορίζει την µέθοδο που θα εφαρµοστεί. υνατές µέθοδοι είναι: Method = "OPTIONS" "GET" "HEAD" "POST" "PUT" "DELETE" "TRACE" "CONNECT" extension-method extension-method = token Ο return code ενός http-response ενηµερώνει πάντοτε τον client αν κάποια από τις παραπάνω µεθόδους είναι ή όχι επιτρεπτή για το ζητούµενο resource στον server, 12

13 µιας και αυτό το στοιχείο µπορεί να αλλάξει δυναµικά. Επίσης, µόνο οι µέθοδοι GET και HEAD είναι υποχρεωτικό να υποστηρίζονται από γενικού σκοπού servers, όλες οι υπόλοιπες είναι προαιρετικές (optional). Απάντηση (http-response) Αφού λάβει και επεξεργαστεί ένα request message, ο server απαντάει µε ένα httpresponse message. Το response message περιέχει στη πρώτη γραµµή του ένα status line, όπου αναφέρεται η έκδοση του πρωτοκόλλου και ένας κώδικας επιτυχίας ή αποτυχίας (3-ψήφιο αριθµητικό και κείµενο). Ακολουθεί µετά από µια κενή γραµµή το κύριο µέρος του µηνύµατος, όπου περιέχονται οι όποιες πληροφορίες προς µετάδοση του server. Συγκεκριµένα: Response = Status-Line *(( general-header response-header entity-header ) CRLF) CRLF [ message-body ] Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF υνατές τιµές για το 3-ψήφιο κώδικα κατάστασης (Status-code) είναι: 1xx: Informational - Request received, continuing process 2xx: Success - The action was successfully received understood, and accepted 3xx: Redirection - Further action must be taken in order to complete the request 4xx: Client Error - The request contains bad syntax or cannot be fulfilled 5xx: Server Error - The server failed to fulfill an apparently valid request 13

14 Κοινά χρησιµοποιούµενα παραδείγµατα ζευγών Status-Code και Reason-Phrase είναι: 200 OK The request has succeeded. 301 MOVED The requested resource has been assigned a new permanent URI and any future references to this resource SHOULD use one of the returned URIs. Clients with link editing capabilities ought to automatically. 401 UNAUTHORIZED The request requires user authentication. 403 FORBIDDEN The server understood the request, but is refusing to fulfil it. 404 NOT FOUND The server has not found anything matching the RequestURI. 500 INTERNAL SERVER ERROR The server encountered an unexpected condition, which prevented it from fulfilling the request. Μετά την γραµµή κατάστασης ακολουθούν προαιρετικά επικεφαλίδες µε πληροφορίες σχετικά µε τα δεδοµένα που ακολουθούν στο κυρίως σώµα της απόκρισης του Server. Παραδείγµατος χάρην υπάρχει η επικεφαλίδα ΟΚ που επεξηγεί ότι το αίτηµα εκτελέστηκε επιτυχώς, η UNAUTHORIZED που ορίζει ότι για να πραγµατοποιηθεί το αίτηµα χρειάζεται επικύρωση του χρήστη(user authentication) κ.α Οι παραπάνω κώδικες είναι επεκτάσιµοι και οι εφαρµογές δε χρειάζεται να γνωρίζουν όλους τους κώδικες για να λειτουργήσουν. Είναι απαραίτητο όµως να γνωρίζουν την τάξη του Status-Code, έτσι ώστε να µπορούν να τον κατατάξουν Ασφαλής HTTP (Secure HTTP ή HTTPS) Το HTTPS (Secure HTTP) χρησιµοποιείται στην επιστήµη των υπολογιστών για να δηλώσει µία ασφαλή http σύνδεση. Ένας σύνδεσµος (URL) που αρχίζει µε το πρόθεµα https υποδηλώνει ότι θα χρησιµοποιηθεί κανονικά το πρωτόκολλο HTTP, αλλά η σύνδεση θα γίνει σε διαφορετική θύρα (443 αντί 80) και τα δεδοµένα θα ανταλλάσσονται κρυπτογραφηµένα. Το σύστηµα αυτό σχεδιάστηκε αρχικά από την εταιρία Netscape Communications Corporation για να χρησιµοποιηθεί σε sites όπου απαιτείται αυθεντικοποίηση χρηστών και κρυπτογραφηµένη επικοινωνία. Το HTTPS δεν είναι ξεχωριστό πρωτόκολλο όπως µερικοί νοµίζουν, αλλά αναφέρεται στον συνδυασµό του απλού HTTP πρωτοκόλλου και των δυνατοτήτων 14

15 κρυπτογράφησης που παρέχει το πρωτόκολλο Secure Sockets Layer (SSL). Η κρυπτογράφηση που χρησιµοποιείται διασφαλίζει ότι τα κρυπτογραφηµένα δεδοµένα δεν θα µπορούν να υποκλαπούν από άλλους κακόβουλους χρήστες ή από επιθέσεις man-in-the-middle. Για να χρησιµοποιηθεί το HTTPS σε έναν server, θα πρέπει ο διαχειριστής του να εκδώσει ένα πιστοποιητικό δηµοσίου κλειδιού. Σε servers που χρησιµοποιούν το λειτουργικό σύστηµα UNIX αυτό µπορεί να γίνει µέσω του προγράµµατος OpenSSL. Στην συνέχεια το πιστοποιητικό αυτό θα πρέπει να υπογραφεί από µία αρχή πιστοποίησης (certificate authority), η οποία πιστοποιεί ότι ο εκδότης του πιστοποιητικού είναι νοµότυπος και ότι το πιστοποιητικό είναι έγκυρο. Με τον τρόπο αυτό οι χρήστες µπορούν να δουν την υπογραφή της αρχής πιστοποίησης και να βεβαιωθούν ότι το πιστοποιητικό είναι έγκυρο και ότι κανένας κακόβουλος χρήστης δεν το έχει πλαστογραφήσει. Όπως αναφέρθηκε προηγουµένως, το HTTPS χρησιµοποιείται κυρίως όταν απαιτείται µεταφορά ευαίσθητων προσωπικών δεδοµένων. Το επίπεδο προστασίας των δεδοµένων εξαρτάται από το πόσο σωστά έχει εφαρµοστεί η διαδικασία ασφάλειας και από το πόσο ισχυροί είναι οι αλγόριθµοι κρυπτογράφησης που χρησιµοποιούνται. Πολλοί χρήστες πιστωτικών καρτών θεωρούν ότι το HTTPS προστατεύει ολοκληρωτικά τον αριθµό της πιστωτικής τους κάρτας από κατάχρηση. Αυτό όµως δεν ισχύει: Το HTTPS χρησιµοποιεί την κρυπτογράφηση για να µεταδώσει τον αριθµό από τον υπολογιστή του πελάτη προς τον server. Η µετάδοση είναι ασφαλής και τα δεδοµένα φτάνουν στον server χωρίς κανείς να µπορέσει να τα υποκλέψει. Παρόλα αυτά υπάρχει το ενδεχόµενο διάφοροι hacker να έχουν επιτεθεί στον server και από εκεί να έχουν υποκλέψει τα ευαίσθητα προσωπικά δεδοµένα. 2.3 Αρχιτεκτονική Πελάτη-Εξυπηρετητή (Client-Server Architecture) Σε αυτό το τµήµα του κεφαλαίου θα γίνει µια αναλυτική αναφορά στα client-server συστήµατα τα οποία αναφέρθηκαν και στην λειτουργία του HTTP πρωτοκόλλου. 15

16 2.3.1 Τι είναι το client-server Γενικά, το client-server αναφέρεται σε µια βασική αλλαγή στο στυλ των υπολογιστών, την αλλαγή από τα συστήµατα που βασίζονται στα µηχανήµατα στα συστήµατα που βασίζονται στον χρήστη. Ειδικότερα, ένα σύστηµα client-server είναι ένα σύστηµα στο οποίο το δίκτυο ενώνει διάφορους υπολογιστικούς πόρους, ώστε οι clients (ή αλλιώς front end) να µπορούν να ζητούν υπηρεσίες από έναν server (ή αλλιώς back end), ο οποίος προσφέρει πληρoφορίες ή επιπρόσθετη υπολογιστική ισχύ. Με άλλα λόγια, στο client-server µοντέλο, ο client θέτει µια αίτηση και ο server επιστρέφει µια ανταπόκριση ή κάνει µια σειρά από ενέργειες. Ο server µπορεί να ενεργοποιείται άµεσα για την αίτηση αυτή ή να προσθέτει την αίτηση σε µια ουρά. Η άµεση ενεργοποίηση για την αίτηση µπορεί, για παράδειγµα, να σηµαίνει ότι ο server υπολογίζει έναν αριθµό και τον επιστρέφει αµέσως στον client. H τοποθέτηση της αίτησης σε µια ουρά µπορεί να σηµαίνει ότι η αίτηση πρέπει να τεθεί σε αναµονή για να εξυπηρετηθεί. Ένα καλό παράδειγµα για αυτό είναι όταν εκτυπώνουµε ένα κείµενο σε ένα εκτυπωτή δικτύου. Ο server τοποθετεί την αίτηση σε µια ουρά µαζί µε αιτήσεις εκτυπώσεων και από άλλους clients. Μετά επεξεργάζεται την αίτηση µε βάση την σειρά προτεραιότητας, η οποία, σε αυτή την περίπτωση, καθορίζεται από τη σειρά µε την οποία ο server παρέλαβε την απαίτηση. Το client-server είναι πολύ σηµαντικό, διότι επιτυγχάνει τα εξής: Αποτελεσµατική χρήση της υπολογιστικής ισχύος. Μείωση του κόστους συντήρησης, δηµιουργώντας συστήµατα client-server που απαιτούν λιγότερη συντήρηση και κοστίζουν λιγότερο στην αναβάθµιση. Αύξηση της παραγωγικότητας, προσφέροντας στους χρήστες ξεκάθαρη πρόσβαση στις αναγκαίες πληροφορίες µέσω σταθερών και εύκολων στην χρήση διασυνδέσεων. Αύξηση της ευελιξίας και της δυνατότητας δηµιουργίας συστηµάτων που υποστηρίζουν πολλά περιβάλλοντα. 16

17 2.3.2 Το βασικό client-server µοντέλο Η πλευρά του client πρώτα στέλνει ένα µήνυµα για να καλέσει σε ετοιµότητα τον server. Από τη στιγµή που ο client και ο server έχουν επικοινωνία µεταξύ τους, ο client µπορεί να υποβάλλει την αίτησή του. Client Ο client είναι ο αιτών των υπηρεσιών. Ο client δεν µπορεί παρά να είναι ένας υπολογιστής. Οι υπηρεσίες που ζητούνται από τον client µπορεί να υπάρχουν στους ίδιους σταθµούς εργασίας ή σε αποµακρυσµένους σταθµούς εργασίας που συνδέονται µεταξύ τους µέσω ενός δικτύου. Ο client ξεκινάει πάντα την επικοινωνία. Τα συστατικά του client είναι πολύ απλά. Μια client µηχανή πρέπει να µπορεί να κάνει τα ακόλουθα: Να τρέχει το λογισµικό των γραφικών διεπαφών χρηστών (GUIs). Να δηµιουργεί τις αιτήσεις για πληροφορίες και να τις στέλνει στον server. Να αποθηκεύει τις επιστρεφόµενες πληροφορίες. Αυτές οι αιτήσεις καθορίζουν πόση µνήµη χρειάζεται, ποια ταχύτητα επεξεργασίας θα µπορούσε να βελτιώσει τον χρόνο ανταπόκρισης, και πόση χωρητικότητα αποθήκευσης απαιτείται. Server Ο server απαντάει στις αιτήσεις που γίνονται από τους clients. Ένας client µπορεί να ενεργεί ως server εάν λαµβάνει και επεξεργάζεται αιτήσεις όπως ακριβώς και τις στέλνει (για παράδειγµα, ένας σταθµός εργασίας που χρησιµοποιείται και ως server εκτυπώσεων από άλλους). Οι server δεν ξεκινάνε τις επικοινωνίες -περιµένουν τις αιτήσεις των clients. Η διαδικασία του client µπορεί να ανήκει φυσικά στον ίδιο σταθµό εργασίας µε την διαδικασία του server. Τα συστατικά του server είναι πολύ απλά. Μια server µηχανή πρέπει να µπορεί να κάνει τα ακόλουθα: Να αποθηκεύει, να ανακτά και να προστατεύει πληροφορίες. Να επιθεωρεί τις αιτήσεις των clients. Να δηµιουργεί εφαρµογές διαχείρισης πληροφοριών, όπως δηµιουργία αντιγράφων, ασφάλεια κτλ. 17

18 Να διαχειρίζεται πληροφορίες. ίκτυα Φυσικά, χωρίς τα Τοπικά ίκτυα (Local Area Network) και τα ιαδίκτυα (Internet) η τεχνολογία των client-server δεν θα υπήρχε. Τα δίκτυα προσφέρουν την υποστήριξη της επικοινωνίας που απαιτείται για να συνδεθούν πολλές µηχανές, ακόµα και πολλές πλατφόρµες. Ένα δίκτυο είναι ένα σύστηµα που µεταφέρει πληροφορίες και µηνύµατα µεταξύ των επεξεργαστών. Η αρχιτεκτονική ενός δικτύου έχει κανόνες, ή αλλιώς πρωτόκολλα, που καθορίζουν το πως πραγµατοποιούνται οι µεταφορές µέσα σε αυτή την αρχιτεκτονική. ιαφορετικά υλικά και λογισµικά µπορούν να επικοινωνούν όσο χρησιµοποιούν τα ίδια τα πρωτόκολλα και τις ίδιες µορφές δεδοµένων. Τα δίκτυα έχουν λογισµικά λειτουργικών συστηµάτων, όπως συµβαίνει µε τους clients και τους servers. Τα λειτουργικά συστήµατα δικτύων καλύπτουν τις client εφαρµογές από την άµεση επικοινωνία µε τον server. Αν και το λειτουργικό σύστηµα δικτύου είναι εγκατεστηµένα στον server, µέρος του πρέπει να τρέξει σε κάθε client. Το λειτουργικό σύστηµα δικτύου συνδέει το λειτουργικό σύστηµα του client µε το δίκτυο, που σηµαίνει ότι εφαρµογές µπορούν να προσπελάσουν το δίκτυο µέσω των λειτουργικών συστηµάτων των clients. Η πρόοδος στην τεχνολογία των δικτύων επιτρέπει στους σταθµούς εργασίας να συνδέονται σε πολλαπλές πηγές πληροφοριών, δηµιουργώντας ένα περιβάλλον βασισµένο στο χρήστη, όπου ο χρήστης έχει άµεση πρόσβαση σε οποιαδήποτε πληροφορία απαιτείται, ανεξάρτητα του που βρίσκεται η πληροφορία αυτή. Η άµεση πρόσβαση σηµαίνει ότι ο χρήστης µπορεί να προσπελάσει πληροφορίες από απoµακρυσµένες µηχανές χωρίς να πρέπει να αλληλεπιδράσει άµεσα µε αυτές τις µηχανές ή να γνωρίζει ότι και άλλες µηχανές εµπλέκονται στην διαδικασία. Το δίκτυο µπορεί να είναι µια διάταξη υπολογιστών µέσα σε µια πόλη, σε µια χώρα, ή σε ολόκληρο τον κόσµο. Στο σχήµα 2.3α παρουσιάζεται η λειτουργία ενός συστήµατος client-server µε τη χρήση δικτύου LAN. Παρατηρούµε ότι οι διάφοροι χρήστες µέσω του δικτύου LAN συνδέονται µε τον server όπου και εκτελούνται τα requests αλλά και η επικοινωνία µεταξύ των µελών του δικτύου. 18

19 Σχήµα 2.3α Σύστηµα client-server Πώς αναπτύχθηκε η client-server τεχνολογία Η τεχνολογία των υπολογιστών αναπτύχθηκε βαθµιαία, µε τέτοιο τρόπο που κάθε καινούργια αρχιτεκτονική έπαιρνε τα πλεονεκτήµατα από τις τεχνικές που ήδη υπήρχαν, ώστε να εκµεταλλεύεται όλες τις δυνατότητες των υπολογιστών. Σήµερα οι υπολογιστές είναι µικρότεροι, γρηγορότεροι και φθηνότεροι από ότι παλιότερα. Σαν αποτέλεσµα, η γενική κατεύθυνση είναι η διανοµή της επεξεργασίας της πληροφορίας αλλά και της ίδιας της πληροφορίας σε ένα πλήθος αυτών των νέων υπολογιστών. Ο όρος αρχιτεκτονική συνήθως χρησιµοποιείται για να περιγράφει συστήµατα διαχείρισης βάσεων δεδοµένων, λειτουργικά συστήµατα και άλλους υπολογιστικούς µηχανισµούς λογισµικού και υλικού. Οι αρχιτεκτονικές περιγράφουν πως οι συσκευές και τα λογισµικά πακέτα ταιριάζουν για να φτιάξουν είναι εύκολο στην χρήση και στην διαχείριση σύνολο. Η κλασσική αρχιτεκτονική αποτελείται από έναν υπολογιστή µεγάλης ισχύος, (που παίζει το ρόλο του οικοδεσπότη) µε ένα ή περισσότερα απλά τερµατικά. Οι εφαρµογές ελέγχονται και διανέµονται από τον υπολογιστή-«οικοδεσπότη». Σε αυτόν πραγµατοποιούνται όλες οι διαχειρίσεις πληροφοριών, η λογική των εφαρµογών και η µορφοποίηση της εµφάνισης τους. Οι χρήστες αλληλεπιδρούν µε το κεντρικό 19

20 σύστηµα µέσω των τερµατικών, τα οποία εµφανίζουν µόνο πληροφορίες. Αυτή είναι η πιο συνηθισµένη αρχιτεκτονική σήµερα. Ένα καλά οργανωµένο σύστηµα που χρησιµοποιεί αυτήν την κλασσική αρχιτεκτονική προσφέρει τις ακόλουθες δυνατότητες: Ένα υψηλό επίπεδο αξιοπιστίας. Κεντρικό έλεγχο και κεντρική διαχείριση των πληροφοριών. Ισχυρή διαχείριση των πληροφοριών και δυνατότητα αποθηκεύσεων. Πάντως, οι κλασικές εφαρµογές περιορίζουν την ευελιξία των τελικών χρηστών. Η διασύνδεση των χρηστών δεν είναι γραφική, κάτι που κάνει το σύστηµα δυσκολότερο στη χρήση και σηµαίνει ότι ο χρήστης πρέπει να µάθει πως να χρησιµοποιήσει την γλώσσα του οικοδεσπότη. Επίσης, οι εφαρµογές εξαρτώνται από µια πλατφόρµα, που σηµαίνει ότι εάν κάτι συµβεί στον υπολογιστή-«οικοδεσπότη», ο χρήστης δεν µπορεί να χρησιµοποιήσει το σύστηµα, έως ότου το σύστηµα αρχίσει να επαναλειτουργεί. Στην client-server αρχιτεκτονική, η client εφαρµογή τρέχει σε έναν πλήρη σταθµό εργασίας. Αυτός ο σταθµός µπορεί να είναι ένας προσωπικός υπολογιστής, ένας UNIX σταθµός εργασίας ή ένας Mac. Η client εφαρµογή βασίζεται στις υπηρεσίες που προσφέρει ο server και επικοινωνούν µέσω πρωτοκόλλων, όπως το πρωτόκολλο του Internet (TCP/IP) ή του Novell (IPX/SPX). Το περιβάλλον του client-server έχει πολλά πλεονεκτήµατα σε σχέση µε τις κλασσικές αρχιτεκτονικές. Η διαχείριση της διασύνδεσης των χρηστών και άλλες επεξεργασίες είναι αποφορτισµένα από τον «οικοδεσπότη», ενώ ο server ακόµη προσφέρει συγκεντρωµένο έλεγχο των κοινών πόρων. Επειδή ο client επικοινωνεί µε τον server µέσω ενός καθορισµένου συστήµατος διασύνδεσης, δεν χρειάζεται να γνωρίζει που ανήκει ο server ή πως ενεργεί. Ο σταθµός εργασίας τρέχει την εφαρµογή και εµφανίζει τις πληροφορίες στον χρήστη. Μόνο όταν ο client προσπελάζει πληροφορίες, τότε εγκαθίσταται επικοινωνία µε τον server. Ο φόρτος εργασίας µειώνεται δραµατικά στον υπολογιστή-«οικοδεσπότη» όσο αυξάνεται η ισχύς κάθε σταθµού εργασίας. Βέβαια υπάρχουν και κάποια µειονεκτήµατα της αρχιτεκτονικής client-server. Ένα από αυτά αφορά την κυκλοφοριακή συµφόρηση στο δίκτυο, που προκαλείται από τον αυξανόµενο αριθµό ταυτόχρονων αιτηµάτων σε έναν κεντρικό υπολογιστή µε 20

21 αποτέλεσµα την υπερφόρτωσή του. Η δυσλειτουργία ενός τέτοιου συστήµατος µπορεί να προκληθεί επίσης και από την πιθανότητα αιτήµατα των χρηστών (clients) να αποτύχουν λόγω της αποχώρησης κόµβων που συντελούν στην ολοκλήρωση των αιτηµάτων. 21

22 3. Συστήµατα ιαχείρισης Βάσεων εδοµένων 3.1 Εισαγωγή- Ορισµοί Με τον όρο «βάση δεδοµένων» (database) εννοούµε µια ολοκληρωµένη συλλογή δεδοµένων τα οποία έχουν να κάνουν µε τις δραστηριότητες ενός ή περισσοτέρων, αλληλοσυσχετιζόµενων οργανισµών. Είναι µια λογικά συνεκτική συλλογή δεδοµένων που έχει κάποια εγγενή σηµασία. Έχει κάποιο συγκεκριµένο σκοπό, απευθύνεται σε συγκεκριµένους χρήστες και προορίζεται για συγκεκριµένες εφαρµογές. Για παράδειγµα, βάση δεδοµένων αποτελούν τα επιχειρησιακά δεδοµένα ενός πανεπιστηµίου που καταχωρούν πληροφορία για: Οντότητες στο χώρο του συστήµατος, όπως φοιτητές, ακαδηµαικοί, µαθήµατα, υπολογιστές εργαστηρίων κ.α. Συσχετίσεις µεταξύ των οντοτήτων, όπως συµµετοχή φοιτητών σε µαθήµατα, διδασκαλία µαθηµάτων από καθηγητές, καθηγητές υπεύθυνοι για εργαστήρια και τους υπολογιστές τους. Το Σύστηµα ιαχείρισης Βάσεων εδοµένων (DBMS) είναι λογισµικό το οποίο είναι ειδικά σχεδιασµένο ώστε να διευκολύνει τη χρήση και τη συντήρηση µεγάλου όγκου πληροφορίας. Το DBMS αποτελεί σήµερα τύπο συστήµατος η ανάγκη χρήσης του οποίου µεγαλώνει µε ταχύ ρυθµό. Εναλλακτική του DBMS λύση αποτελεί ο αυτοσχεδιασµός, όπου όµως δε διασφαλίζεται η συµβατότητα στη µεταφορά δεδοµένων από/προς άλλα αντίστοιχα περιβάλλοντα. Το DBMS σαν αντικείµενο έρευνας και εφαρµογής µπορεί να θεωρηθεί ότι αποτελεί ένα µικρόκοσµο της επιστήµης των υπολογιστών. Εµπεριέχει ένα ευρύ φάσµα θεµάτων και τεχνικών, όπως γλώσσες προγραµµατισµού, αντικειµενοστρέφεια, µεταγλώττιση, λειτουργικά συστήµατα, ταυτόχρονο προγραµµατισµό, δοµές δεδοµένων, δυναµικό προγραµµατισµό κ.α. 3.2 Ιστορική αναδροµή Από τα πρώτα χρόνια της εµφάνισης των υπολογιστικών συστηµάτων, σηµαντικός είναι ο ρόλος της αποθήκευσης και της επεξεργασίας των δεδοµένων. Το πρώτο 22

23 γενικής χρήσης DBMS κατασκευάστηκε από τον Charles Bachman της εταιρείας General Electric στις αρχές της δεκαετίας του 1960, και είχε ονοµαστεί IDS (Integrated Data Store). Το σύστηµα του C.Bachman βασιζόταν στο δικτυωτό µοντέλο δεδοµένων το οποίο εισήχθη σαν πρότυπο από το Συνέδριο Γλωσσών των Συστηµάτων εδοµένων και επηρέασε τα µέγιστα στην ανάπτυξη των συστηµάτων DBMS στα µέσα του Στα τέλη αυτής της δεκαετίας, η IBM ανέπτυξε το σύστηµα IMS (Information Management System), ένα DBMS το οποίο υποστηρίζει ακόµα και σήµερα πολλές σηµαντικές εφαρµογές. ιαφοροποιηµένο από το IDS, το IMS βασίζεται σε µια εναλλακτική αναπαράσταση πληροφορίας, το ιεραρχικό µοντέλο δεδοµένων. Το 1970 ο Edgar Codd ανέπτυξε το θεωρητικό ορισµό του σχεσιακού µοντέλου δεδοµένων, το οποίο αποτέλεσε το θεµέλιο λίθο της τεχνολογίας βάσεων δεδοµένων όπως τη γνωρίζουµε σήµερα. Το µοντέλο αυτό χαρακτηρίζεται από τη δυνατότητα µαζικής επεξεργασίας των δεδοµένων και από την ανεξαρτησία των εφαρµογών από τη φυσική υλοποίηση. Όµως οι βάσεις δεδοµένων δεν ήταν ιδιαίτερα διαδεδοµένες στη δεκαετία του 1970 και ιδιαίτερα στους τελικούς χρήστες. Στα µέσα της δεκαετίας κυριαρχούσαν, αν µπορεί να ειπωθεί κάτι τέτοιο, δύο σχεσιακά συστήµατα, η Ingres και το System R. Σήµερα απόγονοι των παραπάνω συστηµάτων θεωρούνται η Ingres, η Sybase και ο Microsoft SQL Server για την Ingres, και η Oracle και IBM DB2 για το System R. Στις αρχές της δεκαετίας του 1980 ξεκίνησε η ουσιαστική ανάπτυξη των σχεσιακών συστηµάτων, µε την Oracle να κυριαρχεί σταδιακά στο χώρο. Την αλµατώδη ανάπτυξη τη δεκαετία του 1980 βοήθησαν σηµαντικά και άλλοι παράγοντες, όπως η ανάπτυξη υψηλού επιπέδου ισχυρότατων γλωσσών προγραµµατισµού και επεξεργασίας, η πρόοδος στη θεωρία των βάσεων δεδοµένων και η ανάπτυξη εν τέλει της ίδιας της Structured Query Language (SQL). Ήταν αναµφισβήτητα η εποχή των Relational Database Systems. Τέλος, προς το τέλος της δεκαετίας έκαναν την εµφάνισή τους και τα πρώτα αντικειµενοστρεφή και ευφυή συστήµατα. Η προηγούµενη δεκαετία του 1990 ήταν η εποχή των σύνθετων οντοτήτων στις βάσεις δεδοµένων, όπως τα πολυµέσα, software components και engineering αντικείµενα τα οποία διαµόρφωσαν µια νέα κατηγορία συστηµάτων βάσεων δεδοµένων, τα Object-Relational Database Systems. Περαιτέρω, γινόταν όλο και 23

24 περισσότερο λόγος για έννοιες όπως κατανεµηµένες βάσεις δεδοµένων, παράλληλοποίηση, συστήµατα βάσεων δεδοµένων σε προσωπικούς υπολογιστές, συστήµατα βάσεων δεδοµένων στο web. Τελικά σήµερα η βάση δεδοµένων αποτελεί αναπόσπαστο κοµµάτι οποιουδήποτε medium ή large scale συστήµατος, τόσο σε επίπεδου προσωπικών υπολογιστών, όσο και στο Internet. Με χρήση ενός προγράµµατος βάσης δεδοµένων απλοποιείται και διευκολύνεται πληθώρα εργασιών, από την πιο απλή, όπως η οργάνωση µιας αποθήκης, έως την πιο σύνθετη, όπως η συλλογή δεδοµένων από ένα διαστηµόπλοιο. Στο Internet δε, µε τον όγκο της πληροφορίας να αυξάνεται συνεχώς, η χρήση database καθίσταται επιτακτική για οποιοδήποτε αρκετά µεγάλο web site. 3.3 Αρχιτεκτονική Συστηµάτων ιαχείρισης Βάσεων εδοµένων Στο Σχήµα 3.3α παρουσιάζεται η αρχιτεκτονική ενός DBMS. Στο εξωτερικό επίπεδο τα δεδοµένα περιγράφονται σύµφωνα µε τις αντιλήψεις του χρήστη, ενώ στο ιδεατό ή λογικό επίπεδο τα δεδοµένα περιγράφονται σύµφωνα µε την αντίληψη του συνόλου των χρηστών. Τέλος το εσωτερικό επίπεδο αναφέρεται στην φυσική αποθήκευση δεδοµένων στις περιφερειακές µονάδες. Σχήµα 3.3α Αρχιτεκτονική DBMS Η ευρεία χρήση και διάδοση των DBMS οφείλεται στα εξής πλεονεκτήµατα: Ανεξαρτησία των δεδοµένων: Οι εφαρµογές και ο προγραµµατιστικός τους κώδικας χρειάζεται να µην εξαρτώνται από λεπτοµέρειες που έχουν να κάνουν µε 24

25 την αναπαράσταση και την αποθήκευση των δεδοµένων. Το DBMS ανεξαρτητοποιεί τον προγραµµατιστικό κώδικα από αυτού του είδους τις λεπτοµέρειες της εσωτερικής αναπαράστασης της καταχωρηµένης πληροφορίας. Ταχεία πρόσβαση στα δεδοµένα: Το DBMS διαθέτει και εφαρµόζει αυτόµατα µία ποικιλία τεχνικών ώστε να καταχωρεί και να ανακτά τα δεδοµένα µε παραγωγικό τρόπο. Αυτές του οι δυνατότητες αναδεικνύονται να είναι ιδιαίτερα χρήσιµες στην περίπτωση όπου τα δεδοµένα καταχωρούνται σε εξωτερικές περιφερειακές µονάδες. Ακεραιότητα των δεδοµένων και ασφάλεια: Όταν η προσπέλαση στα δεδοµένα γίνεται πάντα µέσω του DBMS, το τελευταίο µπορεί να επιβάλλει περιορισµούς που αφορούν την ακεραιότητά τους. Επίσης το DBMS µπορεί να επιβάλλει ελέγχους στην πρόσβαση των δεδοµένων καθορίζοντας, από το σύνολο της πληροφορίας που καταχωρεί η βάση, ποια τµήµατα θα είναι προσπελάσιµα από τις διάφορες κατηγορίες χρηστών. ιαχείριση δεδοµένων: Όταν συµβαίνει πολλοί χρήστες να µοιράζονται την πρόσβαση στα ίδια δεδοµένα, ο συγκεντρωτισµός στη διαχείριση των δεδοµένων συνεπάγεται σηµαντική βελτίωση των επιδόσεων του συστήµατος. Ταυτόχρονη πρόσβαση και επαναφορά από βλάβη: Το DBMS χρονοπρογραµµατίζει την ταυτόχρονη πρόσβαση στα δεδοµένα, σε τρόπο ώστε οι χρήστες να θεωρούν ότι µόνο ένας από αυτούς έχει πρόσβαση στην καταχωρηµένη πληροφορία κάθε µία χρονική στιγµή της επεξεργασίας. Επίσης Το DBMS παρέχει όλα τα εφόδια στο χρήστη ώστε να κατοχυρώνει την ασφαλή επαναφορά των δεδοµένων του σε περίπτωση βλάβης του συστήµατος. Μειωµένος χρόνος ανάπτυξης των εφαρµογών: Το DBMS υποστηρίζει και κάνει διαθέσιµα στο χρήστη ένα πλήθος συναρτήσεων γενικής χρήσεως που ενσωµατώνονται εύκολα και γρήγορα στην κάθε µια εφαρµογή βάσης δεδοµένων που αναπτύσσεται. Σε συνδυασµό µε την υποστήριξη µιας υψηλού επιπέδου διεπαφής πρόσβασης στα δεδοµένα, η δυνατότητά του αυτή διευκολύνει την ταχύτατη ανάπτυξη εφαρµογών DBMS, οι οποίες τείνουν να είναι και πιο αξιόπιστες στη λειτουργικότητά τους. 25

26 3.4 MySQL Στο σηµείο αυτό θα αναφερθούµε συνοπτικά σε 3 από τα πιο γνωστά DBMS και στη συνέχεια θα αναλυθεί το σύστηµα διαχείρισης βάσεων δεδοµένων MySQL που χρησιµοποιήθηκε στην εφαρµογή του εργαστηρίου καθώς και οι λόγοι επιλογής του. Oracle (ως εκπρόσωπος διαφόρων µεγάλης ισχύος συστηµάτων διαχείρισης βάσεων δεδοµένων (DBMS) µε µεγάλες δυνατότητες π.χ. Sybase, DB2, SQL server κ.ά.). Τα χαρακτηριστικά της είναι: Οι φόρµες και οι αναφορές αναπτύσσονται χωριστά από την βάση δεδοµένων. Γενικά απαιτείται µεγάλος χρόνος για ανάπτυξη. Μικρή ευελιξία όσο αφορά την εγκατάσταση σε πλατφόρµες Windows, µία έκδοση για παράδειγµα της Oracle Data Base µπορεί να εγκαθίσταται στα Windows 95, ενώ να µην είναι συµβατή µε τα Windows 98 ή Ανάλογα ισχύουν και για τα εργαλεία ανάπτυξης φορµών και αναφορών που την συνοδεύουν. Μεγάλο κόστος για την αγορά της (από τα µεγαλύτερα στην αγορά). Μεγάλες απαιτήσεις από άποψη υπολογιστικής ισχύος και µνήµης (οι πρόσφατες εκδόσεις απαιτούν 128MB κύριας µνήµης). Μεγάλο κόστος συντήρησης και διαχείρισης. Γενικά η Oracle προτιµάται για πολύ µεγάλες βάσεις δεδοµένων µε µεγάλες απαιτήσεις σε ταχύτητα υποστήριξης πολλών χρηστών. Microsoft Access Visual περιβάλλον από την Microsoft το οποίο περιέχει ένα καλό και αξιόπιστο DMBS για µεσαίου µεγέθους βάσεις δεδοµένων. Εύκολη και ταχύτατη ανάπτυξη φορµών και αναφορών. Ενσωµατωµένες πολλές από τις δυνατότητες µεγαλυτέρων DMBS συστηµάτων. Πλήρη συµβατότητα µε όλες τις εκδόσεις των Windows ( NT). Πολύ µικρές απαιτήσεις σε άποψη υπολογιστικής ισχύος και µνήµης (16MB κύριας µνήµης είναι αρκετά). Microsoft SQL Server 2000 Τύπος ισχυρού DBMS µε πολλές δυνατότητες, το οποίο χρησιµοποιείται ευρύτατα για τη διαχείριση µεγάλων βάσεων δεδοµένων. Είναι διαθέσιµο σε διάφορες εκδόσεις ανάλογα µε τις απαιτήσεις που υπάρχουν. Πιο διαδεδοµένο είναι το SQL Server 200 Enterprise Edition που διαχειρίζεται µεγάλες βάσεις δεδοµένων. Υποστηρίζει όλες τις δυνατότητες του MSSQLS ενώ εµφανίζει πολύ καλή κλιµάκωση σε σχέση µε το µέγεθος των δεδοµένων και τον αριθµό των χρηστών. Τα χαρακτηριστικά αυτά επιτρέπουν την να χρησιµοποιείται επιτυχώς για την υποστήριξη µεγάλων web sites καθώς 26

27 και συστηµάτων µε µεγάλο αριθµό συναλλαγών ανά µονάδα χρόνου. Άλλες εκδόσεις του MSSQLS-2000 είναι οι SQL Server 2000 Standard Edition, SQL server 2000 Personal Edition, SQL Server 2000 Developer Edition κ.α. Το σύστηµα διαχείρισης βάσεων δεδοµένων MySQL Η MySQL είναι ένας SQL Database Server. Ένας server είναι ένα κοµµάτι λογισµικού (software) που τρέχει (εκτελείται) στο παρασκήνιο σ έναν υπολογιστή. Η MySQL είναι ένα σχεσιακό σύστηµα διαχείρισης βάσεων δεδοµένων πολλών χρηστών. Τα αρχικά SQL σηµαίνουν Structured Query Language, δηλαδή δοµηµένη Γλώσσα Ερωτηµάτων ή Ερωταποκρίσεων. Αναπτύχθηκε από την εταιρεία IBM την δεκαετία µεταξύ και τυποποιήθηκε περί τα τέλη Υπάρχουν διάφορες εκδόσεις SQL. Κάθε εταιρεία -κατασκευαστής βάσεων δεδοµένων έχει προσθέσει στην SQL κάποια ειδικότερα χαρακτηριστικά. Η MySQL είναι γρήγορη, πολύ αξιόπιστη και εύκολη στη χρήση. Επίσης, η MySQL αποτελεί την επιλογή της γλώσσας PHP 3 και πολλές εταιρείες web hosting παρέχουν την MySQL και την PHP ως ένα στάνταρ πακέτο. Το µεγαλύτερο πλεονέκτηµα της MySQL είναι ότι είναι δωρεάν (free) και ανοικτού κώδικα (open source). Επίσης, µπορεί να εκτελεστεί σε πολλές πλατφόρµες, όπως Windows, Linux, FreeBSD, Solaris κ.ά. Επιλέχθηκε για την δηµιουργία και την διαχείριση της βάσης δεδοµένων την MySQL γιατί προσφέρει αρκετά πλεονεκτήµατα όπως : Ευκολία χρήσης: Ενώ βασικές γνώσεις SQL απαιτούνται (όπως και στα περισσότερα DBMS) δε χρειάζεται παραπάνω από µερικές δηλώσεις SQL για να αλληλεπιδράσει κάποιος µε τη βάση. Ασφάλεια: Η ΜySQL περιλαµβάνει στερεά στρώµατα ασφάλειας στοιχείων που προστατεύουν τα ευαίσθητα στοιχεία από εισβολείς. Τα δικαιώµατα µπορούν να ρυθµιστούν, έτσι ώστε να επιτρέπουν µερικά ή όλα τα προνόµια είτε στα άτοµα είτε σε οµάδες. Οι κωδικοί πρόσβασης κωδικοποιούνται. 3 Γλώσσα προγραµµατισµού γενικού σκοπού, κατάλληλη για διαδικτυακές εφαρµογές και για την ανάπτυξη του Ιστού. Μπορεί να χρησιµοποιηθεί για τη δηµιουργία δυναµικών ιστοσελίδων και την αλληλεπίδραση τους µε βάσεις δεδοµένων 27

28 Ταχύτητα: Για χάρη της ταχύτητας, οι σχεδιαστές της MySQL αποφάσισαν να προσφέρουν λιγότερα χαρακτηριστικά γνωρίσµατα από άλλους ανταγωνιστές, όπως η Oracle, χωρίς να παραβλέπει τα βασικά γνωρίσµατα που απαιτούνται από τους Database administrators. υνατότητα χειρισµού µεγάλου όγκου δεδοµένων: Η MySQL µπορεί να χειριστεί σχεδόν οποιοδήποτε αριθµό στοιχείων, µέχρι και 50 εκατοµµύρια σειρές και πάνω. Το βασικό όριο µεγέθους αρχείου είναι 4 GB. Παρ όλα αυτά, µπορεί να αυξηθεί σε ένα θεωρητικό όριο των 8 TB δεδοµένων. Βέλτιστη χρήση µνήµης: Ένας MySQL server έχει εξεταστεί λεπτοµερώς για να αποτρέπει τις διαρροές µνήµης. υνατότητα εγκατάστασης σε πολλά λειτουργικά συστήµατα: Linux, τα περισσότερα Unix και Windows επιτρέπουν την εγκατάσταση της MySQL. Υποστήριξη πολλών διεπαφών ανάπτυξης: JDBC, ODBC, Perl, PHP κ.α. επιτρέπουν τη δηµιουργία πληθώρας εφαρµογών για τις πιο σηµαντικές πλατφόρµες Στοιχεία και εντολές µιας Βάσεις εδοµένων Τα δεδοµένα αποθηκεύονται (οργανώνονται) στις εξής στοιχειώδεις µορφές: Πεδίο (field), είναι το µικρότερο κοµµάτι δεδοµένων στο οποίο µπορούµε να αναφερθούµε και περιέχει ένα µόνο χαρακτηριστικό ή ιδιότητα ενός στοιχείου της βάσης δεδοµένων. Εγγραφή (record), είναι ένα σύνολο από διαφορετικά πεδία που περιέχει όλες τις πληροφορίες για ένα στοιχείο. Αρχείο (file), είναι ένα σύνολο από πολλά παρόµοια στοιχεία (εγγραφές). Πρωτεύον κλειδί (primary key), ένα πεδίο ή συνδυασµός πεδίων που χαρακτηρίζει µοναδικά µια εγγραφή. Κλειδί (key), είναι ένα πεδίο που δεν έχει κατ ανάγκη µοναδική τιµή και που µπορούµε να το χρησιµοποιήσουµε για να κάνουµε αναζήτηση σε ένα αρχείο. Ξένο κλειδί (foreign key), είναι ένα πεδίο που έχει το ίδιο σύνολο τιµών µε πρωτεύον κλειδί ενός άλλου αρχείου. 28

29 Η SQL διαφέρει από τις διαδικαστικές γλώσσες στο ότι επικεντρώνεται στον ορισµό και τον χειρισµό των δεδοµένων και οι εντολές τις είναι πολύ κατανοητές µια και γράφονται σχεδόν σε απλά αγγλικά. Ας εξετάσουµε µερικές από τις εντολές. Η εντολή CREATE DATABASE όνοµα_βδ δηµιουργεί µια βάσης δεδοµένων µε συγκεκριµένο όνοπµα. Η εντολή CREATE TABLE όνοµα_πίνακα δηµιουργεί ένα πίνακα και τον προσθέτει στη βάση δεδοµένων. Η εντολή ALTER TABLE πίνακας ADD προσθέτει µια ή περισσότερες στήλες σε ένα πίνακα. Η εντολή DROP TABLE πίνακας επιτρέπει την διαγραφή ενός πίνακα από την βάση. Η εντολή DELETE FROM πίνακας [WHERE συνθήκη] επιτρέπει την διαγραφή γραµµών /πλειάδων από ένα πίνακα. Ο όρος WHERE µας επιτρέπει να εισάγουµε µια συνθήκη έτσι ώστε να διαγραφούν όσες γραµµές πληρούν τη συνθήκη. Η εντολή SELECT χρησιµοποιείται για αναζήτηση και ανάκτηση πληροφοριών από και βάση δεδοµένων. Κάποιοι τύποι δεδοµένων διαφαίνονται στον ακόλουθο πίνακα: Πίνακας 3.4α Τύποι δεδοµένων SQL 29

30 4. Γλώσσες ηµιουργίας υναµικών Ιστοσελίδων 4.1 Στατικές και υναµικές σελίδες Στατικές σελίδες Με τον όρο «στατική σελίδα» εννοούµε µία σελίδα σε µορφή HTML (ο κώδικας µε τον οποίο δοµείται µια σελίδα του web), η οποία µπορεί να δηµιουργηθεί και από εσάς τους ίδιους, χωρίς ιδιαίτερες γνώσεις, µε χρήση ενός προγράµµατος επεξεργασίας HTML, ακόµη και µε το γνωστό σε όλους Word. Περισσότερες από µία στατικές σελίδες συναποτελούν ένα στατικό δικτυακό τόπο. Ουσιαστικά κάθε στατικό site αποτελεί ένα σύνολο ιστοσελίδων µε σταθερό περιεχόµενο, οι οποίες µπορούν να περιλαµβάνουν εκτενείς πληροφορίες (όπως στοιχεία επικοινωνίας, τιµές, προϊόντα/υπηρεσίες, γραφικά), αλλά δεν µπορούν να τροποποιούνται εύκολα, γρήγορα και µε χαµηλό κόστος. Προκειµένου να γίνει πιο κατανοητό το παραπάνω, ας φέρουµε ως παράδειγµα ένα µικρό site µιας εταιρίας η οποία εµπορεύεται hardware υλικό για Η/Υ, η οποία διαθέτει ένα κατάλογο προϊόντων. Αν η επιχείρηση ασχολείται αποκλειστικά µε την πώληση πέντε ειδών τροφοδοτικών, για παράδειγµα, τότε θα πρέπει να δηµιουργηθούν πέντε διαφορετικές σελίδες προϊόντων, αναγράφοντας η καθεµία τις λεπτοµέρειες του κάθε προϊόντος. Ακόµη, θα χρειαστεί µία σελίδα στην οποία θα αναφέρουµε λίγα λόγια για την εταιρία / κατάστηµα, άλλη µία για τις παραγγελίες, µία σελίδα επικοινωνίας του χρήστη µε το κατάστηµα, και πιθανώς µερικές ακόµα. Σε ένα στατικό site, όλες αυτές οι σελίδες δηµιουργούνται µία φορά και δηµοσιεύονται στον web server. Οι επισκέπτες µπορούν να έχουν πρόσβαση στις σελίδες του δικτυακού τόπου και να ενηµερωθούν για τα προϊόντα ώστε να προχωρήσουν πιθανώς στην παραγγελία, η οποία στην προκειµένη περίπτωση δεν πραγµατοποιείται online αλλά µέσω ηλεκτρονικού ταχυδροµείου. Ο χρήστης δηλαδή αποστέλλει σε εσάς ένα , στο οποίο σας αναφέρει το προϊόν που θέλει να αγοράσει και εσείς στη συνέχεια θα πρέπει να επικοινωνήσετε µαζί του, να του στείλετε το προϊόν και να λάβετε τα χρήµατά σας µε αντικαταβολή. Εάν υποθέσουµε τώρα ότι θέλετε να προσθέσετε µερικά ακόµη είδη τροφοδοτικών, τότε θα πρέπει να 30

31 δηµιουργήσετε επιπλέον σελίδες για το κάθε προϊόν ξεχωριστά. Εάν πάλι θέλετε να αλλάξετε κάποιο από τα στοιχεία (τηλέφωνο, διεύθυνση, τιµές, κ.λπ.), τότε θα πρέπει να ανατρέξετε σε καθεµία από τις σελίδες που περιέχουν κάποιο απ αυτά τα στοιχεία και να το αλλάξετε από την εκάστοτε σελίδα. Φανταστείτε λοιπόν ένα site µε 200 σελίδες, που όλες στο κάτω µέρος αναφέρουν το τηλέφωνο της εταιρίας σας. Για να αλλάξετε τον αριθµό, είστε υποχρεωµένος να µπείτε και στις 200 σελίδες ξεχωριστά! υναµικές σελίδες Στον αντίποδα έχουµε τις λεγόµενες "δυναµικές σελίδες" ή αλλιώς "δυναµικά sites". Οι δυναµικές σελίδες δεν προϋπάρχουν µε µια συγκεκριµένη µορφή και δοµή όπως οι στατικές αλλά είναι άµεσα συνδεδεµένες µε µια βάση δεδοµένων. Ανάλογα µε τα δεδοµένα που εισάγει ο χρήστης κάθε φορά στη βάση δεδοµένων, η σελίδα διαµορφώνεται ανάλογα στη µορφή και στο περιεχόµενό της. Όταν επισκεφτούµε µια τοποθεσία Ιστού (για παράδειγµα, την ο παροχέας υπηρεσιών που χρησιµοποιείται κατευθύνει την αίτηση µας στο διακοµιστή ο οποίος φιλοξενεί τις πληροφορίες για την διεύθυνση Ο διακοµιστής διαβάζει τον κώδικα ΡΗΡ και τον επεξεργάζεται συµφωνά µε τις οδηγίες που αυτός περιέχει. Στο παράδειγµα αυτό ο κώδικας ΡΗΡ δίνει εντολή στο διακοµιστή να στείλει τα κατάλληλα δεδοµένα ιστοσελίδας στο φυλλοµετρητή σε µορφή HTML. Με λίγα λόγια, η ΡΗΡ δηµιουργεί επιτόπου µια σελίδα HTML µε βάση τις παραµέτρους της επιλογής µας. Όπως και οι στατικές σελίδες, είναι οικονοµικές στην κατασκευή (µικρό κόστος ανά σελίδα), και επιτρέπουν εύκολη συντήρηση και παρακολούθηση (για µεγάλους δικτυακούς τόπους, µε µεγάλο αριθµό προϊόντων και ειδών). εν είναι όµως τόσο εύκολο να δηµιουργηθούν από έναν άπειρο χρήστη, καθώς απαιτούνται κάποιες βασικές γνώσεις προγραµµατισµού και χρήσης εφαρµογών και βάσεων δεδοµένων (SQL, PHP, ASP, Perl, κ.λπ.).το κόστος τους µπορεί να είναι υψηλό για µικρά websites, ειδικά σε ό,τι αφορά τη συντήρησή τους, κι αυτό γιατί, καθώς απαιτούνται κάποιες επιπλέον γνώσεις, το πιθανότερο είναι ότι θα πρέπει να αναθέσετε σε κάποιον τρίτο την όλη διαδικασία ενηµέρωσης και συντήρησης. 31

32 4.1.3 Πλεονεκτήµατα δυναµικών σελίδων Ο δυναµικός µηχανισµός δηµιουργεί τις σελίδες αυτές διαβάζοντας πληροφορίες που προέρχονται από µια βάση δεδοµένων, εισάγοντας τις πληροφορίες (data) σε ένα «template» και στέλνοντας τη σελίδα πίσω στον web browser. Ένα δυναµικό site παρέχει πολλές ευκολίες για τον χειριστή του site: Μπορεί να αλλάξει µε ευκολία κάποια πληροφορία σε όλες τις σελίδες του site ταυτόχρονα, κάνοντας µόνο µια αλλαγή στη βάση δεδοµένων ή στο template, η οποία θα ενηµερώνει όλες τις σελίδες. Μπορεί να αλλάξει εύκολα τις πληροφορίες. Για παράδειγµα, αν επιθυµεί να κάνει αλλαγές στα στοιχεία κάποιου υπολογιστή, θα προστεθεί ένα επιπλέον πεδίο στη βάση δεδοµένων που θα απεικονίζει την αλλαγή αυτή. Η ύπαρξη ενός δυναµικού site παρέχει ευκολίες που βοηθούν τον χειριστή αλλά και τους επισκέπτες του site. Ένα από τα βασικά είναι και η αποθήκευση πληροφοριών σχετικά µε τις προτιµήσεις των χρηστών και η εξατοµίκευση των σελίδων σύµφωνα µε τις ανάγκες καθενός. Να επιλέγει ο επισκέπτης τον τρόπο µε τον οποίο θα βλέπει τα προϊόντα, καθώς έχει τη δυνατότητα να εξατοµικεύει τις σελίδες χρησιµοποιώντας διάφορα κριτήρια δικής του επιλογής, που υπάρχουν ήδη στη βάση δεδοµένων, π.χ. ονοµασία υπολογιστή, κ.λπ. υνατότητα δηµιουργίας στατιστικών αναφορών για λήψη αποφάσεων. Όλα αυτά µπορούν να είναι συνδεδεµένα µε µία βάση δεδοµένων του συστήµατος, ώστε στην εφαρµογή µας να προειδοποιείται ο χρήστης αν κάποιο κριτήριο που έχει επιλέξει για αναζήτηση δεν είναι πλέον διαθέσιµο. 4.2 Μέθοδοι ηµιουργίας υναµικών Σελίδων Η πιο δηµιφιλής γλώσσα δηµιουργίας δυναµικών ιστοσελίδων είναι η PHP. Υπάρχουν όµως και άλλες µέθοδοι που είναι εξίσου ικανοποιητικές και χρήσιµες. Μερικές από αυτές είναι: 32

33 ASP: Οι Active Server Pages (ASP) είναι η µηχανή script της Microsoft απο )την πλευρά του Server για δυναµικά-παραγόµενες ιστοσελίδες. Πωλείται ως πρόσθετη στις υπηρεσίες πληροφοριών ιαδικτύου (IIS). Ο προγραµµατισµός ASP των ιστοσελίδων γίνεται ευκολότερος από τα διάφορα ενσωµατωµένα αντικείµενα. Κάθε αντικείµενο αντιστοιχεί σε µια οµάδα συχνά χρησιµοποιηµένης λειτουργίας χρήσιµης για δυναµικές ιστοσελίδες.στην ASP 2,0 υπάρχουν έξι τέτοια ενσωµατωµένα αντικείµενα:application, ASPError, Request, Response, Server, and Session. Η Session, παραδείγµατος χάριν, είναι ένα cookie-based αντικείµενο συνόδου που διατηρεί τις µεταβλητές από σελίδα σε σελίδα. Οι περισσότερες ASP σελίδες γράφονται σε VBScript. ASP.NET: Είναι ένα πλαίσιο εφαρµογής του WEB που πωλείται από τη Microsoft που οι προγραµµατιστές µπορούν να χρησιµοποιήσουν για να δηµιουργήσουν δυναµικές ιστοσελίδες,εφαρµογές WEB και XML WEB υπηρεσίες. Είναι µέρος της πλατφόρµας.net της Microsoft. και είναι διάδοχος στην τεχνολογία ASP της Microsoft. Η ASP.NET στηρίζεται στο χρόνο εκτέλεσης κοινής γλώσσας,που σηµαίνει οτι οι προγραµµατιστές µπορούν να γράψουν ASP. NET χρησιµοποιώντας οποιαδήποτε γλώσσα.net της Microsoft. ColdFusion: Το ColdFusion είναι µια εφαρµογή εξυπηρέτη και ένα πλαίσιο ανάπτυξης λογισµικού εφαρµογών που χρησιµοποιείται για την ανάπτυξη του λογισµικού υπολογιστών γενικά, και δυναµικών ιστοσελίδων ειδικότερα. Εν προκειµένω, το ColdFusion είναι ένα παρόµοιο προϊόν µε την ASP.NET της Microsoft ή την επιχειρηµατική έκδοση της Java. JSP: JavaServer pages (JSP) είναι η τεχνολογία της Java που επιτρέπει οι που υπεύθυνοι για την ανάπτυξη λογισµικού να παράγουν δυναµικά HTML, XML ή άλλους τύπους εγγράφων σε από τη πλευρά του client. Η τεχνολογία επιτρέπει τον κώδικα της Java και έχει ορισµένες προκαθορισµένες ενέργειες για να ενσωµατωθεί αυτός στο στατικό περιεχόµενο. 4.3 PHP Γενικά Η PHP είναι µια ευρέως χρησιµοποιούµενη γλώσσα προγραµµατισµού γενικού σκοπού, κατάλληλη για διαδικτυακές εφαρµογές και για την ανάπτυξη του Ιστού, η 33

34 οποία µπορεί εύκολα να ενσωµατωθεί σε HTML κώδικα. Πρόκειται για µια γλώσσα προγραµµατισµού ανοικτού κώδικα (open source) που µπορεί κανείς εύκολα να την κατεβάσει ελεύθερα από το διαδίκτυο. Είναι εξειδικευµένη για χρήση σε εφαρµογές που αφορούν στον Παγκόσµιο Ιστό. Μπορεί να χρησιµοποιηθεί για τη δηµιουργία δυναµικών ιστοσελίδων και την αλληλεπίδραση τους µε βάσεις δεδοµένων, για το ηλεκτρονικό εµπόριο (e-commerce) και για άλλες εφαρµογές στον Παγκόσµιο Ιστό. Παρά τη συχνή χρήση της για τη δηµιουργία δυναµικών ιστοσελίδων, η PHP µπορεί να κάνει και πολλά άλλα πράγµατα. Η σηµαντική διαφορά της µε άλλες γλώσσες προγραµµατισµού είναι πως εκτελείται στο περιβάλλον του εξυπηρετητή (serverside) σε αντίθεση µε άλλος γλώσσες (π.χ javascript) που εκτελούνται από τον browser του πελάτη. Έτσι, η PHP επικεντρώνεται κυρίως στο server-side scripting και κάνει οτιδήποτε ένα άλλο CGI πρόγραµµα µπορεί να κάνει, όπως να µαζέψει δεδοµένα, να παράγει δυναµικό περιεχόµενο ιστοσελίδων, ή να στείλει και να πάρει cookies Ιστορικά στοιχεία Η PHP (PHP : Hypertext Preprocessor) δηµιουργήθηκε το 1995 και έχει παρουσιάσει αλµατώδη εξέλιξη, κυρίως τα τελευταία επτά χρόνια. Τείνει πλέον να γίνει µια από τις πιο συχνά χρησιµοποιούµενες γλώσσες σε εφαρµογές που αφορούν στον παγκόσµιο Ιστό. Στη συνέχεια, παρατίθεται µια περιγραφή των διαφόρων εκδόσεων της γλώσσας, από τη δηµιουργία της µέχρι και σήµερα. PHP/F1 ηµιουργήθηκε από τον Rasmus Lerdorf το 1995, αρχικά ως ένα απλό σύνολο προγραµµάτων της γλώσσας Perl που το ονόµασε 'Personal Home Page Tools. Σκοπός του ήταν η online πρόσβαση στα αρχεία του. Στη συνέχεια όµως, επειδή απαιτήθηκε µεγαλύτερη λειτουργικότητα, δηµιούργησε µια πολύ µεγαλύτερη εφαρµογή σε γλώσσα C, η οποία προσέφερε τη δυνατότητα επικοινωνίας µε βάσεις δεδοµένων και επέτρεπε στους χρήστες να αναπτύξουν τις δικές τους απλές δυναµικές διαδικτυακές εφαρµογές. Αποφάσισε στη συνέχεια να δηµοσιεύσει τον κώδικα έτσι ώστε να µπορεί ο καθένας να τον χρησιµοποιήσει. Η έκδοση PHP/FI (που σηµαίνει Personal Home Page / Forms Interpreter) περιελάµβανε µερικές από τις βασικές λειτουργίες της γλώσσας PHP όπως την ξέρουµε σήµερα. Περιελάµβανε Perl-like µεταβλητές και ενσωµατωµένο HTML κώδικα. Η σύνταξη ήταν παρόµοια µε αυτήν της Perl, αλλά πολύ πιο περιοριστική και απλή. 34

35 Το 1997, η δεύτερη έκδοση της προηγούµενης C εφαρµογής, η PHP/FI 2.0, υιοθετήθηκε από δεκάδες χιλιάδες χρηστών σε όλο τον κόσµο. Περίπου διαδικτυακές περιοχές (domains) δήλωσαν ότι την εγκατέστησαν, που υπολογίζεται στο 1% των συνολικών περιοχών στο Internet. PHP 3 Η PHP 3 ήταν η πρώτη έκδοση που µοιάζει αρκετά µε την PHP όπως την ξέρουµε σήµερα..ηµιουργήθηκε από τον Andi Gutmans και τον Zeev Suraski το 1997, σαν µια επέκταση της PHP/FI, αφού ανακάλυψαν πως η έκδοση αυτή αδυνατούσε να αναπτύξει µια ecommerce εφαρµογή που προσπαθούσαν να ολοκληρώσουν στα πλαίσια ενός πανεπιστηµιακού project. Προσπαθώντας να συνεργαστούν και να αρχίσουν να δουλεύουν πάνω στον ήδη υπάρχοντα κώδικα της PHP/FI, o Andi, o Rasmus και ο Zeev αποφάσισαν να αναγγείλουν την PHP 3.0 ως επίσηµο διάδοχο της PHP/FI 2.0 και σχεδόν σταµάτησαν την ανάπτυξη της PHP/FI 2.0. Ένα από τα µεγαλύτερα πλεονεκτήµατα της PHP 3.0 ήταν η δυνατότητα επέκτασής της η οποία προσέλκυσε δεκάδες προγραµµατιστές να συνεργαστούν προκειµένου να δηµιουργήσουν ακόµη περισσότερες web εφαρµογές βασισµένες στην PHP. Αναµφισβήτητα, αυτό ήταν το κλειδί στην τεράστια επιτυχία της PHP 3.0. Άλλα κύρια χαρακτηριστικά που εισήχθησαν στην PHP 3.0 ήταν η υποστήριξη της σύνταξης σε αντικειµενοστραφή προγραµµατισµό και η ισχυρότερη και συνεπέστερη γλωσσική σύνταξη. Ολόκληρη η νέα γλώσσα δηµοσιεύτηκε µε ένα νέο όνοµα, που αφαίρεσε την έννοια της περιορισµένης προσωπικής χρήσης που περιελάµβανε η PHP/FI. Ονοµάστηκε PHP ( PHP : Hypertext Preprocessor). Μέχρι το τέλος του 1998, δεκάδες χιλιάδες χρήστες είχαν εγκαταστήσει την PHP στα PC τους, ενώ εκατοντάδες χιλιάδες ιστοσελίδες δηµιουργήθηκαν µε χρήσης αυτής της γλώσσας. Στο ζενίθ της, η PHP είχε εγκατασταθεί στο 10% περίπου από τους Web servers στο Internet. Η PHP απέκτησε γρήγορα φανατικούς χρήστες και χρησιµοποιείται πλέον σε εφαρµογές στο διαδίκτυο από κάποιες από τις πιο προεξέχουσες οργανώσεις όπως οι Mitsubishi, Redhat, Der Spiegel, MP3-Lycos, Ericsson και NASA. Τελικά, η PHP 3.0 δηµοσιεύθηκε επίσηµα το 1998, µετά από 9 µήνες δηµόσιας δοκιµής. 35

36 PHP 4 Το χειµώνα του 1998, αµέσως µόλις η PHP 3.0 παρουσιάστηκε επίσηµα, οandi Gutmans και ο Zeev Suraski άρχισαν να επεξεργάζονται τον πυρήνα της PHP, στοχεύοντας σε επιπλέον βελτιώσεις της γλώσσας. Σκοπός τους ήταν η βελτίωση της απόδοσης των σύνθετων εφαρµογών τις οποίες η PHP 3.0 δεν µπορούσε να υποστηρίξει ικανοποιητικά. Η νέα µηχανή, που ονοµάστηκε " µηχανή Zend" ( Zend engine - αποτελούµενη από τα ονόµατα του Zeev και του Andi), συνάντησε αυτούς τους στόχους επιτυχώς, και εισήχθη αρχικά στα µέσα του Η PHP 4.0, βασισµένη σε αυτήν την µηχανή, και συνδεµένη µε ένα ευρύ φάσµα πρόσθετων νέων χαρακτηριστικών γνωρισµάτων, παρουσιάστηκε επίσηµα το Μάιο του 2000, σχεδόν δύο έτη µετά από την προκάτοχό της PHP 3.0. Εκτός από την ιδιαίτερα βελτιωµένη απόδοση αυτής της έκδοσης, η PHP 4.0 περιελάµβανε και άλλα κύρια χαρακτηριστικά όπως: υποστήριξη για τους περισσότερους κεντρικούς υπολογιστές δικτύου (webservers), υποστήριξη του πρωτοκόλλου HTTP, πιο ασφαλείς τρόπους διαχείρισης των δεδοµένων του χρήστη που εισήχθησαν (input) και διάφορα νέα γλωσσικά κατασκευάσµατα. Σήµερα, η PHP 4.0 χρησιµοποιείται από εκατοντάδες χιλιάδες κατασκευαστές ιστοσελίδων, και σχεδόν πάνω από το 20% των περιοχών (domains) στο διαδίκτυο την έχουν εγκαταστήσει. Υπάρχει µια πολύ καλή οµάδα κατασκευαστών που εργάζονται µε σκοπό τη διεύρυνση της γλώσσας και πολλές δεκάδες που εργάζονται σε συσχετιζόµενα µε την PHP projects όπως το PEAR. PHP 5 Πρόκειται για την πιο πρόσφατη έκδοση της γλώσσας. Παρουσιάσθηκε τον Ιούλιο του 2004 µετά από µακροχρόνια ανάπτυξη και διάφορες προδηµοσιεύσεις. Οδηγείται κυρίως από τον πυρήνα της, τη Zend µηχανή 2.0 µε ένα νέο πρότυπο αντικειµένου και δεκάδες άλλα νέα χαρακτηριστικά γνωρίσµατα. Για παράδειγµα, νέες συναρτήσεις εισάγονται, υιοθετούνται νέες λέξεις-κλειδιά και άλλα νέα χαρακτηριστικά που προσδίδουν περισσότερες δυνατότητες. Η τελευταία έκδοση της PHP είναι η PHP ( Αύγουστος 2007) Πως λειτουργεί η PHP Η ΡΗΡ είναι µια γλωσσά διακοµιστή(server-side), κάτι που σηµαίνει ότι ο κώδικας που γράφεται σε ΡΗΡ βρίσκεται σε έναν υπολογιστή υπηρεσίας ο οποίος προσκοµίζει ιστοσελίδες σε φυλλοµετρητές Ιστού. Όταν επισκέπτεστε µια τοποθεσία Ιστού (για 36

37 παράδειγµα, την ο παροχέας που χρησιµοποιείται κατευθύνει την αίτηση σας στο διακοµιστή ο οποίος φιλοξενεί τις πληροφορίες για την διεύθυνση Ο διακοµιστής διαβάζει τον κώδικα ΡΗΡ και τον επεξεργάζεται συµφωνά µε τις οδηγίες που αυτός περιέχει. Στο παράδειγµα αυτό ο κώδικας ΡΗΡ δίνει εντολή στο διακοµιστή να στείλει τα κατάλληλα δεδοµένα ιστοσελίδας στο φυλλοµετρητή σε µορφή HTML (Σχήµα 4.3α). Το σχήµα παρουσιάζει πώς λειτουργεί η διαδικασία µεταξύ ενός πελάτη, του διακοµιστή, και της υποµονάδας ΡΗΡ για την αποστολή HTML πίσω στο φυλλοµετρητή. Όλες οι τεχνολογίες διακοµιστή χρησιµοποιούν µια υποµονάδα άλλου κατασκευαστή στο διακοµιστή για την επεξεργασία των δεδοµένων που στέλνονται πίσω στον πελάτη. Με λίγα λόγια, η ΡΗΡ δηµιουργεί επιτόπου µια σελίδα HTML µε βάση τις παραµέτρους της επιλογής µου. Σχήµα 4.3α Λειτουργία της PHP Αυτό διαφέρει από µια τοποθεσία Ιστού που έχει δηµιουργηθεί µε HTML, οπού όταν γίνεται µια αίτηση ο διακοµιστής απλώς στέλνει τα δεδοµένα HTML στο φυλλοµετρητή Ιστού δεν πραγµατοποιείται κάποια ειδική ερµηνεία στο κοµιστή (Σχήµα 4.3β). Συγκρίνετε αυτήν την άµεση σχέση του τρόπου λειτουργίας ενός διακοµιστή µε απλή HTML µε αυτήν στο Σχήµα 4.3α. Αυτός είναι ο λόγος για τον οποίο µπορείτε να βλέπετε στον φυλλοµετρητή σελίδες HTML από το δικό σας υπολογιστή. Αντίθετα, οι δυναµικά δηµιουργηµένες σελίδες πρέπει να προσπελαστούν µέσω ενός διακοµιστή ο οποίος χειρίζεται την επεξεργασία. Έτσι, ενώ στο φυλλοµετρητή του τελικού χρήστη ίσως να µην φαίνεται κάποια διαφορά µεταξύ των σελίδων home.html και home.php, ο τρόπος µε τον οποίο προέκυψε αυτή η σελίδα είναι ριζικά διαφορετικός. Η βασική διαφορά είναι ότι µε την χρήση ΡΗΡ µπορείτε να κάνετε το διακοµιστή να δηµιουργήσει δυναµικά τον κώδικα HTML. Για παράδειγµα, µπορεί να παρουσιάζονται διαφορετικές πληροφορίες τη ευτέρα από 37

38 ότι την Τρίτη. Η δυναµική δηµιουργία ιστοσελίδων παραγκωνίζει τις λιγότερο ελκυστικές στατικές τοποθεσίες Ιστού για χάρη των πιο ενδιαφερουσών, και κατά συνεπεία αυτών µε τις περισσότερες επισκέψεις, αλληλεπιδραστικών σελίδων. Η κυρία διαφορά µεταξύ της χρήσης ΡΗΡ και της χρήσης απλής HTML είναι ότι η ΡΗΡ κάνει τα πάντα στο διακοµιστή και κατόπιν στέλνει τις κατάλληλες πληροφορίες στο φυλλοµετρητή. Σχήµα 4.3β Τοποθεσία ιστού µε χρήση HTML Έτσι παρόλο που η PHP χρησιµοποιείται πολύ συχνά για τη δηµιουργία δυναµικών ιστοσελίδων, µπορεί να κάνει και πολλά άλλα πράγµατα. Ακολουθεί µια αναφορά των κύριων τοµέων στους οποίους µπορεί να χρησιµοποιηθεί ένα PHP script: Server-side scripting Αυτό είναι το πιο παραδοσιακό και το κύριο πεδίο για την PHP. Απαιτούνται τρία πράγµατα. Ένας PHP µεταγλωττιστής (parser) (CGI ή server module), ένας web server (εξυπηρετητής σελίδων) και ένας web browser. Ο web server θα πρέπει να τρέχει µε µια συνδεδεµένη εγκατάσταση της PHP. Τα αποτελέσµατα του PHP προγράµµατος µπορούµε να τα προσπελαύνουµε µε ένα web browser, βλέποντας την σελίδα PHP µέσα από τον server. Command line scripting Πρόκειται για την περίπτωση όπου µπορούµε να τρέχουµε ένα PHP script χωρίς server ή browser. Χρειαζόµαστε µόνο τον PHP µεταγλωττιστή. Αυτός ο τύπος είναι ιδανικός για scripts που εκτελούνται συχνά µε τη χρήση της cron (σε *nix ή Linux) ή µε τον Task Scheduler (στα Windows). Αυτά τα scripts µπορούν επίσης να χρησιµοποιηθούν για απλές εργασίες επεξεργασίας κειµένου. 38

39 Εγγραφή client-side GUI εφαρµογών (Γραφικά περιβάλλοντα χρηστών) Η PHP ίσως να µην είναι η πιο καλή γλώσσα για να γράψει κανείς client-side εφαρµογές, αλλά χρησιµοποιώντας κάποια προχωρηµένα χαρακτηριστικά της, µπορεί κανείς να φτιάξει client-side εφαρµογές. Το PHP-GTK προσφέρεται για αυτού του είδους τα προγράµµατα και αποτελεί µια επέκταση της PHP και δίνει τη δυνατότητα δηµιουργίας εφαρµογών συµβατών µε κάθε είδους πλατφόρµα (cross-platform). Με την PHP δεν είµαστε περιορισµένοι να εξάγουµε HTML. Οι δυνατότητες της PHP συµπεριλαµβάνουν την εξαγωγή εικόνων, αρχείων PDF, ακόµη και ταινιών Flash. Επιτρέπει την εξαγωγή οποιουδήποτε κειµένου όπως XHTML και οποιουδήποτε άλλου XML αρχείου. Η PHP µπορεί να δηµιουργεί αυτόµατα αυτά τα αρχεία και να τα αποθηκεύει στο σύστηµα αρχείων, αντί να τα εκτυπώνει. Η PHP έχει επίσης υποστήριξη για επικοινωνία µε άλλες υπηρεσίες χρησιµοποιώντας πρωτόκολλα όπως LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (στα Windows) και αµέτρητα άλλα. καθώς και συνδεσιµότητα µε τη γλώσσα προγραµµατισµού Java. Επίσης, υποστηρίζει ανταλλαγή WDDX δεδοµένων µεταξύ ουσιαστικά όλων των γλωσσών προγραµµατισµού διαδικτύου. Η PHP έχει εξαιρετικά χρήσιµα χαρακτηριστικά επεξεργασίας κειµένων, από την POSIX επέκταση ή τις Perl regular expressions µέχρι XML parsing αρχείων. Για τη µεταγλώττιση και την πρόσβαση αρχείων XML, υποστηρίζονται τα πρότυπα SAX και DOM Λόγοι χρησιµοποίησης της PHP στην εφαρµογή Επειδή η εφαρµογή µας ασχολείται µε τη δηµιουργία ενός διαχειριστικού συστήµατος και την ενσωµάτωση του σε ιστοσελίδες, χρησιµοποιήθηκαν οι γλώσσες HTML και PHP. Απλότητα και αξιοπιστία: Η PHP προσφέρει µια απλή και καθολικά αποδεκτή λύση για τον εύκολο προγραµµατισµό δυναµικών ιστοσελίδων. Οι προγραµµατιστές µπορούν εύκολα να ενσωµατώνουν PHP κώδικα µέσα στον HTML κώδικα. Η σύνταξή της είναι αντίστοιχη µε αυτή της C και της Perl, γεγονός που καθιστά εύκολη τη χρήση της από καθέναν που έχει βασικές προγραµµατιστικές γνώσεις. Ακριβώς επειδή χρησιµοποιείται από ένα µεγάλο αριθµό χρηστών, η PHP υποστηρίζεται µε τον καλύτερο δυνατό τρόπο. Επειδή 39

40 πρόκειται για ένα προϊόν ανοικτού κώδικα (open-source), η PHP απολαµβάνει την υποστήριξη µιας µεγάλης οµάδας προγραµµατιστών ανοικτού κώδικα. Παρέχεται έτσι άριστη τεχνική υποστήριξη στους χρήστες, και τα διάφορα σφάλµατα εντοπίζονται και επισκευάζονται γρήγορα πράγµα που προσδίδει στα διάφορα scripts της γλώσσας ακόµη µεγαλύτερη αξιοπιστία. Συνεχής ενηµέρωση και επεκτασιµότητα: H PHP ενηµερώνεται και βελτιώνεται συνεχώς µε σκοπό την επέκταση των δυνατοτήτων της. Νέα χαρακτηριστικά προστίθενται κατά τακτά χρονικά διαστήµατα για να µπορεί να αντεπεξέλθει στις ανάγκες της αγοράς. Ο κοµψός σχεδιασµός της και η απλότητα της σύνταξής της είναι αρκετά ώστε ένας PHP κώδικας να είναι σηµαντικά ευκολότερος να διατηρηθεί και να ενηµερωθεί από έναν συγκρίσιµο κώδικα της Perl ή της ASP. Επίσης, επειδή πρόκειται για ένα Open API προϊόν, ο κάθε χρήστης έχει τη δυνατότητα να προσθέσει easy-to-program modules για να επεκτείνει τη γλώσσα για δική του χρήση. Ελευθερία επιλογής λειτουργικού συστήµατος και web server: Η PHP είναι η πρώτη επιλογή των προγραµµατιστών σε λειτουργικό Linux µεapache server, αλλά τρέχει εξίσου καλά και σε περιβάλλον Unix ή Windows µε τον Netscape ή τον Microsoft Internet Explorer. Υποστηρίζει επίσης το πρωτόκολλο HTTP και τα LDAP, SNMP, IMAP, COM. Μπορεί να χρησιµοποιηθεί σε όλα τα κύρια λειτουργικά συστήµατα, συµπεριλαµβανοµένων και πολλών εκδοχών του Unix (HP-UX, Solaris και OpenBSD), Mac OS X, RISC OS και πιθανώς σε άλλα. Η PHP υποστηρίζει τους Apache, Microsoft Internet Information Server, Personal Web Server, Netscape και iplanet servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd και πολλούς άλλους web servers. Για την πλειοψηφία των servers η PHP έχει ένα module, για τους υπόλοιπους µπορεί να λειτουργήσει ως ένας CGI επεξεργαστής. Έτσι µε την PHP ο χρήστης έχει την ελευθερία επιλογής ενός λειτουργικού συστήµατος και ενός web server. Η PHP είναι µια γλώσσα cross-platform, πράγµαπου σηµαίνει πως τα PHP προγράµµατα µπορούν να λειτουργήσουν σε οποιονδήποτε από τους υπάρχοντες web servers. Αυτό αποτελεί και ένα βασικό πλεονέκτηµα της PHP, συγκρινόµενη µε άλλες γλώσσες προγραµµατισµού όπως η ASP ή ηcoldfusion και την καθιστά κατάλληλη για τα σηµερινά ετερογενή περιβάλλοντα δικτύων. Επιπλέον, ο χρήστης έχει την ελευθερία χρησιµοποίησης 40

41 συναρτησιακού (procedural) ή αντικειµενοστραφούς (object oriented) προγραµµατισµού ή µιας ανάµειξής τους. Μάλιστα, µεγάλες βιβλιοθήκες κώδικα και µεγάλες εφαρµογές (συµπεριλαµβανοµένης και της βιβλιοθήκης PEAR [12] ) είναι γραµµένες µόνο µε αντικειµενοστραφή κώδικα Τέλος, η PHP δεν εξαρτάται από τον browser που χρησιµοποιείται κάθε φορά (browser-independent) καθώς υποβάλλεται σε επεξεργασία στον server και τυπώνεται τελικά ως απλή HTML. Υψηλή δηµοτικότητα: Η PHP είναι σήµερα η πιο ταχεία αναπτυσσόµενη τεχνολογία για τη δηµιουργία δυναµικών ιστοσελίδων. Σύµφωνα µε την έρευνα Netcraft σχετικά µε το ποια τεχνολογία χρησιµοποιείται περισσότερο στον Ιστό, βρέθηκε πως η PHP χρησιµοποιείται στα περισσότερα sites ανάµεσα σε που έλαβαν µέρος (Πίνακας 4.3γ). Χρησιµοποιείται στο πάνω από το 40% των Apache Web Servers, που είναι ο πιο συχνά χρησιµοποιούµενος server στον κόσµο. Αυτή η δηµοτικότητα της PHP στις ιστοσελίδες µε υψηλή επισκεψιµότητα, δείχνει την επιτυχία της στην κατασκευή διαδικτυακών εφαρµογών και ιστοσελίδων. Ακολουθεί ένα διάγραµµα που επεξηγεί όσα αναφέρθηκαν παραπάνω: Πίνακας 4.3γ Χρήση της PHP από τον Απρίλιο του 2000 µέχρι τον Απρίλιο του 2007 (Netcraft survey) Επίσης, θα πρέπει να αναφερθεί πως από το 1999 και µετά, ένας τεράστιος αριθµός βιβλίων έχουν γραφτεί από διαφορετικούς συγγραφείς για την PHP και δηµοσιεύθηκαν από διαφορετικούς οίκους και σε πολλές διαφορετικές γλώσσες. 41

42 Αυτός είναι και ένας ακόµη σηµαντικός λόγος για την ευρεία αποδοχή της γλώσσας σε παγκόσµια κλίµακα. Συνδεσιµότητα µε πολλά συστήµατα βάσεων δεδοµένων: Η PHP προσφέρει άριστη συνδεσιµότητα µε τις περισσότερες από τις κοινές βάσεις δεδοµένων (συµπεριλαµβανοµένων των Oracle, Sybase, MySQL και πολλών άλλων) και µε διάφορες εξωτερικές βιβλιοθήκες, οι οποίες επιτρέπουν στον προγραµµατιστή να κάνει τα πάντα, από την παραγωγή PDF εγγράφων µέχρι τη µεταγλώττιση XML κώδικα. Η συγγραφή µιας σελίδας που υποστηρίζει βάσεις δεδοµένων είναι εξαιρετικά απλή. Οι εξής βάσεις δεδοµένων υποστηρίζονται µέχρι στιγµής: Υπάρχει επίσης µια αφαιρετική επέκταση DBX βάσεων δεδοµένων (DB database abstraction extension) που επιτρέπει στον χρήστη να χρησιµοποιεί οποιαδήποτε βάση δεδοµένων υποστηρίζεται από αυτή την επέκταση. Επιπλέον η PHP υποστηρίζει το ODBC, το Open Database Connection standard (Ανοιχτό πρότυπο Σύνδεσης Βάσεων δεδοµένων) µε το οποίο µπορούµε να συνδεθούµε σε οποιαδήποτε βάση δεδοµένων που υποστηρίζει αυτό το παγκόσµιο πρότυπο. Ειδική αναφορά στη συσχέτιση PHP και MySQL θα γίνει σε επόµενη παράγραφο. Αυτοί είναι οι βασικοί λόγοι για τους οποίους η PHP είναι πλέον µια από τις γλώσσες που χρησιµοποιούνται πιο συχνά στον Παγκόσµιο Ιστό, για την κατασκευή ιστοσελίδων και τη δηµιουργία web εφαρµογών και ο βασικός λόγος που τη χρησιµοποιήθηκε και για την εφαρµογή. Κι αυτό γιατί η εργασία είχε σαν αντικείµενο σε πρώτη φάση την κατασκευή ενός συστήµατος διαχείρισης του hardware και software του εργαστηρίου που θα περιελάµβανε και µηχανή αναζήτησης και έπειτα τη διαχείριση των αρχείων της βάσης µε φόρµες µέσω των ιστοσελίδων, λειτουργίες για τις οποίες η PHP ήταν η κατάλληλη γλώσσα, όπως εξηγήθηκε παραπάνω. 42

43 4.3.5 Αλληλεπίδραση PHP και MySQL Για πολλούς ανθρώπους, ο βασικός λόγος για την εκµάθηση µιας γλώσσας προγραµµατισµού όπως η PHP είναι η αλληλεπίδραση που προσφέρει µε πολλές βάσεις δεδοµένων. Είναι πραγµατικά εκπληκτικό πόσο χρήσιµη µπορεί να είναι µια βάση δεδοµένων σε µια ιστοσελίδα. Υπάρχει µια τεράστια ποικιλία πραγµάτων που µπορεί να κάνει κάποιος µε τη χρήση της PHP και της MySQL, από την επίδειξη απλών λιστών δεδοµένων µέχρι το τρέξιµο ολόκληρης ιστοσελίδας από µια βάσηδεδοµένων. Κάποια παραδείγµατα αλληλεπίδρασης PHP και MySQL είναι τα εξής: ηµιουργία δυναµικών ιστοσελίδων που στηρίζονται σε βάσεις δεδοµένων: Χαρακτηριστικό παράδειγµα αποτελούν οι ιστοσελίδες που παίρνουν όλες τις πληροφορίες τους από µια βάση δεδοµένων. Το µόνο που χρειάζεται είναι η χρήση των κατάλληλων συναρτήσεων της MySQL ώστε να επιτευχθεί η πρόσβαση στον server και µετά στη βάση δεδοµένων για την κατάλληλη επεξεργασία των περιεχοµένων της. Σε αυτή την κατηγορία ανήκει και το πρώτο τµήµα της εργασίας µας όπου σκοπός είναι η πρόσβαση (µέσω του συστήµατος µας) στη βάση µε τις διάφορες εργασίες, η τροποποίησή της, η εκτέλεση ερωτηµάτων σε αυτή, η ανάκτηση των δεδοµένων της και η εµφάνισή τους στην ιστοσελίδα µας. Αλλαγή µορφής ιστοσελίδας: Εάν κάποιος θελήσει να αλλάξει τη µορφή της ιστοσελίδας του, είναι πολύ πιθανό πως θα σπαταλήσει έναν αρκετά πολύτιµο χρόνο για να αλλάξει όλες τις σελίδες του website του. Με την PHP και τη MySQL, όλο το website θα µπορούσε να ήταν ένα ή 2 script αρχεία. Αυτά θα αποκτούσαν πρόσβαση σε µια βάση δεδοµένων MySQL για να πάρουν πληροφορίες για τις σελίδες. Για να ενηµερωθεί η µορφή του website αρκεί να αλλαχτεί µία µόνο σελίδα. Forums και mailing lists: Εκατοντάδες τέτοιοι πίνακες µηνυµάτων στο διαδίκτυο οργανώνονται χρησιµοποιώντας PHP και MySQL. Αυτοί προσφέρουν µια ευρεία ποικιλία επιλογών και είναι πολύ πιο επαρκείς από άλλα συστήµατα που δηµιουργούν µια σελίδα για κάθε µήνυµα. Όλες οι σελίδες στο φόρουµ µπορούν να ενηµερωθούν µε την αλλαγή ενός και µόνο script. Επίσης πολλές mailing lists δηµιουργούνται µε τη χρήση της PHP, δίνοντας τη δυνατότητα 43

44 στους χρήστες να διαχειρίζονται τα mail τους, να τα διαγράφουν, να στέλνουν νέα µηνύµατα κ.ο.κ. Παράδειγµα χρήσης MySQL µέσω PHP Στη συνέχεια, θα αναφέρουµε κάποια παραδείγµατα χρήσης συναρτήσεων της PHP και κλήσεων της MySQL στον κώδικα της εργασίας µας, για να φανεί καλύτερα η συνδεσιµότητα της PHP µε την MySQL, όπως αυτή αναφέρθηκε προηγουµένως και η χρήση της MySQL για την επεξεργασία των περιεχοµένων της βάσης του συστήµατος: /* Εκτέλεση ερωτήµατος στη βάση του συστήµατος */ mysql_query("select socket from sockets group by socket"); /* Επιστροφή του αριθµού των εγγραφών του αποτελέσµατος ενός ερωτήµατος */ $row=mysql_fetch_assoc($res); /* Σύνδεση µε τη βάση του συστήµατος */ mysql_select_db("ergastirio"); /* Κλείσιµο της σύνδεσης */ mysql_close(); 44

45 5. Περιγραφή της εφαρµογής 5.1 Σύστηµα ιαχείρισης Hardware/Software Στόχος της υλοποίησης αυτής της εφαρµογής είναι να εφοδιάσει το εργαστήριο Αρχιτεκτονικής και ικτύων Υπολογιστών του Α.Π.Θ. µε ένα σύστηµα µέσω του οποίου το προσωπικό του εργαστηρίου θα µπορεί να ενηµερώνεται σχετικά µε το Hardware και το Software των υπολογιστών που διαθέτει το εργαστήριο καθώς και οι εξουσιοδοτηµένοι καθηγητές, πέραν της αναζήτησης υπολογιστών, να καταχωρούν ή και να µεταβάλλουν στοιχεία στο σύστηµα Έγγραφο Απαιτήσεων Το πιο σηµαντικό στοιχείο για να πετύχει ένα site είναι η συγκέντρωση και η ανάλυση των απαιτήσεων. Όσο καλύτερη γίνει η καταγραφή των απαιτήσεων τόσο πιο εύκολα δηµιουργείται το σύστηµα µας. Απαιτήσεις χρήστη ηµιουργία συστήµατος για τη διαχείριση Hardware/Software. Αποµακρυσµένη διαχείριση περιεχοµένου. Είσοδος στο σύστηµα µε χρήση username και password. ηµιουργία users µε δικαιώµατα. Αναζήτης υπολογιστών µε κριτήρια (όνοµα υπολογιστή, IPaddress, πρίζα, υπεύθυνος καθηγητής). Καταχώρηση, µεταβολή και διαγραφή υπολογιστών, προγραµµάτων και υπευθύνων µε φόρµες µέσω ιστοσελίδων του συστήµατος. Αρχιτεκτονική συστήµατος Το γράφηµα της Σχήµατος 5.1α περιγράφει την αρχιτεκτονική του site. 45

46 Σχήµα 5.1α Αρχιτεκτονική τoυ site Απαιτήσεις συστήµατος Το σύστηµα µας προσφέρει αποµακρυσµένο έλεγχο διαχείρισης περιεχοµένου. Από οποιανδήποτε ηλεκτρονικό υπολογιστή που έχει σύνδεση στο Internet µπορεί να µπει στην σελίδα και να την διαχειριστή. Όλα τα δεδοµένα µας βρίσκονται σε µία βάση δεδοµένων. Πίσω από την σελίδα υπάρχει ένα ισχυρό control panel που διαχειρίζεται την σελίδα χωρίς ο χρήστης να έχει προγραµµατιστικές γνώσεις. Υπάρχουν 2 κατηγορίες χρηστών. Οι καθηγητές και το πρόσωπικό του εργαστηρίου. Αρχικά κατά την είσοδο στο site θα ζητείται username και password. Στη συνέχεια όµως τα δικαιώµατα των δύο κατηγοριών διαφοροποιούνται. Οι καθηγητές θα µπορούν να εισέλθουν σε όλα τα µέρη του site. ηλαδή θα έχουν τη δυνατότητα να κάνουν αναζήτηση µε βάση κάποια κριτήρια και να µεταβάλλουν, αν θελήσουν, κάποια στοιχεία της αναζήτησης. Επιπλέον θα µπορούν να καταχωρήσουν, τροποποιήσουν και διαγράψουν υπολογιστές, προγράµµατα και υπευθύνους. Τα δικαιώµατα όµως της κατηγορίας προσωπικό εργαστηρίου είναι πολύ λιγότερα σε σχέση αυτή µε των καθηγητών. Η πρόσβαση αυτής της κατηγορίας θα περιορίζεται µόνο στην είσοδο της αρχικής σελίδας του συστήµατος και στην αναζήτηση υπολογιστών. Τα δικαιώµατα των κατηγοριών ορίστηκαν έτσι για λόγους απλότητας, ευχρηστίας και λειτουργικότητας του συστήµατος. Άλλωστε είναι φυσιολογικό οι καθηγητές να έχουν καθολική πρόσβαση στο σύστηµα, καθώς αυτοί είναι και οι υπεύθυνοι των 46

47 υπολογιστών, και το προσωπικό του εργαστηρίου µερική πρόσβαση για απλή ενηµέρωσή τους για θέµατα Hardware και Software του εργαστηρίου. 5.2 Σχεδίαση του συστήµατος Apache Web Server Επειδή το σύστηµα µας παράγει ιστοσελίδες, χρησιµοποιήθηκαν οι γλώσσες HTML και PHP. Το Σύστηµα ιαχείρισης Βάσης εδοµένων που χρησιµοποιήθηκε είναι ο MySQL Server. Οι λόγοι επιλογής της PHP και της MySQL έχουν ήδη αναφερθεί στο κεφάλαιο 3 και 4. Ήταν απαραίτητος ένας Web Server που να εκτελεί τις λειτουργίες του συστήµατος µας µέσω των PHP scripts. Επιλέχθηκε ο APACHE Web Server. Οι λόγοι επιλογής του περιγράφονται παρακάτω: Είναι συµβατός µε τις περισσότερες πλατφόρµες, καθώς τρέχει το ίδιο καλά τόσο σε Unix όσο και σε Windows, αλλά και στα περισσότερα λειτουργικά συστήµατα. Οι περισσότερες ιστοσελίδες που δηµιουργούνται µε την PHP λειτουργούν έχοντας ως σύστηµα διαχείρισης δεδοµένων την MySQL, ως γλώσσα προγραµµατισµού την PHP και ως διαχειριστή τους τον Apache. Είναι ο δηµοφιλέστερος web server. ηµιουργήθηκε τον εκέµβριο του 1995 και ένα χρόνο αργότερα είχε ήδη καθιερωθεί ως ο νούµερο ένα διαχειριστής στο διαδίκτυο, θέση την οποία κατέχει µέχρι σήµερα σύµφωνα µε την έρευνα Netcraft. Η έρευνα αυτή εκτελείται σε τακτά χρονικά διαστήµατα από το 1996 µέχρι σήµερα και δείχνει πάντα την υψηλή δηµοτικότητα του Apache. Η πιο πρόσφατη δηµοσιεύθηκε τον Σεµπτέβριο του 2007 και φανερώνει πως το 50.48% των ιστοσελίδων στο Internet χρησιµοποιούν τον Apache, που µεταφράζεται σε domains. Ακολουθεί ένα διάγραµµα (Σχήµα 5.2α) όπου περιγράφονται τα βασικά σηµεία του συστήµατος που υλοποιήθηκε. Ο χρήστης επικοινωνεί µε το σύστηµα µέσω του browser του και έρχεται σε επαφή µε τον Apache server του συστήµατος. Έπειτα, µέσω των PHP scripts του συστήµατος, γίνεται η σύνδεση µε τη βάση δεδοµένων της MySQL προκειµένου να εκτελεστούν τα ερωτήµατα του χρήστη. Αναλυτικότερα, η 47

48 διαδικασία που ακολουθείται προκειµένου να εκτελεστεί µια λειτουργία που επιθυµεί ο χρήστης είναι η εξής: Αρχικά ο χρήστης µέσω του browser του συνδέεται µε τον server του συστήµατος και ζητά πρόσβαση στην ιστοσελίδα. Έπειτα, επιλέγει τη λειτουργία που επιθυµεί να εκτελέσει. Τα scripts του συστήµατος (µέσω της PHP), προσπαθούν να συνδεθούν µε τον Apache server για να µπορέσουν έπειτα να συνδεθούν και µε τη βάση του συστήµατος. Αποµένει η εκτέλεση του ερωτήµατος πάνω στη βάση και το κλείσιµο της σύνδεσης µε τον Apache server. Ο χρήστης µπορεί να επιλέξει την επόµενη λειτουργία που θέλει να εκτελέσει. Σχήµα 5.2α Βασικά σηµεία υλοποιηµένου συστήµατος Η βάση δεδοµένων της εφαρµογής Για την δηµιουργία του συστήµατος διαχείρισης του εργαστηρίου Αρχιτεκτονικής και ικτύων Υπολογιστών δηµιουργήσαµε µέσω της phpmyadmin µια βάση δεδοµένων την οποία την ονοµάσαµε ergastirio (Σχήµα 5.2β). Όπως παρατηρούµε η βάση δεδοµένων αποτελείται από 7 πίνακες. 48

49 Σχήµα 5.2β Η βάση δεδοµένων της εφαρµογής Ο πρώτος πίνακας computers δηµιουργήθηκε για να αποθηκεύονται οι υπολογιστές που καταχωρούνται. Ο συγκεκριµένος πίνακας αποτελείται από 6 πεδία, το comid (πρωτεύον κλειδί) το οποίο δίνει αυτόµατα αριθµούς σε κάθε υπολογιστή µε αύξοντα σειρά, το name στο οποίο αποθηκεύεται το όνοµα του κάθε υπολογιστή, το opersyst στο οποίο αποθηκεύεται το λειτουργικό σύστηµα του κάθε υπολογιστή, το details στο οποίο αποθηκεύονται στοιχεία του υπολογιστή (όπως µνήµη, επεξεργαστής), το ipe_name στο οποίο αποθηκεύεται το όνοµα του υπευθύνου για τον κάθε υπολογιστή και το macad όπου αποθηκεύεται η Mac Αddress του κάθε υπολογιστή. Σχήµα 5.2γ Ο πίνακας computers 49

50 Ο δεύτερος πίνακας com_progr δηµιουργήθηκε για να είναι δυνατή η σύνδεση του κάθε υπολογιστή µε τα προγράµµατα που του αντιστοιχούν. Ο συγκεκριµένος πίνακας αποτελείται από 2 πεδία, το comid του πίνακα computers όπου αποθηκεύεται ο κωδικός του κάθε υπολογιστή στη βάση και το progrid του πίνακα programmes (αναφέρεται παρακάτω) το οποίο είναι ο κωδικός του κάθε προγράµµατος στη βάση. Όπως παρατηρούµε και τα 2 πεδία αυτού του πίνακα είναι τα πρωτεύοντα κλειδιά των πινάκων computers και programmes. Σχήµα 5.2δ Ο πίνακας com_progr Ο τρίτος πίνακας ipaddress αποτελείται από 2 πεδία, το ip (πρωτεύον κλειδί) όπου αποθηκεύεται η IP Αddress του κάθε υπολογιστή και το comid από τον πίνακα computers για να γίνεται σύνδεση σε ποιόν υπολογιστή αντιστοιχεί η κάθε IP Αddress. Σχήµα 5.2ε Ο πίνακας ipaddress Ο τέταρτος πίνακας ipeythinos αποτελείται από 5 πεδία, το ipe_id (πρωτεύον κλειδί) το οποίο δίνει αυτόµατα αριθµούς σε κάθε υπεύθυνο που καταχωρείται µε αύξοντα σειρά, το ipe_name στο οποίο αποθηκεύεται το όνοµα του κάθε υπευθύνου, το tel στο οποίο αποθηκεύεται ο αριθµός τηλεφώνου του κάθε υπευθύνου, το vathmida όπου αποθηκεύεται η βαθµίδα του κάθε υπευθύνου (π.χ. καθηγητής, αναπληρωτής) και το στο οποίο αποθηκεύεται το του κάθε υπευθύνου. 50

51 Σχήµα 5.2στ πίνακας ipeythinos Ο πέµπτος πίνακας problems αποτελείται από 2 πεδία, το comid (πρωτεύον κλειδί) του πίνακα computers και το problem στο οποίο καταχωρείται τυχόν προβλήµατα που αντιµετώπισε ο κάθε υπολογιστής στο παρελθόν. Στον πίνακα αυτό γίνεται σύνδεση µεταξύ των υπολογιστών και των προβληµάτων που τους αντιστοιχούν. Σχήµα 5.2ζ Ο πίνακας problems Ο έκτος πίνακας programmes αποτελείται από 3 πεδία, το progrid (πρωτεύον κλειδί) το οποίο δίνει αυτόµατα αριθµούς σε κάθε πρόγραµµα µε αύξοντα σειρά, το program στο οποίο καταχωρείται το όνοµα του προγράµµατος και το version στο οποίο αποθηκεύεται η έκδοση του κάθε προγράµµατος. 51

52 Σχήµα 5.2η Ο πίνακας programmes Ο έβδοµος πίνακας sockets αποτελείται από 3 πεδία, το socid (πρωτεύον κλειδί) το οποίο δίνει αυτόµατα αριθµούς σε κάθε πρίζα µε αύξουσα σειρά, το comid (πρωτεύον κλειδί του πίνακα computers) και το socket όπου καταχωρούνται οι αριθµοί των πριζών. Στον πίνακα αυτό επιτυγχάνεται σύνδεση µεταξύ των υπολογιστών και των πριζών στις οποίες είναι συνδεδεµένοι. Σχήµα 5.2θ Ο πίνακας sockets Ο όγδοος πίνακας users αποτελείται από 4 πεδία, το u_id (πρωτεύον κλειδί) το οποίο δίνει αυτόµατα αριθµούς σε κάθε χρήστη που καταχωρείται µε αύξουσα σειρά, τα πεδία username και pass όπου αποθηκεύεται το όνοµα και το συνθηµατικό τα οποία θα χρησιµοποιήσει ο χρήστης κατά την είσοδό του στο σύστηµα. Κατά την καταχώρηση τιµών στο πεδίο pass γίνεται χρήση της συνάρτησης κατακερµατισµού (hash function) SHA1( ). Η συνάρτηση αυτή χρησιµοποιείται προκειµένου να κρυπτογραφούνται τα συνθηµατικά (password) των χρηστών που είναι καταχωρηµένοι στη βάση. Τέλος υπάρχει και το πεδίο priv το οποίο διαχωρίζει τα δικαιώµατα των χρηστών. Αν στο priv ορίσουµε την τιµή 2 τότε ο χρήστης έχει 52

53 πρόσβαση σε όλα τα µέρη του site, ενώ αν priv 1 τότε ο χρήστης περιορίζεται στην αναζήτηση στοιχείων των υπολογιστών. Σχήµα 5.2ι Ο πίνακας users Στη συνέχεια δίνεται ενδεικτικά ένα παράδειγµα του ερωτήµατος της MySQL που χρησιµοποιήθηκε για τη δηµιουργία του πίνακα computers όπου φαίνονται και τα διάφορα πεδία του. mysql_query('create TABLE `ergastirio`.`computers` ( `comid` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` char(100) NOT NULL, `opersyst` char(100) DEFAULT NULL, `details` char(30) DEFAULT NULL, `ipe_name` char(100) NOT NULL, `macad` varchar(25) DEFAULT NULL, PRIMARY KEY (`comid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;) ' ) ιάγραµµα Οντοτήτων-Συσχετισµών (Entity-Relationship Diagram) Στο Σχήµα 5.2κ αναπαρίσταται το διάγραµµα ER της βάσης ergastirio που µόλις αναλύθηκε. Μία βάση δεδοµένων προϋποθέτει τη δηµιουργία ενός ER διαγράµµατος (ER diagram) που σηµαίνει διάγραµµα οντοτήτων συσχετίσεων. Το ER µοντέλο είναι ένα µέσο για τη γραφική αναπαράσταση των λογικών σχέσεων των οντοτήτων που προκύπτουν από µία βάση δεδοµένων. Οι οντότητες είναι τα πρόσωπα και τα 53

54 ουσιαστικά της βάσης και καθορίζονται από κάποιες ιδιότητες που λέγονται πεδία. Σκοπός του διαγράµµατος είναι αρχικά να ξεχωριστούν οι οντότητες της βάσης δεδοµένων και έπειτα να διευκρινιστούν οι σχέσεις που προκύπτουν µεταξύ τους. Σύµφωνα µε την απεικόνιση του διαγράµµατος οντοτήτων-συσχετισµών της εικόνας παρατηρούµε και τους τύπους συσχετισµών µεταξύ των οντοτήτων της βάσης. Σχήµα 5.2κ Το ER διάγραµµα της βάσης 54

55 Η οντότητα computers αναφέρεται στους υπολογιστές του εργαστηρίου Αρχιτεκτονικής και ικτύων. Τα χαρακτηριστικά που αφορούν αυτή την οντότητα είναι: o o o o o o comid: κύριο κλειδί, αύξων αριθµός που παίρνει µοναδική τιµή για κάθε υπολογιστή name: το όνοµα του υπολογιστή opersyst: το λειτουργικό σύστηµα του κάθε υπολογιστή ip_ename: το όνοµα του υπευθύνου του κάθε υπολογιστή details:προαιρετικές λεπτοµέρειες που αφορούν στοιχεία του υπολογιστή macad:η Mac Address του κάθε υπολογιστή Η οντότητα ipaddress αναφέρεται στην IP Address του κάθε υπολογιστή. Σε έναν υπολογιστή αντιστοιχεί µία IP Address, αλλά µία IP Address δεν µπορεί να αντιστοιχεί σε παραπάνω από έναν υπολογιστή. Εποµένων η σχέση computers µε το ipaddress είναι 1 προς 1. Τα χαρακτηριστικά αυτής της οντότητας είναι τα παρακάτω: o ip: πρωτεύον κλειδί, η IP Address του κάθε υπολογιστή o comid: πρωτεύον κλειδί της οντότητας computers, δείχνει σε ποιόν υπολογιστή αντιστοιχεί η συγκεκριµένη IP Address Η οντότητα programmes αναφέρεται στα προγράµµατα που υπάρχουν εγκατεστηµένα στους υπολογιστές του εργαστηρίου. Ένα πρόγραµµα µπορεί να είναι εγκατεστηµένο σε περισσότερους από έναν υπολογιστές όπως και ένας υπολογιστής µπορεί να έχει εγκατεστηµένα περισσότερα από ένα προγράµµατα. Εποµένως η σχέση programmes µε το computers είναι πολλά προς πολλά και πραγµατοποιείται µέσω του συνόλου συσχετισµών com_progr που αποτελείται από το comid της οντότητας computers και το progrid της οντότητας programmes. Τα χαρακτηριστικά αυτής της οντότητας είναι τα εξής: o progrid: πρωτεύον κλειδί, αύξων αριθµός που παίρνει µοναδική τιµή για κάθε καταχωρηµένο πρόγραµµα o program: η ονοµασία του κάθε προγράµµατος o version: η έκδοση του κάθε προγράµµατος Η οντότητα sockets αναφέρεται στην πρίζα µε την οποία συνδέεται ο κάθε υπολογιστής. Μια πρίζα µπορεί να αντιστοιχεί σε έναν υπολογιστή, αλλά και ένας υπολογιστής µπορεί να είναι συνδεδεµένος µε µία πρίζα. Εποµένως η σχέση sockets 55

56 µε το computers είναι 1 προς 1. Παρακάτω αναφέρονται τα χαρακτηριστικά αυτής της οντότητας: o socid: πρωτεύον κλειδί, αύξων αριθµός που παίρνει µοναδική τιµή για κάθε πρίζα που καταχωρείται o comid: πρωτεύον κλειδί της οντότητας computers, δείχνει σε ποιόν υπολογιστή αντιστοιχεί η συγκεκριµένη πρίζα o socket: ο αριθµός της πρίζας Η οντότητα ipeythinos αναφέρεται στον καθηγητή που έχει αναλάβει την επίβλεψη ενός αριθµού υπολογιστών του εργαστηρίου. Η σχέση ipeythinos µε το computers είναι 1 προς 1 καθώς µόνο ένας καθηγητής µπορεί να είναι υπεύθυνος για έναν υπολογιστή. Τα χαρακτηριστικά αυτής της οντότητας είναι: o ipe_id: πρωτεύον κλειδί, αύξων αριθµός που παίρνει µοναδική τιµή για κάθε υπεύθυνο που καταχωρείται o ipename: το όνοµα του υπευθύνου o tel: το τηλέφωνο επικοινωνίας του υπευθύνου o vathmida: η βαθµίδα του κάθε υπευθύνου(καθηγητής, αναπληρωτής) o η ηλεκτρονική αλληλογραφία του κάθε υπευθύνου Η οντότητα problems αναφέρεται στα προβλήµατα που µπορεί να έχει αντιµετωπίσει ο κάθε υπολογιστής στο παρελθόν. Η σχέση problems µε το computes είναι 1 προς 1 διότι ένα πεδίο του πίνακα problems µπορεί να αντιστοιχεί σε έναν µόνο υπολογιστή. Η οντότητα αυτή αποτελείται από τα εξής χαρακτηριστικά: o comid: πρωτεύον κλειδί της οντότητας computers, δείχνει σε ποιόν υπολογιστή αντιστοιχεί το συγκεκριµένο πρόβληµα o problem: το τυχόν πρόβληµα του υπολογιστή Τέλος υπάρχει η οντότητα users η οποία αναφέρεται στους χρήστες της εφαρµογής. Τα χαρακτηριστικά της οντότητας είναι: o u_id: πρωτεύον κλειδί, αύξων αριθµός που παίρνει µοναδική τιµή για κάθε χρήστη που καταχωρείται 56

57 o username: το όνοµα του χρήστη που θα χρησιµοποιείται κατά την πρόσβασή του στο σύστηµα διαχείρισης του εργαστηρίου o pass: το συνθηµατικό του χρήστη που θα χρησιµοποιείται κατά την πρόσβασή του στο σύστηµα διαχείρισης του εργαστηρίου o priv: στο πεδίο αυτό ορίζονται τα δικαιώµατα του χρήστη ηµιουργία των ιστοσελίδων Όπως αναφέρθηκε και στο κεφάλαιο 4 για τη δηµιουργία των δυναµικών ιστοσελίδων της εφαρµογής διαχείρισης του εργαστηρίου Αρχιτεκτονικής και ικτύων Υπολογιστών χρησιµοποιήθηκε η γλώσσα PHP. Για την προσθήκη διαδραστικότητας στις ιστοσελίδες που δηµιουργήθηκαν έγινε χρήση και της γλώσσας συγγραφής σεναρίων Javascript. Επίσης δηµιουργήθηκε ένα απλό template έτσι ώστε η εµφάνιση του site να είναι απλή και προσεγµένη χωρίς υπερβολές. Περιγραφή λειτουργιών Σύµφωνα µε το έγγραφο απαιτήσεων (Κεφάλαιο 5.1.1) οι λειτουργίες που πρέπει το σύστηµα διαχείρισης Hardware/Software να έχει είναι η είσοδος στο σύστηµα µε χρήση username και password καθώς και δηµιουργία users µε δικαιώµατα (τα οποία θα αναλυθούν παρακάτω στα θέµατα ασφαλείας ). Στο συγκεκριµένο τµήµα θα δώσουµε έµφαση στις λειτουργίες αναζήτησης, καταχώρησης, επεξεργασίας και διαγραφής στοιχείων από και προς τη βάση. Οι λειτουργίες αυτές υλοποιούνται µε φόρµες έτσι ώστε να µην είναι αναγκαία η πρόσβαση στη βάση δεδοµένων. Μέσω φόρµας ο χρήστης µπορεί να καταχωρήσει, τροποποιήσει ή και να διαγράψει στοιχεία χωρίς τη γνώση SQL εκφράσεων. Αυτό το τµήµα κάνει τη διαχείριση του ιστοτόπου πιο προσιτή στο χρήστη και πιο λειτουργική. Καταχώρηση Υπευθύνου Με αυτή τη λειτουργία ο χρήστης, ο οποίος θα έχει και πρόσβαση στη συγκεκριµένη περιοχή, θα έχει τη δυνατότητα να εισάγει κάποιον υπεύθυνο. Τα στοιχεία που πρέπει να συµπληρωθούν είναι το ονοµατεπώνυµο, το τηλέφωνο, η βαθµίδα (καθηγητής, αναπληρωτής ), και το του υπευθύνου. Από αυτά τα πεδία µόνο το πεδίο του ονόµατος είναι υποχρεωτικό. Τα υπόλοιπα στοιχεία µπορούν να συµπληρωθούν σε 57

58 άλλη χρονική στιγµή µε την ιδιότητα της αλλαγής, µέσω της οποίας µπορούν να προστεθούν νέα στοιχεία ή να τροποποιηθούν υπάρχοντα. Επιπλέον υπάρχει και η δυνατότητα της διαγραφής όλων των στοιχείων ενός υπευθύνου αρκεί σε εκείνον να µην αντιστοιχεί κάποιος υπολογιστής. Καταχώρηση προγραµµάτων Με αυτή τη λειτουργία ο χρήστης, ο οποίος θα έχει και πρόσβαση στη συγκεκριµένη περιοχή, θα έχει τη δυνατότητα να εισάγει κάποιο πρόγραµµα. Τα πεδία που πρέπει να συµπληρωθούν είναι το όνοµα του προγράµµατος και η έκδοσή του. Κανένα από αυτά τα πεδία δεν είναι υποχρεωτικά καθώς είναι δυνατόν ένας υπολογιστής να µην έχει εγκατεστηµένο κανένα πρόγραµµα. Στη συγκεκριµένη φόρµα, όπως και στην καταχώρηση υπευθύνου, υπάρχει η δυνατότητα αλλαγής και διαγραφής στοιχείων. Καταχώρηση υπολογιστή Με αυτή τη λειτουργία ο χρήστης, ο οποίος θα έχει και πρόσβαση στη συγκεκριµένη περιοχή, θα έχει τη δυνατότητα να εισάγει υπολογιστές. Η φόρµα αποτελείται από τα εξής πεδία το όνοµα του υπολογιστή, το λειτουργικό του σύστηµα, τα χαρακτηριστικά (µνήµη, επεξεργαστής ), την πρίζα µε την οποία είναι συνδεδεµένος ο υπολογιστής, την IP διεύθυνση, την Mac Address, το πεδίο πρόβληµα για τυχόν πρόβληµα που έχει αντιµετωπίσει ο υπολογιστής κατά το παρελθόν (σε περίπτωση µηδενικού προβλήµατος συµπληρώνουµε το πεδίο µε την έκφραση Κανένα πρόβληµα ). Επίσης υπάρχει και η επιλογή της διαγραφής. Με την ολοκλήρωση της επιτυχής εισαγωγής του υπολογιστή εµφανίζεται κάτω από τη φόρµα η επιλογή της αντιστοίχισης προγραµµάτων. Μέσω αυτής µπορούµε να αντιστοιχίσουµε τον υπολογιστή που µόλις καταχωρήσαµε µε τα προγράµµατα που έχει εγκατεστηµένα. Αναζήτηση στοιχείων υπολογιστών Σε αυτό το τµήµα όλοι οι χρήστες έχουν πρόσβαση (αφού βέβαια έχει επικυρωθεί η είσοδός τους στην αρχική σελίδα µέσω username και password). Η αναζήτηση των υπολογιστών γίνεται µε την επιλογή ενός από τα 3 κριτήρια, µέσω της IP Address η του ονόµατος του υπολογιστή (Hostname), µε βάση την πρίζα του κάθε υπολογιστή ή σύµφωνα µε το όνοµα του υπευθύνου. Τα στοιχεία τα οποία εµφανίζονται ως αποτέλεσµα της αναζήτησης είναι το όνοµα του υπολογιστή, το λειτουργικό του σύστηµα, η Mac Address, η πρίζα, η IP Address, τυχόν πρόβληµα, το όνοµα του 58

59 υπευθύνου το οποίο αποτελεί και σύνδεσµο για το του, το τηλέφωνό και η βαθµίδα του, η λίστα προγραµµάτων η οποία αποτελεί και αυτή σύνδεσµο σε άλλη σελίδα όπου εµφανίζονται τα καταχωρηµένα προγράµµατα και τελευταίο πεδίο η Μεταβολή. Η µεταβολή αποτελεί και αυτή link το οποίο µεταβαίνει σε µια συµπληρωµένη φόρµα µε τα στοιχεία του υπολογιστή που αναζητήθηκε. Μέσω αυτής της φόρµας παρέχονται οι λειτουργίες της αλλαγής οποιουδήποτε στοιχείου επιθυµεί ο χρήστης ή και τη διαγραφή όλων των στοιχείων που σηµαίνει και τη διαγραφή του υπολογιστή. Σε αυτή τη σελίδα µπορεί να γίνει και αντιστοίχιση προγραµµάτων, όπως και στην καταχώρηση υπολογιστή, δηλαδή να εισάγει ή να διαγράψει προγράµµατα από τον συγκεκριµένο υπολογιστή. Σχηµατική αναπαράσταση της διασύνδεσης των ιστοσελίδων Στην επόµενη σελίδα ακολουθεί η σχηµατική αναπαράσταση της διασύνδεσης των ιστοσελίδων της εφαρµογής (site map). Μέσω του διαγράµµατος του Σχήµατος 5.2λ µπορούµε να παρατηρήσουµε τις µεταβάσεις από την µία σελίδα στην άλλη. Έτσι βλέπουµε ότι από την αρχική σελίδα µπορούµε να µεταφερθούµε στην σελίδα αναζήτησης στοιχείων των υπολογιστών άλλα και στις φόρµες καταχώρησης υπευθύνων, προγραµµάτων και υπολογιστών. Όλες οι σελίδες έχουν συνδέσµους που επαναφέρουν τον χρήστη στην αρχική σελίδα. Από τη σελίδα αναζήτησης µπορούµε να µεταβούµε, µέσω των αποτελεσµάτων, στην περιοχή µε την λίστα προγραµµάτων όπως και στη σελίδα για την µεταβολή των αποτελεσµάτων της αναζήτησης και της αντιστοίχισης προγραµµάτων µε την ολοκλήρωση της αλλαγής των στοιχείων. Από την καταχώρηση υπολογιστών έχουµε επίσης πρόσβαση στην αντιστοίχιση προγραµµάτων (αφού έχουµε εισάγει επιτυχώς κάποιον υπολογιστή) και στην αρχική. 59

60 Σχήµα 5.2λ Ο χάρτης της ιστοσελίδας (site map) 60

61 5.3 Οµάδες Χρηστών ενός τέτοιου Συστήµατος Όπως προαναφέραµε, ένα τέτοιο σύστηµα θα παρείχε χρήσιµες υπηρεσίες σε δύο διαφορετικά είδη χρηστών, τους καθηγητές και το προσωπικό του εργαστηρίου.. Ειδικότερα: Καθηγητές: Στο σύστηµα διαχείρισης οι καθηγητές έχουν πρόσβαση σε όλα τα σηµεία του site. Μπορούν δηλαδή να προσθέτουν, να διαγράφουν και να τροποποιούν στοιχεία της βάσης µέσω των φορµών του συστήµατος. Έτσι κατά την καταχώρηση καθηγητή στη βάση, στο πεδίο priv καταχωρείται η τιµή 2. Ο λόγος που το λογισµικό αναπτύχθηκε µε αυτό το σκεπτικό είναι ότι οι καθηγητές είναι οι υπεύθυνοι των υπολογιστών και λογικό επόµενο θα ήταν µόνο αυτοί να έχουν το δικαίωµα για όλες τις λειτουργίες του συστήµατος. Προσωπικό εργαστηρίου: Στο προσωπικό του εργαστηρίου δεν ισχύουν τα ίδια δεδοµένα. Κατά την καταχώρηση µελών του προσωπικού στη βάση στο πεδίο priv δίνεται η τιµή 1. Με τον τρόπο αυτό διαχωρίζονται οι καθηγητές από το προσωπικό του εργαστηρίου, το οποίο έχει περιορισµένη πρόσβαση στο σύστηµα. Αυτό σηµαίνει ότι κατά τη είσοδό τους στο site η µόνη ενέργεια που θα έχουν τη δυνατότητα να κάνουν θα είναι αυτή της αναζήτησης των υπολογιστών του εργαστηρίου προκειµένου να καλύφθουν απορίες του προσωπικού γύρω από το Hardware και το Software του εργαστηρίου. Όλες οι άλλες λειτουργίες (προσθήκη, διαγραφή, τροποποίηση στοιχείων) δε θα είναι ορατές στη συγκεκριµένη κατηγορία χρηστών. Παρατηρούµε λοιπόν ότι η πρόσβαση στο σύστηµα διαχείρισης του εργαστηρίου είναι διαβαθµισµένη. ηλαδή όλοι οι χρήστες δεν έχουν τα ίδια δικαιώµατα. Όπως µόλις αναλύθηκε, οι καθηγητές έχουν δικαίωµα πρόσβασης σε όλες τις λειτουργίες του συστήµατος σε αντίθεση µε το προσωπικό που περιορίζεται στην αναζήτηση στοιχείων των υπολογιστών. Η πρόσβαση σε ορισµένα σηµεία του site µόνο από εξουσιοδοτηµένους χρήστες αποσκοπεί στην εξασφάλιση της ακεραιότητας των δεδοµένων της βάσης, δηλαδή να µη µπορεί οποιοσδήποτε χρήστης να διαχειρίζεται στα στοιχεία της βάσης. Επίσης προκειµένου το σύστηµα να είναι ασφαλές τα password των χρηστών που καταχωρούνται στη βάση κρυπτογραφούνται µέσω της συνάρτησης SHA1 ( ) (hash function). 61

62 6. Εγχειρίδιο χρήστη Αυτή η ενότητα αποτελεί έναν εκτενή οδηγό χρήσης του συστήµατος που αναπτύχθηκε και περιλαµβάνει αναλυτική περιγραφή βήµα προς βήµα όλων των δειργασιών που µπορούν να εκτελεστούν από τους χρήστες του. Το εγχειρίδιο βασικά αποτελείται από δύο τµήµατα: i) αυτό που περιλαµβάνει τις λειτουργίες που µπορούν να διενεργηθούν από το προσωπικό του εργαστηρίου και ii) αυτό που περιλαµβάνει τις λειτουργίες από τους καθηγητές Λειτουργίες του προσωπικού του εργαστηρίου Η λειτουργία που µπορεί να εκτελέσει το προσωπικό του εργαστηρίου είναι αυτή της αναζήτησης στοιχείων των υπολογιστών του εργαστηρίου. Σύνδεση µέλους του προσωπικού στο σύστηµα Ο χρήστης πρέπει να εισάγει τον σωστό συνδυασµό ονόµατος χρήστη-συνθηµατικού (username-password) ώστε να συνδεθεί στο σύστηµα. Σχήµα6.1α Είσοδος µέλους στο σύστηµα 62

63 Αν το username και το password είναι έγκυρα τότε ο χρήστης εισάγεται στο σύστηµα και οδηγείται στην κεντρική σελίδα των χρηστών, για τα µέλη του προσωπικού, που είναι η παρακάτω: Σχήµα 6.1β Κεντρική σελίδα συστήµατος για τα µέλη του προσωπικού Κατά τη διάρκεια της µετάβασης από τη σελίδα εισόδου στην κεντρική σελίδα, ο χρήστης ενηµερώνεται για την είσοδό του στο σύστηµα µε την παρακάτω εικόνα 63

64 Σχήµα 6.1γ Μετάβαση χρήστη από την σελίδα εισόδου στην κεντρική Αν όµως ο συνδυασµός username και password δεν είναι σωστός τότε ο χρήστης ενηµερώνεται γι αυτό και προτρέπεται αν θέλει να προσπαθήσει ξανά. 64

65 Σχήµα 6.1δ Αποτυχηµένη είσοδος στο σύστηµα Αναζήτηση στοιχείων υπολογιστών Στη συνέχεια ο χρήστης (µέλος του προσωπικού) µπορεί να επιλέξει ανάµεσα στην αναζήτηση στοιχείων του υπολογιστή ή στην έξοδό του από το σύστηµα. Σε περίπτωση που η επιλογή του χρήστη είναι η αναζήτηση θα οδηγηθεί στην εξής σελίδα όπου επιλέγεται µε ποιο κριτήριο θα γίνει η αναζήτηση: 65

66 Σχήµα 6.1ε Αναζήτηση µε βάση το όνοµα του υπευθύνου Εδώ ο χρήστης µπορεί να πραγµατοποιήσει αναζήτηση στοιχείων των υπολογιστών µε βάση διάφορα κριτήρια, µε βάση τη διεύθυνση IP Address. ή το όνοµα (Hostname) του υπολογιστή, την πρίζα στην οποία είναι συνδεδεµένος ο υπολογιστής ή το όνοµα του υπεύθυνου καθηγητή του υπολογιστή. Πρέπει να σηµειωθεί ότι η αναζήτηση µε βάση την IP Address ή το Hostname µπορεί να είναι επιτυχής και αν δεν εισαχθεί ολόκληρο το όνοµα ή η διεύθυνση του υπολογιστή. Για παράδειγµα, αν γίνει αναζήτηση µε βάση το όνοµα του υπολογιστή και στο πεδίο κειµένου (text πεδίο) εισάγει ο χρήστης τον όρο nethost, θα εµφανιστούν ως αποτέλεσµα όλοι οι υπολογιστές γιατί τα Hostname που έχουν καταχωρηθεί είναι τύπου nethost(αριθµός).csd.auth.gr (το ίδιο θα συµβεί και για τις IP Address). Όταν επιλέξει κριτήριο αναζήτησης και εισάγει και τον όρο αναζήτησης τότε µε το πάτηµα του κουµπιού εκτελείται η αναζήτηση και εφόσον υπάρξουν αποτελέσµατα αυτά εµφανίζονται σε πίνακα, για παράδειγµα, µε κριτήριο αναζήτησης το όνοµα του υπευθύνου έχουµε οθόνη αποτελεσµάτων: 66

67 Σχήµα 6.1στ Αποτελέσµατα αναζήτησης από χρήστη-προσωπικό εργαστηρίου Τα πεδία που εµφανίζονται µε την ολοκλήρωση της αναζήτησης είναι το Hostname, το λειτουργικό σύστηµα, διάφορα χαρακτηριστικά του υπολογιστή, η Mac Address, η πρίζα, η IP Address, τυχόν πρόβληµα που έχει αντιµετωπίσει ο υπολογιστής, το όνοµα του υπευθύνου, το οποίο αποτελεί και link για την αποστολή ηλεκτρονικού µηνύµατος στον καθηγητή, το τηλέφωνό του, η βαθµίδα του και στο τελευταίο πεδίο του πίνακα υπάρχει σύνδεσµός που δείχνει τα προγράµµατα τα οποία είναι εγκατεστηµένα στον υπολογιστή όπως φαίνεται στην παρακάτω σελίδα. 67

68 Σχήµα 6.1ζ Λίστα εγκατεστηµένων προγραµµάτων Σε περίπτωση που ο υπολογιστής δεν έχει κανένα πρόγραµµα εγκατεστηµένο η συγκεκριµένη σελίδα δείχνει το εξής µήνυµα 68

69 Σχήµα 6.1η Εµφάνιση µηνύµατος όταν δεν υπάρχουν εγκατεστηµένα προγράµµατα Στο παράδειγµά µας ο nethost2.csd.auth.gr δεν έχει κανένα πρόγραµµα, δηλαδή το µήνυµα εµφανίζει ποιος υπολογιστής συγκεκριµένα δεν έχει εγκατεστηµένα προγράµµατα. Υπάρχει όµως και η περίπτωση η αναζήτηση να µην είναι επιτυχής και αυτό µπορεί να συµβεί µε τους παρακάτω τρόπους. Αν ο χρήστης εισάγει λανθασµένο IP Address ή Hostname του υπολογιστή που αναζητά τότε έχουµε την παρακάτω σελίδα 69

70 Σχήµα 6.1θ Εισαγωγή λανθασµένου IP Address Επίσης µπορεί να επιλέξουµε το κριτήριο αναζήτησης αλλά να µην εισάγουµε τον όρο αναζήτησης. Αν επιλέξουµε ως κριτήριο αναζήτηση πρίζα ή υπεύθυνο χωρίς να εισάγουµε όρο αναζήτησης τότε έχουµε 70

71 Σχήµα 6.1ι Μη εισαγωγή όρου στο πεδίο πρίζα ή υπεύθυνος Όταν όµως επιλέξουµε ως κριτήριο την IP Address ή το Hostname του υπολογιστή αλλά δεν εισάγουµε κάποιο όρο αναζήτησης τότε εµφανίζεται µια προειδοποίηση (alert) που µας επιστά την προσοχή στην έλλειψη όρου στο συγκεκριµένο κριτήριο. 71

72 Σχήµα 6.1κ Έλλειψη όρου αναζήτησης στο κριτήριο IP Address/Hostname Επίσης υπάρχει η πιθανότητα να πατηθεί το κουµπί Αναζήτηση χωρίς να έχει επιλεγεί κανένα κριτήριο αναζήτησης. Στην περίπτωση αυτή το σύστηµα µας υπενθυµίζει να επιλέξουµε κάποιο από τα κριτήρια. 72

73 Σχήµα 6.1λ Υπενθύµιση επιλογής κριτηρίου Έξοδος χρήστη από το σύστηµα Σε κάθε σελίδα του site υπάρχει και σύνδεσµος που µπορεί να µεταφέρει τον χρήστη στην κεντρική σελίδα του συστήµατος. Από εκεί ο χρήστης έχει τη δυνατότητα αποσύνδεσης του από το σύστηµα µε την επιλογή logout και την επιστροφή του στη σελίδα εισόδου. Κατά την έξοδο του, ο χρήστης ενηµερώνεται για την αποσύνδεσή του από το σύστηµα. 73

74 Σχήµα 6.1µ Έξοδος του χρήστη από το σύστηµα 6.2 Λειτουργίες των καθηγητών του εργαστηρίου Οι λειτουργίες που µπορεί να εκτελέσει ένας καθηγητής είναι η καταχώρηση, η διαγραφή και η αλλαγή (µεταβολή) υπευθύνων, προγραµµάτων και υπολογιστών. Φυσικά µπορεί να κάνει και αναζήτηση όπως τα µέλη του προσωπικού αλλά µε µια διαφορά στα αποτελέσµατα της αναζήτησης η οποία θα αναφερθεί παρακάτω. Η είσοδος του χρήστη στο σύστηµα γίνεται κανονικά, όπως των µελών του προσωπικού, µε τη διαφορά ότι η κεντρική σελίδα είναι διαµορφωµένη διαφορετικά λόγω των επιπρόσθετων λειτουργιών. 74

75 Σχήµα 6.2α Κεντρική σελίδα συστήµατος για τους καθηγητές Παρατηρούµε ότι εκτός από τα κουµπιά της αναζήτησης και logout υπάρχουν η καταχώρηση υπευθύνου, η καταχώρηση προγραµµάτων και η καταχώρηση υπολογιστή. Εάν ο χρήστης θέλει να εισάγει κάποιον υπολογιστή του οποίου ο υπεύθυνος δεν έχει καταχωρηθεί, πρέπει πρώτα να γίνει καταχώρηση υπευθύνου και στη συνέχεια καταχώρηση υπολογιστών καθώς το πεδίο του υπευθύνου στη φόρµα καταχώρησης υπολογιστή είναι υποχρεωτικό. Καταχώρηση υπευθύνου Η φόρµα καταχώρησης υπευθύνου έχει ως εξής 75

76 Σχήµα 6.2β Φόρµα καταχώρηση υπευθύνου Στην φόρµα εισάγονται το ονοµατεπώνυµο, το τηλέφωνο, η βαθµίδα και το του υπευθύνου. Μόνο το πεδίο ονοµατεπώνυµο υπευθύνου είναι υποχρεωτικό, τα υπόλοιπα πεδία µπορούν να µην συµπληρωθούν. Σε περίπτωση παράλειψής του εµφανίζεται προειδοποιητικό µήνυµα. 76

77 Σχήµα 6.2γ Προειδοποίηση παράλειψης υποχρεωτικού πεδίου ονοµατεπώνυµο υπευθύνου Με την ολοκλήρωση µιας καταχώρηση ενός υπευθύνου θα εµφανιστεί µήνυµα ότι η εισαγωγή ήταν επιτυχής. Επίσης δίνεται η δυνατότητα στο χρήστη αν επιθυµεί να αλλάξει κάποια στοιχεία που έχει ήδη καταχωρηµένα για κάποιον υπεύθυνο. Αυτή η λειτουργία γίνεται µε την επιλογή του υπευθύνου από το µενού. 77

78 Σχήµα 6.2δ Επιλογή υπευθύνου Μόλις επιλεγεί ο υπεύθυνος που επιθυµεί ο χρήστης εµφανίζονται αυτόµατα όλα τα πεδία της φόρµας συµπληρωµένα µε τα στοιχεία του υπεύθυνου καθηγητή. Σε αυτό το σηµείο µπορούν να γίνουν οποιεσδήποτε αλλαγές είναι επιθυµητές. Μόλις ολοκληρωθεί µια αλλαγή σε κάποιο πεδίο της φόρµας (έστω στον αριθµό τηλεφώνου) θα εµφανιστεί µήνυµα ότι η αλλαγή ήταν επιτυχής. Ακόµη ο χρήστης µπορεί να εκτελέσει τη λειτουργία της διαγραφής του υπευθύνου, επιλέγοντας τον υπεύθυνο που επιθυµεί να διαγράψει και πατώντας διαγραφή. Προηγουµένως θα εµφανιστεί alert για το αν ο χρήστης είναι βέβαιος για τη διαγραφή που θα κάνει. 78

79 Σχήµα 6.2ε Προειδοποίηση διαγραφής Αν η διαγραφή είναι επιτυχής θα εµφανιστεί µήνυµα που θα ενηµερώνει το χρήστη για την ολοκλήρωση της λειτουργίας αυτής. ιαφορετικά αν ο υπεύθυνος που επιθυµεί ο χρήστης να διαγραφεί αντιστοιχεί σε κάποιον υπολογιστή τότε 79

80 Σχήµα 6.2στ Αδύνατη διαγραφή υπευθύνου Εκτός από τις δυνατότητες της εισαγωγής/αλλαγής και διαγραφής υπευθύνων υπάρχει και η δυνατότητα του καθαρισµού της φόρµας σε περίπτωση που ο χρήστης θέλει να σβήσει τα πεδία που έχει συµπληρώσει στη φόρµα. Καταχώρηση προγραµµάτων Η φόρµα καταχώρησης προγραµµάτων αποτελείται από τα πεδία της ονοµασίας του προγράµµατος και της έκδοσής του. 80

81 Σχήµα 6.2ζ Καταχώρηση προγράµµατος Η συγκεκριµένη φόρµα εκτελεί ακριβώς τις ίδιες λειτουργίες µε αυτή της καταχώρησης υπευθύνου που περιγράφθηκε παραπάνω. Καταχώρηση υπολογιστή Θα συνεχίσουµε µε την καταχώρηση υπολογιστή στο σύστηµα. Η φόρµα αυτή αποτελείται από οχτώ πεδία, το όνοµα του υπολογιστή (Hostname), το λειτουργικό του σύστηµα, διάφορα χαρακτηριστικά, τον αριθµό πρίζας, την IP Address, την Mac Address, το πεδίο όπου µπορεί να περιγραφεί κάποιο πρόβληµα που έχει αντιµετωπίσει ο υπολογιστής και τέλος το µενού από όπου επιλέγεται ο υπεύθυνος του υπολογιστή που καταχωρείται. 81

82 Σχήµα 6.2η Καταχώρηση υπολογιστή Τα πεδία όνοµα υπολογιστή, λειτουργικό, πρίζα, IP Address, Mac Address και υπεύθυνος είναι υποχρεωτικά κατά τη συµπλήρωση της φόρµας. Σε περίπτωση που κάποιο από αυτά παραλειφθεί τότε εµφανίζεται alert (όπως στο φόρµα καταχώρησης υπευθύνου). Οι λειτουργίες της εισαγωγής, της διαγραφής και του καθαρισµού φόρµας εκτελούνται µε αυτές της φόρµας καταχώρησης υπευθύνων και προγραµµάτων και ο χρήστης λαµβάνει τα ίδια µηνύµατα επιβεβαίωσης µε την επιτυχή ολοκλήρωση κάθε λειτουργίας.. Αφού ο χρήστης έχει εισάγει έναν υπολογιστή εµφανίζεται η εξής σελίδα 82

83 Σχήµα 6.2θ Εισαγωγή υπολογιστή Αντιστοίχιση Προγραµµάτων Παρατηρούµε ότι ένα επιπλέον κουµπί που ονοµάζεται Αντιστοίχιση Προγραµµάτων, µέσω του οποίου µεταβαίνουµε στην παρακάτω 83

84 Σχήµα 6.2ι Αντιστοίχιση προγραµµάτων Στο συγκεκριµένο τµήµα του συστήµατος γίνεται η αντιστοίχιση του καταχωρηµένου υπολογιστή µε τα προγράµµατα που έχει εγκατεστηµένα. Επιπλέον ο χρήστης µπορεί να αφαιρέσει προγράµµατα που ήταν εγκατεστηµένα στον υπολογιστή αλλά πλέον όχι. Αναζήτηση στοιχείων υπολογιστών Οι φόρµες καταχώρησης υπευθύνου, προγραµµάτων και υπολογιστή ήταν οι λειτουργίες που τα µέλη του προσωπικού του εργαστηρίου δεν µπορούν να εκτελέσουν διότι για αυτούς δεν είναι ούτε ορατές. Όµως οι καθηγητές έχουν µια ακόµη δυνατότητα, λόγω της εξουσιοδοτηµένης πρόσβασής τους σε ολόκληρο το site, που υλοποιείται µέσω των αποτελεσµάτων της αναζήτησης. Στις λειτουργίες του προσωπικού του εργαστηρίου αναλύθηκε η λειτουργία της αναζήτησης. Με τον ίδιο τρόπο λειτουργεί και µε την οµάδα χρηστών των καθηγητών, µόνο που στον πίνακα των αποτελεσµάτων της αναζήτησης προστίθεται στο τέλος ακόµη ένα πεδίο ονοµαζόµενο µεταβολή. 84

85 Αλλαγή στοιχείων υπολογιστή Σχήµα 6.2κ Αποτελέσµατα αναζήτησης από χρήστη-καθηγητή Η µεταβολή είναι σύνδεσµος ο οποίος µεταβιβάζει το χρήστη στην εξής φόρµα 85

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol HTTP Protocol Web and HTTP Βασικά Συστατικά: Web Server Web Browser HTTP Protocol Web Servers (1/2) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)

Διαβάστε περισσότερα

Τεχνολογίες ιαδικτύου

Τεχνολογίες ιαδικτύου Τεχνολογίες ιαδικτύου Εισαγωγή Αρχιτεκτονική, Πρωτόκολλα και Πρότυπα Βασικών Υπηρεσιών Ιστορικά Στοιχεία ARPANET Ο «παππούς» των δικτύων Αναπτύχθηκε από την DARPA στα τέλη του 60 Το 83 διασπάται σε MILNET

Διαβάστε περισσότερα

Εργαλεία ανάπτυξης εφαρμογών internet Ι

Εργαλεία ανάπτυξης εφαρμογών internet Ι IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής 4 φάσεις διαδικτυακών εφαρμογών 1.Εφαρμογές στατικής πληροφόρησης

Διαβάστε περισσότερα

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

Διαβάστε περισσότερα

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

Διαβάστε περισσότερα

Βασικές Έννοιες Web Εφαρμογών

Βασικές Έννοιες Web Εφαρμογών ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Βασικές Έννοιες Web Εφαρμογών Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου Περιεχόμενα

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ Ηυιοθέτησητης τεχνολογίαςκαι αρχιτεκτονικής TCP/IP δεν έρχεται σε σύγκρουσηµε το µοντέλο του OSI και αυτό γιατί και τα δυο συστήµατααναπτύχθηκαν συγχρόνως. Παρόλα αυτά, υπάρχουν ορισµένες ουσιώδεις διαφορές

Διαβάστε περισσότερα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος 09 1 http://creativecommons.org/licenses/by-nc-nd/3.

Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET. Τεχνολογίες Τηλεκπαίδευσης & Εφαρµογές - Ιούλιος 09 1 http://creativecommons.org/licenses/by-nc-nd/3. Τεχνολογία TCP/IP ΙΑ ΙΚΤΥΩΣΗ- INTERNET Εφαρµογές - Ιούλιος 09 1 Εισαγωγή στην τεχνολογία TCP/IP Τεχνολογία TCP/IP TCP/IP Πρωτόκολλα TCP/IP ή τεχνολογία TCP/IP ή τεχνολογία ιαδικτύου (Internet)( ιαδίκτυο

Διαβάστε περισσότερα

Επαναληπτικές Ασκήσεις Μαθήματος

Επαναληπτικές Ασκήσεις Μαθήματος Επαναληπτικές Ασκήσεις Μαθήματος Ερώτηση: EAM1. Ποιο από τα παρακάτω χαρακτηριστικά δεν αποτελεί κριτήριο κατηγοριοποίησης δικτύων. Κλίμακα Τεχνολογία μετάδοσης Πλήθος τερματικών εντός του δικτύου Ερώτηση:

Διαβάστε περισσότερα

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15. Δίκτυα υπολογιστών. (και το Διαδίκτυο) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Δίκτυα υπολογιστών (και το Διαδίκτυο) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι ένα δίκτυο υπολογιστών;

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 6ο ίκτυα υπολογιστών 1 ίκτυα μικρά και μεγάλα Ένα δίκτυο υπολογιστών (computer network) είναι ένας συνδυασμός συστημάτων (δηλαδή, υπολογιστών),

Διαβάστε περισσότερα

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Β5.1.2 Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας Τι θα μάθουμε σήμερα: Να ορίζουμε τι είναι πρωτόκολλο επικοινωνίας Να εξηγούμε τη χρησιμότητα των πρωτοκόλλων επικοινωνίας Να ονομάζουμε τα σημαντικότερα

Διαβάστε περισσότερα

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

Διαβάστε περισσότερα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα Στόχοι κεφαλαίου ίκτυα υπολογιστών (Κεφαλαιο 15 στο βιβλιο) Περιγραφή των κύριων θεµάτων σχετικά µε τα δίκτυα υπολογιστών Αναφορά στα διάφορα είδη δικτύων Περιγραφή των διαφόρων τοπολογιών των τοπικών

Διαβάστε περισσότερα

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ Κεφάλαιο 2. Το περιβάλλον του παγκόσμιου Ιστού Επιμέλεια: Καραγιάννης Σπύρος Καθηγητής ΠΕ19 Πλεονεκτήματα παγκόσμιου Ιστού Εξυπηρετητής Ιστού & Ιστοσελίδες Κύριες

Διαβάστε περισσότερα

Εισαγωγή στο πως λειτουργεί το διαδίκτυο

Εισαγωγή στο πως λειτουργεί το διαδίκτυο Εισαγωγή στο πως λειτουργεί το διαδίκτυο (και τι θα δούμε στο εργαστήριο δικτύων) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Διαδίκτυο - ένα δίκτυο δεδομένων Σημαντικό

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας Δίκτυα Υπολογιστών Firewalls Χάρης Μανιφάβας 1 Επικοινωνία Βασίζεται στη μεταβίβαση μηνυμάτων (λόγω απουσίας διαμοιραζόμενης μνήμης) Απαιτείται συμφωνία φόρμας μηνυμάτων Πρότυπο Στόχος τυποποίησης = Συνεργασία

Διαβάστε περισσότερα

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 1: Εισαγωγή. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 1: Εισαγωγή. Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Προγραμματισμός και Συστήματα στον Παγκόσμιο Ιστό Ενότητα 1: Εισαγωγή Καθ. Ιωάννης Γαροφαλάκης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Σκοποί ενότητας Αρχιτεκτονική Πρωτόκολλα Πρότυπα Βασικών Υπηρεσιών

Διαβάστε περισσότερα

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress ΚΟΤΣΟΓΙΑΝΝΙΔΗΣ ΛΑΖΑΡΟΣ Επιβλέπων καθηγητής Σφέτσος Παναγιώτης ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ Ως Ηλεκτρονικό Εμπόριο ή

Διαβάστε περισσότερα

7.11 Πρωτόκολλα εφαρµογής

7.11 Πρωτόκολλα εφαρµογής 7.11 Πρωτόκολλα εφαρµογής Ερωτήσεις 1. Ποιος ο ρόλος των πρωτοκόλλων εφαρµογής και πώς χειρίζονται τις συνδέσεις δικτύου; 2. Γιατί κάθε πρωτόκολλο εφαρµογής ορίζει συγκεκριµένο τρόπο παρουσίασης των δεδοµένων;

Διαβάστε περισσότερα

7.2 Τεχνολογία TCP/IP

7.2 Τεχνολογία TCP/IP 7.2 Τεχνολογία TCP/IP Ερωτήσεις 1. Πώς χρησιµοποιείται σήµερα ο όρος TCP/IP; ε ποια πρωτόκολλα αναφέρεται και γιατί έχει επικρατήσει αυτή η ονοµασία; 2. Ποια ανάγκη οδήγησε στην επικράτηση της τεχνολογίας

Διαβάστε περισσότερα

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης Σελίδα 1από ΤΕΙ ΚΑΒΑΛΑΣ Πτυχιακή εργασία Δικτυακή Εφαρμογή διαχείρισης ηλεκτρονικών εγγράφων υπηρεσίας. ΕΙΣΑΓΩΓΗ Μιλτιάδης Κακλαμάνης Σελίδα 2από Κατάλογος περιεχομένων ΕΙΣΑΓΩΓΗ...1 Σχετιζόμενα πρόσωπα...3

Διαβάστε περισσότερα

Αριστοµένης Μακρής Εργαστήρια Η/Υ

Αριστοµένης Μακρής Εργαστήρια Η/Υ Επικοινωνίες µεταξύ Η/Υ - ιαδίκτυο Αναλογική Ψηφιακή µετάδοση Αναλογική µετάδοση Ψηφιακή µετάδοση Σειριακή Παράλληλη επικοινωνία Σειριακή επικοινωνία Παράλληλη επικοινωνία Μονόδροµη Ηµίδιπλη Αµφίδροµη

Διαβάστε περισσότερα

ΕΛΑΧΙΣΤΕΣ ΑΠΑΙΤΗΣΕΙΣ ΕΞΟΠΛΙΣΜΟΥ... 22 ΕΠΙΚΟΙΝΩΝΙΑ... 23

ΕΛΑΧΙΣΤΕΣ ΑΠΑΙΤΗΣΕΙΣ ΕΞΟΠΛΙΣΜΟΥ... 22 ΕΠΙΚΟΙΝΩΝΙΑ... 23 Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης GUnet e-class Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης Τηλεκπαίδευσης Τίτλος Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης Συντάκτης Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης

Διαβάστε περισσότερα

Τίτλος Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης. Συντάκτης. Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης Τηλεκπαίδευσης

Τίτλος Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης. Συντάκτης. Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης Τηλεκπαίδευσης Τίτλος Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης Συντάκτης Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης Τηλεκπαίδευσης Ηµεροµηνία Μάιος 2004 Πίνακας Περιεχοµένων ΕΙΣΑΓΩΓΗ 3 ΦΙΛΟΣΟΦΙΑ ΠΛΑΤΦΟΡΜΑΣ 4 ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ

Διαβάστε περισσότερα

Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες

Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες Διαδίκτυο: Ιστορία, Δομή, Υπηρεσίες 1 η Ερώτηση (Ορισμός): Τι είναι το Διαδίκτυο; Διαδίκτυο είναι το παγκόσμιο δίκτυο όλων των επιμέρους δικτύων που έχουν συμφωνήσει σε κοινούς κανόνες επικοινωνίας και

Διαβάστε περισσότερα

7.11 Πρωτόκολλα Εφαρµογής. 7.11.2 Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.11 Πρωτόκολλα Εφαρµογής. 7.11.2 Βασικές και Προηγµένες Υπηρεσίες ιαδικτύου. Ηλεκτρονικό Ταχυδροµείο. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.11 Πρωτόκολλα Εφαρµογής 104. Αναφέρετε ονοµαστικά τις πιο χαρακτηριστικές εφαρµογές που υποστηρίζει η τεχνολογία TCP/IP οι οποίες είναι διαθέσιµες στο ιαδίκτυο 1. Ηλεκτρονικό

Διαβάστε περισσότερα

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ.

Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. ΚΕΦΑΛΑΙΟ 9 Διαδίκτυο: δίκτυο διασυνδεμένων δικτύων Ξεκίνησε ως ένα μικρό κλειστό στρατιωτικό δίκτυο, απόρροια του Ψυχρού Πολέμου μεταξύ ΗΠΑ και ΕΣΣΔ. Το 1966 αρχίζει ο σχεδιασμός του ARPANET, του πρώτου

Διαβάστε περισσότερα

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

Διαβάστε περισσότερα

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.1.1. Γενικές Αρχές 1. Τι ονοµάζεται επικοινωνιακό υποδίκτυο και ποιο είναι το έργο του; Το σύνολο όλων των ενδιάµεσων κόµβων που εξασφαλίζουν την επικοινωνία µεταξύ

Διαβάστε περισσότερα

το ιαδίκτυο συνδέει εκατοµµύρια χρήστες αποτελώντας την µεγαλύτερη πηγή πληροφοριών και ανταλλαγής µηνυµάτων στον πλανήτη.

το ιαδίκτυο συνδέει εκατοµµύρια χρήστες αποτελώντας την µεγαλύτερη πηγή πληροφοριών και ανταλλαγής µηνυµάτων στον πλανήτη. το ιαδίκτυο Μέχρι τώρα µάθαµε να εργαζόµαστε σε έναν από τους υπολογιστές του Εργαστηρίου µας. Όµως παρατηρήσαµε ότι οι υπολογιστές αυτοί µπορούν να ανταλλάσσουν στοιχεία, να τυπώνουν όλοι σε έναν εκτυπωτή

Διαβάστε περισσότερα

ΗΛΕΚΤΡΟΝΙΚΟ ΚΑΤΑΣΤΗΜΑ

ΗΛΕΚΤΡΟΝΙΚΟ ΚΑΤΑΣΤΗΜΑ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΗΛΕΚΤΡΟΝΙΚΟ ΚΑΤΑΣΤΗΜΑ ΜΠΑΡΚΟΥΛΑΣ ΑΡΙΣΤΕΙΔΗΣ ΑΜ:3524 ΣΑΜΑΡΤΖΗΣ ΓΕΩΡΓΙΟΣ ΑΜ:883 ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΛΗΨΗ INTERNET ΗΛΕΚΤΡΟΝΙΚΟ ΕΜΠΟΡΙΟ HTML SQL (Structured Query Language\ PHP ΣΥΜΠΕΡΑΣΜΑΤΑ ΠΕΡΙΛΗΨΗ

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή

ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων Εισαγωγή ΚΕΦΑΛΑΙΟ 1: Τα είδη των Δικτύων 1.1. Εισαγωγή Γενικότερα δεν υπάρχει κάποια ταξινόμηση των πιθανών δικτύων κάτω από την οποία να ταιριάζουν όλα τα δίκτυα. Παρόλα αυτά η ταξινόμηση τους είθισται να γίνεται

Διαβάστε περισσότερα

Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5

Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5 Συγκριτικά Πλεονεκτήµατα Γραµµατείας 2003 έναντι Γραµµατείας 2.5 ιαφορετική αρχιτεκτονική: Κοινή βάση δεδοµένων, υνατότητες διασύνδεσης διαφορετικών συστηµάτων Η ανάγκη για την βελτίωση της ποιότητας των

Διαβάστε περισσότερα

6.2 Υπηρεσίες Διαδικτύου

6.2 Υπηρεσίες Διαδικτύου 6.2 Υπηρεσίες Διαδικτύου 1 / 34 Όλες οι υπηρεσίες στο Διαδίκτυο, όπως και πολλές εφαρμογές λογισμικού, στηρίζονται στο μοντέλο Πελάτη Εξυπηρετητή. 2 / 34 Σύμφωνα με αυτό το μοντέλο ο Εξυπηρετητής οργανώνει,

Διαβάστε περισσότερα

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον

Κεφάλαιο 2. Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον Κεφάλαιο 2 Υπολογιστές και Τεχνολογία Επικοινωνιών Παρελθόν - Παρόν - Μέλλον Εισαγωγή Μέσα αποθήκευσης Δίκτυα υπολογιστών Βάσεις δεδομένων Δίκτυα Υπολογιστών Σύνολο από υπολογιστές ή συσκευές διασυνδεδεμένες

Διαβάστε περισσότερα

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία (E-mail) Υπηρεσία FTP (File Transfer Protocol)

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία (E-mail) Υπηρεσία FTP (File Transfer Protocol) Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας-Βιβλιοθηκονοµίας Κέρκυρα ίκτυα - Internet 2 Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) ΜηχανέςΑναζήτησηςστοWeb Ηλεκτρονική Αλληλογραφία (E-mail) Υπηρεσία

Διαβάστε περισσότερα

Επίπεδο δικτύου IP Forwading κτλ

Επίπεδο δικτύου IP Forwading κτλ Επίπεδο δικτύου IP Forwading κτλ (IP για που το έβαλες) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής (Application layer):

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Ηλεκτρονικό Εμπόριο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Ηλεκτρονικό Εμπόριο Αναπτύσσοντας ένα Ηλεκτρονικό Κατάστημα Ηλεκτρονικό Εμπόριο Λειτουργικότητα Εφαρμογής Κατάλογος προϊόντων Καλάθι

Διαβάστε περισσότερα

Επιχειρησιακά Πληροφοριακά Συστήματα. Site: www.aggelopoulos.tk e-mail: ioannis.aggelopoulos@gmail.com. Στόχος Σκοπός μαθήματος

Επιχειρησιακά Πληροφοριακά Συστήματα. Site: www.aggelopoulos.tk e-mail: ioannis.aggelopoulos@gmail.com. Στόχος Σκοπός μαθήματος Επιχειρησιακά Πληροφοριακά Συστήματα Διδάσκων: Αγγελόπουλος Γιάννης Δευτέρα 3-5 Τρίτη 4-6 Εργαστήριο Α Site: www.aggelopoulos.tk e-mail: ioannis.aggelopoulos@gmail.com 1 Στόχος Σκοπός μαθήματος Σκοπός:

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά Για την STUDIO KOSTA BODA ILLUM Χανίων Πέµπτη, 9 Φεβρουαρίου 2012 Για την εταιρεία ACTS : Παπαγεωργίου

Διαβάστε περισσότερα

7.2.2 Σχέση OSI και TCP/IP

7.2.2 Σχέση OSI και TCP/IP Κεφάλαιο 7 7.2.2 Σχέση OSI και TCP/IP Σελ. 226-230 Γεώργιος Γιαννόπουλος ΠΕ19, ggiannop (at) sch.gr ΕΣΠΕΡΙΝΟ ΕΠΑΛ Κομοτηνής http://diktya-epal-g.ggia.info/ Γνωστό μοντέλο OSI διασύνδεσης ανοικτών συστημάτων.

Διαβάστε περισσότερα

Επικοινωνία Client/Server

Επικοινωνία Client/Server Επικοινωνία Client/Server Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία - Client/Server 1 Μοντέλο Πελάτη-Εξυπηρετητή Βασική ιδέα: να δομηθεί το λειτουργικό σύστημα ως συνεργαζόμενες

Διαβάστε περισσότερα

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 1: Ορισμοί βασικών εννοιών: Μια πρώτη μοντελοποίηση. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής

ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι. Ενότητα 1: Ορισμοί βασικών εννοιών: Μια πρώτη μοντελοποίηση. Ευαγγελίδης Γεώργιος Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 1: Ορισμοί βασικών εννοιών: Μια πρώτη μοντελοποίηση Ευαγγελίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,

Διαβάστε περισσότερα

Τι είναι ένα σύστημα διαχείρισης περιεχομένου; δυναμικό περιεχόμενο

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

Διαβάστε περισσότερα

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

Διαβάστε περισσότερα

Σχεδίαση και Ανάπτυξη Ιστότοπων

Σχεδίαση και Ανάπτυξη Ιστότοπων Σχεδίαση και Ανάπτυξη Ιστότοπων Ιστορική Εξέλιξη του Παγκόσμιου Ιστού Παρουσίαση 1 η 1 Βελώνης Γεώργιος Καθηγητής Περιεχόμενα Τι είναι το Διαδίκτυο Βασικές Υπηρεσίες Διαδικτύου Προηγμένες Υπηρεσίες Διαδικτύου

Διαβάστε περισσότερα

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών

World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών Περιεχόµενα World Wide Web: Ο παγκόσµιος ιστός Πληροφοριών Εισαγωγή Ιστορική Αναδροµή Το ιαδίκτυο και το WWW Υπερκείµενο Εντοπισµός πληροφοριών στο WWW Search Engines Portals Unicode Java Plug-Ins 1 2

Διαβάστε περισσότερα

Προγραμματισμός διαδικτυακών εφαρμογών με PHP

Προγραμματισμός διαδικτυακών εφαρμογών με PHP ΕΣΔ516: Τεχνολογίες Διαδικτύου Προγραμματισμός διαδικτυακών εφαρμογών με PHP Ερωτήματα μέσω Περιεχόμενα Περιεχόμενα Λογισμικό για εφαρμογές Web Η τριεπίπεδη αρχιτεκτονική (3-tier architecture) Εισαγωγή

Διαβάστε περισσότερα

Εργαλεία Ανάπτυξης Εφαρμογών Internet I

Εργαλεία Ανάπτυξης Εφαρμογών Internet I Εργαλεία Ανάπτυξης Εφαρμογών Internet I 2: Εισαγωγή στον περιβάλλον με δομή πελάτη-εξυπηρετητή Σταύρος Καμμάς 4 φάσεις διαδικτυακών εφαρμογών 1. Εφαρμογές στατικής πληροφόρησης 2. Εφαρμογές με απλή αμφίδρομη

Διαβάστε περισσότερα

ΜΑΘΗΜΑ 4 - ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ

ΜΑΘΗΜΑ 4 - ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΜΑΘΗΜΑ 4 - ΕΡΩΤΗΣΕΙΣ ΠΟΛΛΑΠΛΗΣ ΕΠΙΛΟΓΗΣ 1. Οι Η/Υ στο κτίριο που βρίσκεται το γραφείο σας συνδέονται έτσι ώστε το προσωπικό να μοιράζεται τα αρχεία και τους εκτυπωτές. Πως ονομάζεται αυτή η διάταξη των

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ. Τεχνολογίες και Εφαρμογές Διαδικτύου ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ Τεχνολογίες και Εφαρμογές Διαδικτύου Τυπικά Χαρακτηριστικά Εφαρμογών Διαδικτύου Κατερίνα Πραματάρη Τεχνολογίες και Εφαρμογές Διαδικτύου

Διαβάστε περισσότερα

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο Πρωτόκολλα και Αρχιτεκτονική Δικτύου Για να ανταλλάξουν δεδομένα δύο σταθμοί, εκτός από την ύπαρξη διαδρομής μεταξύ

Διαβάστε περισσότερα

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου Α5.1 Εισαγωγή στα Δίκτυα Α Λυκείου Εισαγωγή Δίκτυο Υπολογιστών (Computer Network) είναι μια ομάδα από δύο ή περισσότερους υπολογιστές ή άλλες συσκευές που συνδέονται μεταξύ τους με σκοπό να ανταλλάσσουν

Διαβάστε περισσότερα

ΕΡΓΑΣΙΑ. (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών)

ΕΡΓΑΣΙΑ. (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών) ΕΡΓΑΣΙΑ (στο µάθηµα: Τεχνολογίες Εφαρµογών ιαδικτύου του Η εξαµήνου σπουδών του Τµήµατος Πληροφορικής & Τηλ/νιών) Τίτλος: Εφαρµογή ιαδικτύου ιαχείρισης Αποθήκων (Warehouse Management Web Application) Ζητούµενο:

Διαβάστε περισσότερα

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Κεφάλαιο 4 SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ 1 4.1 ΕΙΣΑΓΩΓΗ...3 4.2 ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ...3 4.2.1 Η ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΗΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...3 4.2.1.1 ΣΤΑΘΜΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ΔΙΚΤΥΟΥ...4 4.2.1.2 ΔΙΑΧΕΙΡΙΖΟΜΕΝΟΙ

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

Διαβάστε περισσότερα

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26

1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26 1.2.2 Το μοντέλο δικτύωσης TCP/IP 1 / 26 Το δίκτυο ARPANET ήταν ένα δίκτυο μεταγωγής πακέτων που χρηματοδοτήθηκε από το υπουργείο άμυνας των Η.Π.Α. στα τέλη της δεκαετίας του '60. 2 / 26 Από την αρχή κύριος

Διαβάστε περισσότερα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Βάσεις Δεδομένων. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Βάσεις Δεδομένων Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Βάσεις Δεδομένων», 2015-2016 Κεφάλαιο 2: Περιβάλλον Βάσεων Δεδομένων Μοντέλα Δεδομένων 2.1

Διαβάστε περισσότερα

ΣΕΜΙΝΑΡΙΟ. ΠΑΡΟΥΣΙΑΣΗ 19/5/11 Αµφιθέατρο

ΣΕΜΙΝΑΡΙΟ. ΠΑΡΟΥΣΙΑΣΗ 19/5/11 Αµφιθέατρο ΣΕΜΙΝΑΡΙΟ Θεµα : Τι είναι το SSL και πως χρησιµοποιείται. Τι χρειάζεται για να στηθεί ένα SSL. Οµάδα : Παναγιώτης Καλύβας Καρανίκας Γιώργος Μιχάλης Λιβάνιος ΠΑΡΟΥΣΙΑΣΗ 19/5/11 Αµφιθέατρο Εισαγωγή Τι είναι

Διαβάστε περισσότερα

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο

Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο Δυναμικές Ιστοσελίδες στο Πανελλήνιο Σχολικό Δίκτυο Δρ. Χρήστος Όροβας Τεχνικός Υπεύθυνος 1 Διαδικασία «Φόρτωσης» μιας Ιστοσελίδας Internet Explorer, Mozilla, Chrome, κτλ HTTP Server ΠΣΔ Αίτημα για επικοινωνία

Διαβάστε περισσότερα

Σκοπιµότητα των firewalls

Σκοπιµότητα των firewalls Σκοπιµότητα των firewalls Παρέχουν προστασία των εσωτερικών δικτύων από απειλές όπως: Μη εξουσιοδοτηµένη προσπέλαση των δικτυακών πόρων: όταν επίδοξοι εισβολείς προσπαθούν να εισχωρήσουν στο δίκτυο και

Διαβάστε περισσότερα

Network Address Translation (NAT)

Network Address Translation (NAT) HY335Α Δίκτυα Υπολογιστών Xειμερινό Εξάμηνο 2016-2017 Πανεπιστήμιο Κρήτης, Τμήμα Επιστήμης Υπολογιστών Network Address Translation (NAT) Network Layer Private IP Addresses Πρόβλημα: o χώρος των ΙΡ διευθύνσεων

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ. Τρίτη, 7 Φεβρουαρίου 2012

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ. Τρίτη, 7 Φεβρουαρίου 2012 ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ ΙΑ ΙΚΤΥΑΚΟΥ ΠΛΗΡΟΦΟΡΙΑΚΟΎ ΣΥΣΤΗΜΑΤΟΣ Τρίτη, 7 Φεβρουαρίου 2012 Για την εταιρεία ACTS : Παπαγεωργίου Κων/νος Ποτιέ 21/ Χανιά, ΤΚ 73100 AΦΜ: 065439343 Τηλ./Fax:

Διαβάστε περισσότερα

Μονάδα Διασφάλισης Ποιότητας. ΜΟΔΙΠ Πανεπιστημίου Δυτικής Μακεδονίας. Κωδικός Πράξης ΟΠΣ: Επιχειρησιακό Πρόγραμμα:

Μονάδα Διασφάλισης Ποιότητας. ΜΟΔΙΠ Πανεπιστημίου Δυτικής Μακεδονίας. Κωδικός Πράξης ΟΠΣ: Επιχειρησιακό Πρόγραμμα: Μονάδα Διασφάλισης Ποιότητας Πανεπιστημίου Δυτικής Μακεδονίας Κωδικός Πράξης ΟΠΣ: 335662 Τίτλος Πράξης: ΜΟΔΙΠ Πανεπιστημίου Δυτικής Μακεδονίας Επιχειρησιακό Πρόγραμμα: Άξονας Προτεραιότητας: Στοιχεία επιστημονικά

Διαβάστε περισσότερα

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet.

PROXY SERVER. Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet. PROXY SERVER Άριστη πύλη διαχωρισμού μεταξύ του εσωτερικού δικτύου και του Internet. Αποτελεσματικό εργαλείο για την απόκρυψη των εσωτερικών λεπτομερειών και διευθύνσεων IP του δικτύου. Αυξάνει τη συνολική

Διαβάστε περισσότερα

ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΙΣΤΟΤΟΠΩΝ

ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΙΣΤΟΤΟΠΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΠΤΥΞΗ ΙΣΤΟΤΟΠΩΝ 1Τι είναι ο Παγκόσµιος Ιστός; Λόγω της µεγάλης απήχησης του Παγκόσµιου Ιστού πολλές φορές ταυτίζουµε τον Παγκόσµιο Ιστό µε το Διαδίκτυο. Στην πραγµατικότητα αυτή η αντίληψη

Διαβάστε περισσότερα

7.9 ροµολόγηση. Ερωτήσεις

7.9 ροµολόγηση. Ερωτήσεις 7.9 ροµολόγηση Ερωτήσεις 1. Να δώσετε τον ορισµό της δροµολόγησης; 2. Από τι εξαρτάται η χρονική στιγµή στην οποία λαµβάνονται οι αποφάσεις δροµολόγησης; Να αναφέρετε ποια είναι αυτή στην περίπτωση των

Διαβάστε περισσότερα

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων

Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων Εισαγωγή στα Συστήµατα Βάσεων Δεδοµένων Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Βασικές Έννοιες Τι είναι µια βάση δεδοµένων; Βάση Δεδοµένων: συλλογή από σχετιζόµενα δεδοµένα Ειδικού σκοπού λογισµικό

Διαβάστε περισσότερα

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ

ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0. Σόλωνος 108,Τηλ Φαξ ΕΞΕΤΑΣΤΕΑ ΥΛΗ (SYLLABUS) ADVANCED σχεδιασμός ιστοσελίδας ΕΚΔΟΣΗ 1.0 ΤΙ ΕΙΝΑΙ ΤΟ ADVANCED Οι Advanced θεματικές ενότητες είναι είναι κατάλληλες για άτομα που επιθυμούν να συνεχίσουν σπουδές στο χώρο της

Διαβάστε περισσότερα

Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP

Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP Άσκηση 2 η Πρωτόκολλο επικοινωνίας TCP/IP Ημερομηνία παράδοσης 2 εβδομάδες μετά την έναρξη της άσκησης 1. Γενικά για το TCP/IP Η ομάδα πρωτοκόλλων TCP/IP επιτρέπει σε υπολογιστές όλων των μεγεθών, από

Διαβάστε περισσότερα

Κάντε κλικ για έναρξη

Κάντε κλικ για έναρξη Σημειώσεις : Χρήστος Μουρατίδης Κάντε κλικ για έναρξη Ορισμός Δίκτυο Υπολογιστών = Mία ομάδα από 2 ή περισσότερους υπολογιστές που είναι συνδεδεμένοι μεταξύ τους. Ο κύριος σκοπός είναι να ανταλλάσσουν

Διαβάστε περισσότερα

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα

Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα Εισαγωγή 1 Ζήτω οι Βάσεις εδοµένων!! Αντικείµενο: Θεµελιώδες πρόβληµα της επιστήµης µας εδοµένα Μοντελοποίηση Αποθήκευση Επεξεργασία (εύρεση πληροφορίας σχετικής µε µια συγκεκριµένη ερώτηση) Σωστή Λειτουργία

Διαβάστε περισσότερα

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

Διαβάστε περισσότερα

ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκε

ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκε ΙΚΤΥΑ & INTERNET ίκτυα ίκτυο υπολογιστών: Ένα σύνολο από υπολογιστικές συσκευές που συνδέονται µεταξύ τους για σκοπούς επικοινωνίας και χρήσης πόρων. Συνήθως, οι συσκευές συνδέονται µεταξύ τους µε καλώδια

Διαβάστε περισσότερα

Πρωτόκολλα Διαδικτύου

Πρωτόκολλα Διαδικτύου Πρωτόκολλα Διαδικτύου Μέρος 1ο Επικοινωνίες Δεδομένων Μάθημα 3 ο Εισαγωγή στην Τεχνολογία TCP/IP To TCP/IP σημαίνει Transmission Control Protocol / Internet Protocol και θα μπορούσε να θεωρηθεί ότι πρόκειται

Διαβάστε περισσότερα

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δίκτυα Υπολογιστών Στόχοι 1 Να εξηγήσουμε τι είναι τα δίκτυα υπολογιστών, ποιες είναι οι βασικές κατηγορίες τους και ποιες οι πιο συνηθισμένες τοπολογίες

Διαβάστε περισσότερα

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΟΜΕΑΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ Η/Υ, ΠΛΗΡΟΦΟΡΙΚΗΣ & ΙΚΤΥΩΝ Εργ. Τεχνολογίας Λογισμικού & Υπηρεσιών S 2 E Lab Π Τ Υ Χ Ι

Διαβάστε περισσότερα

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές Λαμπαδαρίδης Αντώνιος el04148@mail.ntua.gr Διπλωματική εργασία στο Εργαστήριο Συστημάτων Βάσεων Γνώσεων και Δεδομένων Επιβλέπων: Καθηγητής Τ. Σελλής Περίληψη

Διαβάστε περισσότερα

Δικτύωση υπολογιστών

Δικτύωση υπολογιστών Δικτύωση υπολογιστών Από το 1985 αρχίζει η δικτύωση των υπολογιστών Επικοινωνία μεταξύ των συνδεδεμένων Η/Υ για μεταφορά αρχείων και δεδομένων Διαχειριστής δικτύου (Server) Εκτυπωτής 1 Πλεονεκτήματα δικτύου

Διαβάστε περισσότερα

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΕΓΚΑΤΑΣΤΑΣΗ & ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ INTERNET INFORMATION SERVER (IIS) ΓΙΑ ΥΛΟΠΟΙΗΣΗ ΥΠΗΡΕΣΙΩΝ ΔΙΑΔΙΚΤΥΟΥ (WEB SERVICES) ΣΠΟΥΔΑΣΤΡΙΑ:Μπάρδα Μαρία ΕΙΣΗΓΗΤΗΣ: Τσιαντής

Διαβάστε περισσότερα

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 7: Τοπικά δίκτυα Ανδρέας Βέγλης, Αναπληρωτής Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Περιεχόμενα. Πρόλογος... xiii

Περιεχόμενα. Πρόλογος... xiii Περιεχόμενα Πρόλογος... xiii Κεφάλαιο 1 ο Εισαγωγή στις τεχνολογίες Διαδικτύου... 1 1.1 Σύντομη ιστορία του Διαδικτύου... 3 1.2 Σύνδεση στο Διαδίκτυο μέσω Παρόχου (ISP)... 6 1.3 Μοντέλα Επικοινωνίας...

Διαβάστε περισσότερα

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ

ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΣΥΓΚΡΙΤΙΚΗ ΜΕΛΕΤΗ ΤΕΧΝΟΛΟΓΙΩΝ ΔΙΑΔΙΚΤΥΑΚΩΝ ΥΠΗΡΕΣΙΩΝ ΚΑΙ ΑΞΙΟΛΟΓΗΣΗ ΤΗΣ ΤΕΧΝΟΛΟΓΙΑΣ REST ΠΛΑΣΤΑΡΑΣ ΕΥΡΙΠΙΔΗΣ ΘΕΣΣΑΛΟΝΙΚΗ, 2016 ΕΙΣΑΓΩΓΗ Μια διαδικτυακή υπηρεσία μπορεί να περιγραφεί απλά σαν μια οποιαδήποτε

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου

ΚΕΦΑΛΑΙΟ 1.7. Πρωτόκολλα και Αρχιτεκτονική Δικτύου ΚΕΦΑΛΑΙΟ 1.7 Πρωτόκολλα και Αρχιτεκτονική Δικτύου Επικοινωνία δύο σταθμών Ύπαρξη διαδρομής Αποκατάσταση σύνδεσης Ο σταθμός-πηγή πρέπει να ξέρει πότε ο σταθμός-προορισμός είναι έτοιμος να λάβει δεδομένα.

Διαβάστε περισσότερα

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI.

1.5.1 ΓΕΦΥΡΑ (BRIDGE) Εικόνα Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 40 Σύγχρονα τηλεπικοινωνιακά και δικτυακά πρωτόκολλα Εικόνα 1.5.1 Επίπεδα λειτουργίας επαναλήπτη, γέφυρας, δρομολογητή και πύλης ως προς το μοντέλο OSI. 1.5.1 ΓΕΦΥΡΑ (BRIDGE) Οι γέφυρες λειτουργούν τόσο

Διαβάστε περισσότερα

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης

Σταύρος Καουκάκης Ευτύχιος Βαβουράκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Βασικές Έννοιες Διαδικτύου Wordpress & Κοινωνικά Δίκτυα (Part 1) Σταύρος Καουκάκης Ευτύχιος Βαβουράκης 1 Περιεχόμενα Γενικές Έννοιες Διαδικτύου Η αρχιτεκτονική του Web Συστήματα Διαχείρισης

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Δίκτυα Δεδομένων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Βασικές Έννοιες Δίκτυο υπολογιστών: ένα σύνολο διασυνδεδεμένων

Διαβάστε περισσότερα

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

1 Συστήματα Αυτοματισμού Βιβλιοθηκών 1 Συστήματα Αυτοματισμού Βιβλιοθηκών Τα Συστήματα Αυτοματισμού Βιβλιοθηκών χρησιμοποιούνται για τη διαχείριση καταχωρήσεων βιβλιοθηκών. Τα περιεχόμενα των βιβλιοθηκών αυτών είναι έντυπα έγγραφα, όπως βιβλία

Διαβάστε περισσότερα

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων SSL/TLS

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων SSL/TLS Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων SSL/TLS Fysarakis Konstantinos, PhD kfysarakis@staff.teicrete.gr » Το SSL (Secure Sockets Layer) αναπτύχθηκε από την εταιρεία Netscape. Η έκδοση 1.0 δεν παρουσιάστηκε

Διαβάστε περισσότερα

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL

Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Ορισµοί Σχεσιακού Μοντέλου και Τροποποιήσεις Σχέσεων σε SQL Βάσεις εδοµένων 2011-2012 Ευαγγελία Πιτουρά 1 Εισαγωγή Μοντελοποίηση Στα προηγούµενα µαθήµατα: Εννοιολογικός Σχεδιασµός Βάσεων Δεδοµένων (µε

Διαβάστε περισσότερα

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ»

Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ» Πρόγραμμα Πιστοποίησης Γνώσεων και Δεξιοτήτων H/Y ΕΝΟΤΗΤΑ 1: «ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ» Μάθημα 0.2: Το Λογισμικό (Software) Δίκτυα υπολογιστών Αντώνης Χατζηνούσκας 2 ΠΕΡΙΕΧΟΜΕΝΑ Α. Σκοπός του Μαθήματος

Διαβάστε περισσότερα

Βασίλειος Κοντογιάννης ΠΕ19

Βασίλειος Κοντογιάννης ΠΕ19 Ενότητα3 Επικοινωνία και Διαδίκτυο Κεφ9: Διαδίκτυο, Web2.0, WebX.0 9.1 Ιστορικά στοιχεία Από πού, πότε με ποια μορφή και με ποια αφορμή ξεκίνησε η λειτουργία του Διαδικτύου; Ξεκίνησε στην Αμερική, το 1969,

Διαβάστε περισσότερα

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7]

Στόχοι. Υπολογιστικά συστήματα: Στρώματα. Βασικές έννοιες [7] Στόχοι ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 Να εξηγήσουμε τι είναι τα δίκτυα υπολογιστών, ποιες είναι οι βασικές κατηγορίες τους και ποιες οι πιο συνηθισμένες τοπολογίες τους. Να περιγράψουμε

Διαβάστε περισσότερα

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) TEI Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) Ανάλυση Πρωτοκόλλων Τομέας Τηλεπικοινωνιών και Δικτύων Δρ. Αναστάσιος Πολίτης Καθηγητής Εφαρμογών anpol@teiser.gr

Διαβάστε περισσότερα

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη

Τεχνολογίες Παγκόσμιου Ιστού. 1η διάλεξη Τεχνολογίες Παγκόσμιου Ιστού 1η διάλεξη Χαρακτηριστικά Μαθήματος Μάθημα προγραμματισμού (και όχι μόνον) Μπορεί να εξελιχθεί σε εφιάλτη αν δεν έχετε καλή γνώση και αρκετή εμπειρία προγραμματισμού (Java)

Διαβάστε περισσότερα

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 8: Διαδίκτυο Βασικές Έννοιες

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 8: Διαδίκτυο Βασικές Έννοιες ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 8: Διαδίκτυο Βασικές Έννοιες Ανδρέας Βέγλης, Αναπληρωτής Καθηγητής Άδειες Χρήσης Το παρόν

Διαβάστε περισσότερα

Περί δικτύων. Δρ. Ματθαίος Πατρινόπουλος

Περί δικτύων. Δρ. Ματθαίος Πατρινόπουλος Περί δικτύων Δρ. Ματθαίος Πατρινόπουλος Η δομή και εφαρμογές του διαδικτύου Μοίρασμα πόρων Παροχή πρόσβασης σε Εξοικονόμηση χρημάτων Αμεσότητα επικοινωνίας Αυξημένη αξιοπιστία Εξυπηρέτηση επικοινωνιακών

Διαβάστε περισσότερα

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP Κεφάλαιο 7 Διαδικτύωση-Internet 7.2 Τεχνολογία TCP/IP Τι δηλώνει ο όρος «TCP/IP»; Ο όρος TCP/IP αναφέρεται σε μια ομάδα ομοειδών πρωτοκόλλων που χρησιμοποιούνται για την επικοινωνία των δικτύων υπολογιστών

Διαβάστε περισσότερα