Μια διαδικτυακή εφαρμογή για την αρχειοθέτηση και διαχείριση αιτήσεων εργασίας με χρήση MySQL και PHP.



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

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15

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

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

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

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

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

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

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

Φύλλο Κατανόησης 1.8

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

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Τεχνικός Εφαρμογών Πληροφορικής

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

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

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

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

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

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

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

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

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

Διαχείριση Πολιτισμικών Δεδομένων

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

Ιστορικό. *Ομάδα ανάπτυξης: Γρεασίδης Θοδωρής: 265 Κουτσαυτίκης Δημήτρης: 258 Μπούρα Βάγια: 257 Πετράκη Ελένη: 266 Φουντά Σταυρούλα: 256

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

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

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

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Μάθημα 6: Αρχιτεκτονική TCP/IP

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές


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

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

SGA Διαχείριση Ηλεκτρονικού Πρωτόκολλου

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

Μια καλή επιλογή θα ήταν (χωρίζοντας τις λέξεις με παύλα -) ή

Ψηφιακό Σχολείο 2.0. Βασικές έννοιες Υποδομές Ηλεκτρονική Μάθηση Διαχείριση Ηλεκτρονικής Τάξης Οργάνωση Ηλεκτρονικού Μαθήματος

. Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

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

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet.

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

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

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

Αίτηση Εισαγωγής Μεταπτυχιακού & Διδακτορικού Φοιτητή

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

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εργαστήριο Βάσεων Δεδομένων. Εισαγωγικό Φροντιστήριο Βασικές Έννοιες - Ανάλυση Απαιτήσεων

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

Σχεδίαση και ανάπτυξη ιστοχώρου του εργαστηρίου Μηχανικής Λογισμικού. Παληόπουλος Αποστόλης-Παπαναγιώτου Παναγιώτης

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

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

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

Η Βίβλος σχετικά με το JDBC. Περιέχει τρία βασικά tutorials στα οποία θα βασιστεί το μάθημα και περιγράφει όλες τις τάξεις και τις μεθόδους που

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

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

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

Κεφάλαιο 5: Τοπικά ίκτυα

Εργαστήριο «Δίκτυα Υπολογιστών Ι»

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

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

Διαδικτυακές Εφαρμογές. Ενότητα 2: Enterprise Java Beans και Java Server Faces Μιχάλας Άγγελος Βούρκας Δημήτριος Τμήμα Μηχανικών Πληροφορικής ΤΕ

3.3 Πρωτόκολλα ανεύρεσης και απόδοσης διευθύνσεων, Address Resolution Protocol (ARP) και Dynamic Host Configuration Protocol (DHCP)

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

MICROSOFT INTERNET LOCATOR SERVER

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

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

«Αναβαθμισμένη υπηρεσία ασύγχρονης dτηλεκπαίδευσ ης ΠΣΔ:

Εγχειρίδιο Διαχειριστή. (Υπηρεσία Αναζήτησης Συνεπιβατών)

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

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

Ανάπτυξη Υπηρεσίας Τηλεκπαίδευσης σε ΙP Δίκτυα. Υλοποίηση Σύγχρονης Τηλεκπαίδευσης

ΟΓΗΓΙΕΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΜΗΤΡΩΟΥ ΑΠΟΒΛΗΤΩΝ. Draft version

Εισαγωγικό Μάθημα Βασικές Έννοιες - Ανάλυση Απαιτήσεων

Εγχειρίδιο Επιμελητή Δράσεων. (Υπηρεσία Ενημέρωσης για Εκπαιδευτικές και Πολιτισμικές Δράσεις)

Επιχειρησιακά Πληροφοριακά Συστήματα. Site: Στόχος Σκοπός μαθήματος

Συσκευές Τηλεπικοινωνιών και Δικτύωσης. Επικοινωνίες Δεδομένων Μάθημα 9 ο

SGA Διαχείριση Πρωτόκολλου

Βάσεις δεδομένων και Microsoft Access

Ethernet Ethernet ΙΕΕΕ CSMA/CD

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

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

ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΊΔΡΥΜΑ (Α.Τ.Ε.Ι.) ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ - ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΔΙΟΙΚΗΣΗΣ.

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

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 1 ο ΚΕΦΑΛΑΙΟ

Απομακρυσμένη Πρόσβαση και Εντολές Ελέγχου και Υποστήριξης

Αρχιτεκτονική Υπολογιστών

Δίκτυα Υπολογιστών I

Document Scanning System Ιανουάριος, 2014

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

1.8 Το μοντέλο OSI 1 / 33

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ 5ο ΚΕΦΑΛΑΙΟ

Οδηγίες αξιοποίησης για τον Εκπαιδευτικό

Transcript:

Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΛΗΡΟΦΟΡΙΩΝ Μια διαδικτυακή εφαρμογή για την αρχειοθέτηση και διαχείριση αιτήσεων εργασίας με χρήση MySQL και PHP. ΚΑΠΕΛΛΟΣ ΠΑΝΑΓΙΩΤΗΣ ΙΑΝΟΥΑΡΙΟΣ 2009 ΕΠΟΠΤΗΣ ΚΑΘΗΓΗΤΗΣ Βασίλειος Χατζής Εκπονηθείσα πτυχιακή εργασίας απαραίτητη για την κτήση του βασικού πτυχίου

Περιεχόμενα ΕΙΣΑΓΩΓΗ... Τι είναι η PHP;... Απόδοση... Κόστος... Μεταφερσιμότητα... Βάση Δεδομένων... Τι είναι η MySQL;... Πλεονεκτήματα της MySQL... Απόδοση... Χαμηλό κόστος... Ευκολία Χρήσης... Μεταφερσιμότητα... JAVASCRIPT... Τι είναι η Javascript... Δυνατότητες και περιορισμοί της JavaScript... Περιορισμοί της γλώσσας... ΠΩΣ ΑΝΑΠΤΥΧΘΗΚΕ Η CLIENT-SERVER ΤΕΧΝΟΛΟΓΙΑ; ΤΗ ΕΙΝΑΙ Ο CLIENT... O ρόλος του server... Τύποι των Servers... ΔΙΚΤΥΑ... Διαφορά των δύο πρωτοκόλλων... Μοντέλο O SI... ΑΡΧΙΚΕΚΤΟΝΙΚΗ ΕΦΑΡΜΟΓΗΣ... ΑΝΑΛΥΤΙΚΗ ΠΑΡΟΥΣΙΑΣΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ... ΣΕΛΙΔΑ ΔΙΑΧΕΙΡΙΣΤΗ... Βιβλιογραφία......3...5...6...6...7...7...8...9...9...10...10...10...10...10...13...13...14...16...17...19...21...23...23 Error! Bookmark not defined....44...57...67 Σελίδα 2 από 67

ΕΙΣΑΓΩΓΗ Το ΤΕΙ Καβάλας ακολουθώντας τους ρυθμούς ανάπτυξης των σύγχρονων τεχνολογιών έδωσε ιδιαίτερη βαρύτητα στις επικοινωνίες και στη μεταφορά των πληροφοριών. Έτσι σήμερα, έχει υλοποιήσει ένα άρτιο εξοπλισμένο δίκτυο μεταφοράς πληροφοριών σε ηλεκτρονική μορφή. Δίνει λοιπόν σε ολόκληρη την ακαδημαϊκή κοινότητα την δυνατότητα να επικοινωνεί με ολόκληρο τον κόσμο έχοντας σαν στόχο την ταχύτερη και αρτιότερη ενημέρωση της. Ένα ευρύ φάσμα πληροφοριών, το οποίο είναι διαθέσιμο σε ολόκληρο τον κόσμο, με ταχύτητα και αξιοπιστία γίνεται κτήμα όλων των ενδιαφερόμενων. Οι υπηρεσίες που μπορεί να παρέχει αυτή τη στιγμή το δίκτυο του Τ.Ε.Ι. Καβάλας είναι πολύπλευρες. Ενδεικτικά αναφέρονται οι ακόλουθες: Δυνατότητα ανάρτησης ιστοσελίδων (www). Ηλεκτρονικό ταχυδρομείο (e-mail). Μεταφορά αρχείων (ftp). Ονοματολογία (DNS). Proxy Server. Απομακρυσμένη πρόσβαση. Εκτός από τα παραπάνω έχει τη δυνατότητα να παρέχει υπηρεσίες υψηλού επιπέδου όπως: Εφαρμογή νέων μεθόδων διδασκαλίας (εκπαίδευση από απόσταση κ.α.). Δυνατότητα σύνδεσης όλων των εργαστηρίων - χώρων του ΤΕΙ Καβάλας με άλλα ιδρύματα (ερευνητικά κέντρα, Πανεπιστήμια, Τεχνολογικά Εκπαιδευτικά Ιδρύματα) και κέντρα πληροφόρησης, τόσο στο εσωτερικό όσο και στο εξωτερικό. Σελίδα 3 από 67

Εισαγωγή Ανάπτυξη προγραμμάτων προς τρίτους (Δημόσιους Οργανισμούς, Επιχειρήσεις). Διευκόλυνση στη εκπαιδευτική διαδικασία. Εξυπηρέτηση προγραμμάτων συμπληρωματικής Εκπαίδευσης. Η ύπαρξη του δικτύου αποτελεί απαραίτητη προϋπόθεση για τη λειτουργία ενός σύγχρονου Τεχνολογικού Εκπαιδευτικού Ιδρύματος και είναι η τεχνολογική βάση για την εξοικείωση της ακαδημαϊκής κοινότητας με τις νέες τεχνολογίες με άμεσο στόχο τη διευκόλυνση του προσωπικού και των σπουδαστών. Η εφαρμογή αυτή αναπτύχτηκε στο βοηθήσει τους υποψήφιοι εκπαιδευτικούς να κάνουν της αιτήσεις για εργασία στο τμήμα Διαχείρισης Πληροφοριών μέσο του διαδικτύου. Έχει σκοπό να τους βοηθήσει ώστε να μην χρειάζεται να συμπληρώνουν διάφορες αιτήσεις χωρίς να χρειάζεται να πηγαίνουν στην γραμματεία για να την καταθέσουν ενώ θα μπορούν οποιαδήποτε στιγμή θελήσουν να την συμπληρώσουν ακόμα και από το σπίτι τους. Επίσης θα μπορούν εκτός του ότι θα συμπληρώνουν την αίτηση αλλά να καταχωρούν και νέα δεδομένα σχετικά με την εργασιακή τους εμπειρία, όπως και την διδακτική τους, χωρίς να χρειάζεται να κάνουν κάθε χρόνο νέες αιτήσεις και να επαναλαμβάνουν τα ίδια στοιχεία. Υπάρχει επίσης δυνατότητα του υπευθύνου της εφαρμογής να κάνει διάφορες εργασίες, όπως να κάνει καταχώρηση για νέο χρήστη, εισαγωγή νέας προκήρυξης, αλλά αναζήτηση με βάση το μάθημα για το ποιοι έχουν δηλώσει ενδιαφέρουν να το διδάξουν. Βασίζεται στην τεχνολογία Client-Server η οποία θα αναπτυχθεί παρακάτω. Οι γλώσσες με τις οποίες έχει αναπτυχθεί είναι η html με την οποία έχω αναπτύξει την εφαρμογή στο περιβάλλον του χρήστη ώστε να μπορεί να την εμφανίζει στον browser του. Την php με την οποία έχω κάνει τα διάφορα script αλλά επίσης. Για την αποθήκευση των δεδομένων ως βάση χρησιμοποίησα την mysql και τέλος για έλεγχο σε πραγματικό χρόνο των δεδομένων έχω χρησιμοποιήσει την JavaScript. Όλα αυτά τα εργαλεία θα τα αναπτύξω ποιο κάτω. Σελίδα 4 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη Τι είναι η PHP; Η ΡΗΡ είναι μια γλώσσα script από την πλευρά του διακομιστή, σχεδιασμένη ειδικά για το Web.Μέσα σε μια HTML σελίδα μπορείτε να ενσωματώσετε PHP κώδικα,που θα εκτελείται κάθε φορά που θα επισκέπτεστε τη σελίδα. Ο ΡΗΡ κώδικας μεταφράζετε στο Web διακομιστή και δημιουργεί HTML ή άλλη έξοδο που θα δει ο επισκέπτης. Η ΡΗΡ δημιουργήθηκε το 1994 και ήταν αρχικά η δουλειά ενός ατόμου, του Rasmus Lerdorf. Υιοθετήθηκε και από άλλα ταλαντούχα άτομα και έχει περάσει από τρεις βασικές εκδόσεις. Τον Ιανουάριο του 2001 ήταν σε χρήση σχεδόν σε πέντε εκατομμύρια τομείς παγκόσμια και αυτός ο αριθμός μεγαλώνει γρήγορα. Η ΡΗΡ είναι ένα προϊόν ανοιχτού κώδικα. Θα έχετε πρόσβαση στον κώδικα προέλευσης. Μπορείτε να τον χρησιμοποιήσετε, να τον αλλάξετε και να τον αναδιανείμετε, χωρίς χρέωση. Η ΡΗΡ αρχικά σήμαινε Personal Home Page ( προσωπική αρχική σελίδα ), αλλά άλλαξε σύμφωνα με την σύμβαση GNU και τώρα σημαίνει PHP HypertextPreprocessor (προεπεξεργαστής κειμένου PHP ).Η τρέχουσα βασική έκδοση της ΡΗΡ είναι η 5. Αυτή η έκδοση έχει μερικές μεγάλες βελτιώσεις στη γλώσσα. Πλεονεκτήματα της ΡΗΡ Κάποιοι από τους βασικούς ανταγωνιστές της ΡΗΡ είναι ο Perl, Microsoft Active Server Pages (ASP), Java Server Pages ( JSP ) και Allaire Cold Fusion.Σε σύγκριση με αυτά τα προϊόντα, η ΡΗΡ έχει πολλά πλεονεκτήματα όπως : Υψηλή απόδοση Διασυνδέσεις με πολλά διαφορετικά συστήματα βάσεων δεδομένων Ενσωματωμένες βιβλιοθήκες για πολλές συνηθισμένες Web διαδικασίες Χαμηλό κόστος Ευκολία μάθησης και χρήσης Σελίδα 5 από 67

Εισαγωγή Μεταφερσιμότητα Διαθεσιμότητα του κώδικα προέλευσης Ακολουθεί μια πιο λεπτομερή περιγραφή αυτών των πλεονεκτημάτων. Απόδοση Η ΡΗΡ είναι πολύ αποτελεσματική. Με ένα φθηνό διακομιστή μπορείτε να εξυπηρετήσετε εκατομμύρια επισκέψεων καθημερινά. Οι δοκιμές που δημοσιεύθηκαν από την Zend Technologies, δείχνουν ότι η ΡΗΡ ξεπερνά τους ανταγωνιστές της, ολοκλήρωση με Βάσεις δεδομένων: Η ΡΗΡ έχει εγγενείς συνδέσεις για πολλά συστήματα βάσεων δεδομένων. Εκτός από την MySQL, μπορείτε να συνδεθείτε κατευθείαν με τις βάσεις δεδομένων PostgreSQL, msql, Oracle, dbm, filepro, Informix, InterBase, Sybase, μεταξύ άλλων, χρησιμοποιώντας το Open Database Connectivity Standard (ODBC) μπορείτε να συνδεθείτε σε οποιαδήποτε βάση δεδομένων παρέχει ένα πρόγραμμα οδήγησης ODBC. Αυτό περιλαμβάνει και τα προϊόντα της Microsoft products, μεταξύ άλλων, ενσωματωμένες Βιβλιοθήκες Επειδή η ΡΗΡ σχεδιάστηκε για να χρησιμοποιείται στο Web, έχει πολλές ενσωματωμένες βιβλιοθήκες, που εκτελούν πολλές χρήσιμες λειτουργίες σχετικές με το Web. Μπορείτε να δημιουργήσετε εικόνες GIF δυναμικά, να συνδεθείτε με άλλες υπηρεσίες δικτύων, να στείλετε ηλεκτρονικό ταχυδρομείο, να δουλέψετε με cookies και να δημιουργήσετε PDF έγγραφα : όλα αυτά με λίγες γραμμές κώδικα. Δημιουργία δυναμικής ιστοσελίδας σε PHP. Ανάπτυξη εφαρμογής FORUM. Κόστος Σελίδα 6 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη Η ΡΗΡ είναι δωρεάν, η σύνταξη της ΡΗΡ βασίζεται σε άλλες γλώσσες προγραμματισμού,βασικά στην C και στην Perl. Μεταφερσιμότητα Η ΡΗΡ είναι διαθέσιμη για πολλά λειτουργικά συστήματα. Μπορείτε να γράψετε κώδικα ΡΗΡ για δωρεάν συστήματα τύπου Unix, όπως LINUX και FreeBSD, για εμπορικές εκδώσεις του UNIX, όπως το Solaris και το IRIX ή για διαφορετικές εκδώσεις των Microsoft Windows. Ο κώδικα σας συνήθως θα δουλεύει χωρίς αλλαγές στα συστήματα που τρέχουν την ΡΗΡ. Κώδικας προέλευσης Έχετε πρόσβαση στον κώδικα προέλευσης της ΡΗΡ. Αντίθετα με εμπορικά, κλειστά προγράμματα, αν υπάρχει κάτι που θέλετε να αλλάξετε ή να προσθέσετε στη γλώσσα, μπορείτε να το κάνετε. Δεν χρειάζεται να περιμένετε τον κατασκευαστή να εμφανίσει διορθώσεις. Δεν θα ανησυχείτε αν ο κατασκευαστής θα σταματήσει να υπάρχει ή αν θα σταματήσει να υποστηρίζει το προϊόν. (Luke Welling,Laura Thomson,2005:4-6). Βάση Δεδομένων Οι βάσεις δεδομένων έχουν εξελιχθεί διάμεσου διαφόρων σταθμών από το 1960: από flat αρχεία σε ιεραρχημένες βάσεις δεδομένων, συγγενικές βάσεις δεδομένων και τελικά βάσεις δεδομένων αντικειμένων. Τα πρότυπα flat αρχεία πρόσφεραν πληροφορίες μέσω διάτρητων καρτών ή αρχεία δίσκων που μοιάζουν με διάτρητες κάρτες. Οι εγγραφές αποθηκεύονταν φυσικά με την ίδια σειρά που τις έβλεπε ο χρήστης. Η ταξινόμηση των εγγραφών σήμαινε την αντιγραφή των εγγραφών από μια Σελίδα 7 από 67

Εισαγωγή τοποθεσία σε μια άλλη, την εξάλειψη των άχρηστων στοιχείων και την εμφάνιση τους στον χρήστη με νέα όψη. Πολλοί μεγάλοι οργανισμοί, κυρίως οικονομικά ιδρύματα, χρησιμοποιούν ακόμα flat αρχεία για να τρέξουν μαζικές αναφορές και μαζικές επεξεργασίες. Οι ιεραρχικές βάσεις δεδομένων μπορούσαν να αποθηκεύσουν εγγραφές είτε φυσικά, είτε λογικά τη μια διπλά στην άλλη. Οι σχετικές πληροφορίες συνήθως αποθηκεύονταν φυσικά πολύ κοντά και οι δείκτες επέτρεπαν την μετάβαση από μια έγγραφη σε μια άλλη. Οι δείκτες ήταν εργαλείο που επέτρεπε την πρόσβαση σε πληροφορίες με λογική, παρά με φυσική σειρά. Πάντως οι δείκτες ακόμη βασίζονται στην φυσική τοποθέτηση των πληροφοριών. Εάν θέλαμε να αλλάξουμε την δομή των πληροφοριών, έπρεπε να αλλάξουμε τους δείκτες. Εάν αλλάζαμε τους δείκτες, έπρεπε να ενημερώσουμε όλες τις εφαρμογές που αναφέρονταν στους δείκτες αυτούς. Όσο πιο πολύπλοκη γινόταν η προσπέλαση των πληροφοριών, τόσο πιο δύσκολη γινόταν η εξερεύνηση μέσα στις βάσεις δεδομένων. Οι σχεσιακές βάσεις δεδομένων είναι σταθερές βάσεις δεδομένων που χρησιμοποιούνται σήμερα. Επιτρέπουν την πρόσβαση σε πληροφορία χρησιμοποιώντας δείκτες, οι οποίοι εξάλειψαν την ανάγκη για εξερεύνηση αυτής της βάσης δεδομένων ή για ανακατανομή των αρχείων. Για λόγους επιδόσεων, οι σχετικές πληροφορίες ακόμη αποθηκεύονται όσο γίνεται πιο κοντά. Οι αντικειμενοστραφείς βάσεις δεδομένων αντικειμένων είναι το επόμενο λογικό βήμα μετά τις συγγενικές βάσεις δεδομένων. Επιτρέπουν τον χειρισμό ακόμα πιο πολύπλοκων πληροφοριών χρησιμοποιώντας συμπυκνωμένη λογική επεξεργασίας. Τι είναι η MySQL; Η MySQL είναι ένα πολύ γρήγορο και δυνατό, σύστημα διαχείρισης βάσεων Σελίδα 8 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη δεδομένων. Μια βάση δεδομένων σας επιτρέπει να αποθηκεύετε, να αναζητάτε, να ταξινομείτε και να ανακαλείτε τα δεδομένα αποτελεσματικά. Ο MySQL διακομιστής ελέγχει την πρόσβαση στα δεδομένα σας, για να μπορούν να δουλεύουν πολλοί χρήστες ταυτόχρονα, για να παρέχει γρήγορη πρόσβαση και να διασφαλίζει ότι μόνο πιστοποιημένοι χρήστες μπορούν να έχουν πρόσβαση. Συνεπώς η MySQL είναι ένας πολυνηματικός διακομιστής πολλαπλών χρηστών. Χρησιμοποιεί την SQL (Structured Query Language ) την τυπική γλώσσα ερωτημάτων για βάσεις δεδομένων, παγκόσμια. H MySQL είναι διαθέσιμη από το 1996 αλλά η ιστορίας της ξεκινά από το 1979. Πλεονεκτήματα της MySQL Μερικοί από τους κύριους ανταγωνιστές της MySQL είναι οι PostgreSQL, Microsoft SQL και Oracle. H MySQL έχει πολλά πλεονεκτήματα, όπως χαμηλό κόστος, εύκολη διαμόρφωση και μάθηση και ο κώδικας προέλευσης είναι διαθέσιμος. Απόδοση Η MySQL είναι χωρίς αμφιβολία γρήγορη. Μπορείτε να δείτε την σελίδα δοκιμών, πολλές από αυτές τις δοκιμές δείχνουν ότι η MySQL είναι αρκετά πιο γρήγορη από τον ανταγωνισμό. Δημιουργία δυναμικής ιστοσελίδας σε PHP. Ανάπτυξη εφαρμογής FORUM. Σελίδα 9 από 67

Εισαγωγή Χαμηλό κόστος Η MySQL είναι διαθέσιμη δωρεάν, με άδεια ανοικτού κώδικα (Open Source) ή με χαμηλό κόστος, αν πάρετε εμπορική άδεια, αν απαιτείται από την εφαρμογή σας. Ευκολία Χρήσης Οι περισσότερες μοντέρνες βάσεις δεδομένων χρησιμοποιούν SQL. Αν έχετε χρησιμοποιήσει ένα άλλο σύστημα διαχείρισης βάσεων δεδομένων δεν θα έχετε πρόβλημα να προσαρμοστείτε σε αυτό. Μεταφερσιμότητα Η MySQL μπορεί να χρησιμοποιηθεί σε πολλά διαφορετικά συστήματα Unix όπως επίσης και στα Microsoft Windows. Κώδικας Προέλευσης όπως και με την ΡΗΡ, μπορείτε να πάρετε και να τροποποιήσετε τον κώδικα προέλευσης της MySQL. (Luke Welling,Laura Thomson,2005:6-7). JAVASCRIPT Τι είναι η Javascript Σελίδα 10 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη H JavaScript είναι μία συμπαγής γλώσσα σεναρίων η οποία βοηθά τον προγραμματισμό στην κατασκευή αλληλεπιδραστικών και λειτουργικών ιστοσελίδων για το Διαδίκτυο. Οι εφαρμογές αυτές μπορούν να εκτελούνται είτε σε ένα διακομιστεί του Διαδικτύου. Για να μπορεί ένα πρόγραμμα περιήγησης να εκτελέσει ένα σενάριο γραμμένο σε javascript, πρέπει να διαθέτει έναν ερμηνευτή javascript. To σεμινάριο της Javascript ενσωματώνεται στο κώδικα HTML της ιστοσελίδας. Επίσης μπορεί να χρησιμοποιηθεί και σε διακομιστές του Διαδικτύου για την εκτέλεση εργασιών ανάλογων με εκείνες που διεκπεραιώνονται με σενάριο CGI. Αυτό γίνεται με την χρήση του εργαλείου LiveWire της NetScape, το οποίο χρησιμοιεί την JavaScript για την δημιουργία αλληλεπιδραστικών εφαρμογών στο Internet. Στην περίπτωση αυτή τα αρχεία HTML που περιέχουν JavaScript μεταγλωττίζονται και δημιουργείται ψηφιοκώδικας ο οποίος είναι ανεξάρτητος από πλατφόρμα Η ιστορία της javascript Η γλώσσα javascript δημιουργήθηκε το 1995 από τον Brendan Eich της εταιρείας με τη βοήθεια της εταιρείας Sun Microsystems. Το αρχικό όνομα της γλώσσας ήταν Livescript, και στόχευε στη δημιουργία εντυπωσιακών και πιο λειτουργικών ιστοσελίδων στο Διαδίκτυο. Η αλλαγή του ονόματος σε javascript έγινε για εμπορικούς λόγους, καθώς η - εταιρεία Sυη προωθούσε εκείνη την εποχή και τη γλώσσα java, την οποία φιλοδοξούσε να καθιερώσει ως βασική γλώσσα του Παγκόσμιου Ιστού. Ο τίτλος javascript δημιουργεί κάποια σύγχυση επειδή παραπέμπει στην java την οποία δεν υπάρχει καμία σχέση. Παρόλα αυτά, πολλές φορές η javascript αποκαλείται και "java for the rest of us (δηλαδή, java για τους υπόλοιπους), για να επισημανθεί ότι είναι μια γλώσσα που μπορεί να μάθει εύκολο ο καθένας χωρίς να χρειαστεί να κολυμπήσει στα "βαθιά νερά της java. Υπάρχουν πολλοί που ασχολούνται με τους υπολογιστές και το Διαδίκτυο χωρίς να είναι ο προγραμματισμός το κύριο έργο τους, όπως για παράδειγμα οι διαχειριστές δικτύων, οι υπεύθυνοι δικτυακών τόπων, ή ακόμα και οι απλοί χρήστες που διατηρούν σελίδες στον Σελίδα 11 από 67

Εισαγωγή Παγκόσμιο Ιστό. Σε αρκετές περιπτώσεις δημιουργείται η ανάγκη να γράψει κανείς εύκολα και γρήγορα ένα σενάριο (script) για μια συγκεκριμένη εργασία που αφορά κάποια ή κάποιες σελίδες του Internet, και τότε η javascript αποτελεί μια πολύ καλή λύση. Το πρώτο πρόγραμμα περιήγησης που υποστήριζε την Javascript ήταν ο NetScape Navigator 2.0. Η ετα\ρεία Microsoft συνειδητοποίησε αργότερα τη σημασία της Javascript και δημιούργησε τη δική της εκδοχή της γλώσσας, την οποία ονόμασε JScript 1.0 και ενσωμάτωσε στον Internet Explorer 3.0. Η απάντηση της NetScape ήρθε με την javascript 1.1 που ενσωματώθηκε στον NetScape Navigator 3.0. Τα προγράμματα περιήγησης στο Διαδίκτυο, καθώς και οι εκδόσεις της γλώσσας μέχρι το 1997, φαίνονται στον πίνακα που ακολουθεί.: Π ρ ό γ ρ α μ μ α π ε ρ ιή γ η σ η ς Έ τ ο ς Έ κ δ ο σ η J a v a s c r ip N e t S c a p e N a v ig a t o r 2.0 1 9 9 5 J a v a s c r ip 1.0 M ic r o s o ft In te r n e t E x p lo r e r 3.0 1 9 9 6 J a v a s c r ip 1.0 (J S c r ip t 1.0 ) N e t S c a p e N a v ig a t o r 3.0 1 9 9 6 J a v a s c r ip 1.1 N e t S c a p e N a v ig a t o r 4.0 1 9 9 7 J a v a s c r ip 1.2 M ic r o s o ftin te r n e t E x p lo r e r 4.0 1 9 9 7 J a v a s c r ip 1.2 (J S c r ip t 3.0 ) Εικόνα 1 ιστορια javascript Ο ευρωπαϊκός οργανισμός ΕCΜΑ European Computer Manufacturer's Associations) προτυποποίηση τη γλώσσα δημιουργώντας τον Ιούλιο του 1997 την ECMAscript: ή ΕCΜΑ-262. Οι δύο εταιρείες συνέχισαν τα επόμενα χρόνια να κυκλοφορούν εκδόσεις όχι απόλυτα συμβατές με το πρότυπο ΕCΜΑ. Ευτυχώς, τον τελευταίο καιρό υπάρχει μια αλλαγή πολιτικής, καθώς τόσο η έκδοση Javascript 1.5 που περιλαμβάνεται στο Netscape 6+, όσο και η JScript 5.5 του Internet Explorer 5.5+ προσεγγίζουν πολύ (αν και όχι 100%) το πρότυπο ECMAscript Edition 3. Αυτό σημαίνει ότι μια ιστοσελίδα με κώδικα javascrip έχει την ίδια εμφάνιση στις τελευταίες εκδόσεις τόσο του Ι Internet Explorer όσο και του NetScape. Αυτό βέβαια συμβαίνει θεωρητικά, διότι μεταξύ των δύο προγραμμάτων περιήγησης υπάρχουν εγγενείς δια-φορές. Πάντως, με την πλήρη επικράτηση του Internet Explorer έναντι του ανταγωνιστικού Σελίδα 12 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη προγράμματος της NetScape στις προτιμήσεις των χρηστών, το πρόβλημα δεν έχει και τόσο μεγάλη σημασία. Δυνατότητες και περιορισμοί της JavaScript. -I- Έλεγχος στο περιεχόμενο και την εμφάνιση των ιστοσελίδων. -I- Έλεγχος της συμπεριφοράς και των λειτουργιών του προγράμματος περιήγησης. -I- Αλληλεπίδραση με φόρμες HTML. -I- Αλληλεπίδραση με το χρήστη με την βοήθεια των χειριστών γεγονότων. -I- Ανάγνωση η καταγραφή της κατάστασης του υπολογιστή του χρήστη μέσο μπισκότων (cookies). -I- Δυνατότητες. Όπως οι εναλλαγές εικόνων, που δίνουν μια δυναμική αίσθηση στην ιστοσελίδα, αλληλεπίδραση με μικροεφαρμογές (applets) της Java, χειρισμός της ημερομηνίας και της ώρας, παροχή πληροφοριών για την οθόνη του χρήστη και βέβαια όλες οι δυνατότητες υπολογιστών και λήψης αποφάσεων που συναντάμε σε μια κανονική γλώσσα προγραμματισμού. Περιορισμοί της γλώσσας. 1. Για λόγους ασφαλείας, η Javascript δεν παρέχει τη δυνατότητα προσπέλασης ή χειρισμού αρχείων στον υπολογιστή του χρήστη. Η εγγραφή δεδομένων είναι επίσης περιορισμένη αποκλειστικά και μόνο στη δημιουργία των "μπισκότων. Τα μπισκότα αποτελούν αποκλειστικά και μόνο από κείμενο και δε μπορούν να εκτελεστούν στον υπολογιστή του χρήστη. Αυτή η δυνατότητα προφυλάσσει το χρήστη από σενάρια τα οποία θα μπορούσαν να προξενήσουν βλάβες στον υπολογιστή του. Σελίδα 13 από 67

Εισαγωγή 2. Η javascript δεν υποστηρίζει δυνατότητες δικτύωσης οποιασδήποτε μορφής, ούτε διαθέτουν εντολές δημιουργίας γραφικών ή σχεδίων. 3. Ένα σενάριο JavaScript εκτελείται στον υπολογιστή του χρήστη που επισκέπτεται μια ιστοσελίδα χωρίς να έχει τη δυνατότητα να ενημερώνει αρχεία που βρίσκονται σε διακομιστή του Ιστού. (Λιακέας Γιώργος, 2002: 13-18) ΠΩΣ ΑΝΑΠΤΥΧΘΗΚΕ Η CLIENT-SERVER ΤΕΧΝΟΛΟΓΙΑ; Η τεχνολογία των υπολογιστών αναπτύχθηκε βαθμιαία, με τέτοιο τρόπο που κάθε καινούργια αρχιτεκτονική έπαιρνε τα πλεονεκτήματα από τις τεχνικές που ήδη υπήρχαν, ώστε να εκμεταλλεύεται όλες τις δυνατότητες των υπολογιστών. Σήμερα οι υπολογιστές είναι μικρότεροι, γρηγορότεροι και φθηνότεροι από ότι παλιότερα. Σαν αποτέλεσμα, η γενική κατεύθυνση είναι η διανομή της επεξεργασίας της πληροφορίας αλλά και της ίδιας της πληροφορίας σε ένα πλήθος αυτών των νέων υπολογιστών. Ο όρος αρχιτεκτονική συνήθως χρησιμοποιείται για να περιγράφει συστήματα διαχείρισης βάσεων δεδομένων, λειτουργικά συστήματα και άλλους υπολογιστικούς μηχανισμούς λογισμικού και υλικού. Οι αρχιτεκτονικές περιγράφουν πως οι συσκευές και τα λογισμικά πακέτα ταιριάζουν για να φτιάξουν είναι εύκολο στην χρήση και στην διαχείριση. Η κλασσική αρχιτεκτονική αποτελείται από έναν υπολογιστή μεγάλης ισχύος, (που παίζει το ρόλο του οικοδεσπότη) με ένα ή περισσότερα απλά τερματικά. Οι εφαρμογές ελέγχονται και διανέμονται από τον υπολογιστή - «οικοδεσπότη». Σε αυτόν πραγματοποιούνται όλες οι διαχειρίσεις πληροφοριών, η λογική των εφαρμογών και η μορφοποίηση της εμφάνισης τους. Οι χρήστες αλληλεπιδρούν με το κεντρικό σύστημα μέσω των τερματικών, τα οποία εμφανίζουν μόνο πληροφορίες. Αυτή είναι η πιο συνηθισμένη αρχιτεκτονική σήμερα. Σελίδα 14 από 67

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

Εισαγωγή δραματικά στον υπολογιστή-«οικοδεσπότη» όσο αυξάνεται η ισχύς κάθε σταθμού εργασίας. Οι οργανισμοί έχουν να κάνουν με συνεχώς περισσότερα δεδομένα, τα οποία πρέπει να τα διαχειρίζονται και να τα εκμεταλλεύονται στις εργασίες τους. Η αύξηση του όγκου των δεδομένων, σε συνδυασμό με την προσπάθεια των οργανισμών να μειώσουν το κόστος, να αυξήσουν την παραγωγικότητα και να βελτιώσουν τις υπηρεσίες των πελατών (με καλύτερη χρήση πληροφοριών και ταχύτερο χρόνο ανταπόκρισης στους πελάτες ταυτόχρονα), έχουν συμβάλει σε μια ώθηση για δημιουργία και χρήση client-server εφαρμογών. ΤΗ ΕΙΝΑΙ Ο CLIENT Ο client είναι ο αιτών των υπηρεσιών. Ο client δεν μπορεί παρά να είναι ένας υπολογιστής. Οι υπηρεσίες που ζητούνται από τον client μπορεί να υπάρχουν στους ίδιους σταθμούς εργασίας ή σε απομακρυσμένους σταθμούς εργασίας που συνδέονται μεταξύ τους μέσω ενός δικτύου. Ο client ξεκινάει πάντα την επικοινωνία. Τα συστατικά του client είναι πολύ απλά. Μια client μηχανή πρέπει να μπορεί να κάνει τα ακόλουθα: Να τρέχει το λογισμικό των γραφικών διεπαφών χρηστών (GUIs). Να δημιουργεί τις αιτήσεις για πληροφορίες και να τις στέλνει στον server. Να αποθηκεύει τις επιστρεφόμενες πληροφορίες. Αυτές οι αιτήσεις καθορίζουν πόση μνήμη χρειάζεται, ποια ταχύτητα επεξεργασίας θα μπορούσε να βελτιώσει τον χρόνο ανταπόκρισης, και πόση χωρητικότητα αποθήκευσης απαιτείται. Η διαδικασία client-server μπορεί να απλοποιηθεί στα ακόλουθα βήματα: Ο χρήστης δημιουργεί μια αίτηση ή ένα ερώτημα. Σελίδα 16 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη Ο client μορφοποιεί το ερώτημα και το στέλνει στο server. Ο server ελέγχει την δυνατότητα πρόσβασης του χρήστη. Ο server επεξεργάζεται το ερώτημα και επιστρέφει τα αποτελέσματα. Ο client λαμβάνει την ανταπόκριση και τη μορφοποιεί για τον χρήστη. Ο χρήστης βλέπει και χειρίζεται την πληροφορία. Πέρα από τα έξι αυτά βήματα, o client παίζει τέσσερις βασικούς ρόλους. Ο client είναι στην πραγματικότητα το κέντρο της client-server εφαρμογής. Ο χρήστης αλληλεπιδρά με τον client, o client ξεκινάει το μεγαλύτερο μέρος της ανάπτυξης της εφαρμογής, και ο server υπάρχει για να απαντάει στις ανάγκες του client. Ο client εκτελεί τις ακόλουθες λειτουργίες : 1. Προσφέρει μια εύκολη στη χρήση διασύνδεση χρηστών. 2. Στέλνει απαιτήσεις. 3. Δέχεται ανταποκρίσεις. 4. Επιτρέπει στον χρήστη να βλέπει και να χειρίζεται τις πληροφορίες. Για κάθε έναν από τους τέσσερις ρόλους, δηλαδή της παροχής μιας εύκολης στη χρήση διασύνδεσης, της αποστολής απαιτήσεων, της αποδοχής ανταποκρίσεων και της δυνατότητας στο χρήστη να παίρνει και να χειρίζεται πληροφορίες, ο client έχει συγκεκριμένες ευθύνες. O ρόλος του server H client-server διαδικασία μπορεί να απλοποιηθεί στα παρακάτω βήματα: 1. Ο χρήστης στέλνει μια αίτηση ή ένα ερώτημα, μέσω του client, στον server. 2. O server ακούει την αίτηση του client. 3. Από τη στιγμή που ο server ακούει την αίτηση, ελέγχει την δυνατότητα πρόσβασης του χρήστη. Σελίδα 17 από 67

Εισαγωγή 4. Ο server επεξεργάζεται το ερώτημα. 5. Ο server επιστρέφει τα αποτελέσματα στον client. 6. O client δέχεται τα αποτελέσματα και τα παρουσιάζει στον χρήστη. Από αυτά τα έξι βήματα, ο server παίζει τέσσερις σημαντικούς ρόλους. Όπως είδαμε, ο server είναι η καρδιά της client -server εφαρμογής. Ο server υπάρχει για να απαντήσει στις ανάγκες του client, και ο client εξαρτάται από την αξιοπιστία και την έγκαιρη απάντηση του server. Ο server πρέπει να εκτελέσει τις ακόλουθες λειτουργίες: Να ακούσει την αίτηση του client. Να ελέγξει την δυναμικότητα πρόσβασης του χρήστη. Να επεξεργαστεί την αίτηση. Να επιστρέψει τα αποτελέσματα. Ο server δεν εγκαινιάζει καμιά ενέργεια. Αντίθετα, ο server περιμένει παθητικά να φτάσουν οι αιτήσεις του client μέσω του δικτύου. Ο server πρέπει πάντα να απαντάει στους clients, ακόμα και όταν πολλοί clients κάνουν ταυτόχρονες αιτήσεις. Από την στιγμή που ο server δέχεται από τον client την απαίτηση, o server πρέπει να βεβαιωθεί ότι ο client είναι εξουσιοδοτημένος να λάβει την πληροφορία ή την απάντηση. Αν ο client δεν είναι εξουσιοδοτημένος, ο server απορρίπτει την αίτηση και στέλνει μήνυμα στον client. Εάν ο client είναι εξουσιοδοτημένος, ο server συνεχίζει και επεξεργάζεται την αίτηση. Η επεξεργασία της αίτησης περιλαμβάνει την παραλαβή της αίτησης του client, την μετατροπή του σε μια μορφή που μπορεί ο server να χρησιμοποιήσει και την επεξεργασία της ίδιας της αίτησης. Όταν η επεξεργασία ολοκληρώνεται, ο server στέλνει τα αποτελέσματα πίσω στον client. Μετά, ο client μπορεί να μεταφράσει και να χρησιμοποιήσει τις πληροφορίες. Σελίδα 18 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη Δεν υπάρχει προκαθορισμένος διαχωρισμός στις ευθύνες για τις client - server εφαρμογές. Ανάλογα με τις ανάγκες μας, μπορούμε και να διαχωρίσουμε την εφαρμογή. Το ισχυρό client μοντέλο δίνει περισσότερες λειτουργίες στον client, ενώ το ισχυρό server μοντέλο δίνει περισσότερες λειτουργίες στον server. Οι servers εφαρμογών και συναλλαγών τείνουν να είναι ισχυροί servers, ενώ οι servers βάσεων δεδομένων και αρχείων τείνουν να έχουν ισχυρούς clients. Ανεξάρτητα του πώς διαχωρίζουμε την εφαρμογή, η βασική ευθύνη του server παραμένει η ίδια: να εξυπηρετεί τους clients που κάνουν αιτήσεις. Τύποι τω ν Servers Οι servers μπορούν να διαιρεθούν σε έξι τύπους: Server Εφαρμογών (Application servers). Server Πληροφοριών (Data servers). Server Υπολογισμών (Computer servers). Server Βάσεων Δεδομένων (Database servers). Server Πόρων ή Επικοινωνιών (Resource or Communications servers). Ο τύπος του server που χρησιμοποιείται εξαρτάται από την απαιτούμενη εργασία. Επίσης, αυτοί οι έξι ρόλοι μπορούν να συνδυαστούν σε ένα σύστημα ή να διαιρεθούν σε περισσότερα. Για παράδειγμα, η ίδια μηχανή μπορεί να εξυπηρετήσει σαν ένας server εφαρμογών και ένας server βάσεων δεδομένων. Οι περισσότεροι servers που χρησιμοποιούνται σήμερα στις επιχειρήσεις είναι servers αρχείων (file servers). Οι servers αρχείων επιτρέπουν στους clients να προσπελάσουν αρχεία και να μοιραστούν πληροφορίες και λογισμικό. Αυτοί οι servers είναι συνήθως ένας προσωπικός υπολογιστής Σελίδα 19 από 67

Εισαγωγή ή ένα UNIX σύστημα με έναν επεξεργαστή. Πολλοί άνθρωποι μπορούν να προσπελάσουν τον server αρχείων την ίδια στιγμή, που σημαίνει ότι ο server έχει πολλαπλές μονάδες δίσκων και κάρτες προσαρμογής δικτύου, αλλά μόνο ένα άτομο μπορεί να προσπελάσει ένα συγκεκριμένο αρχείο εκείνη τη στιγμή. 1. Server Εφαρμογών (Application servers) Οι servers εφαρμογών (application servers) τρέχουν λογισμικό εφαρμογών, που είναι πολύ σημαντικό όταν διανέμονται λογικές εφαρμογών μεταξύ του client και του server. H τοποθέτηση εφαρμογών στον server σημαίνει ότι αυτές οι εφαρμογές είναι διαθέσιμες σε πολλούς clients. Πολλοί clients μπορούν να χρησιμοποιήσουν τα RPCs( Remote Procedure Calls) για να θέσουν σε λειτουργία μια επεξεργασία στον server. Πολλοί servers εφαρμογών μπορούν ακόμα και να εργαστούν μαζί για να απαντήσουν στην απαίτηση του client. Κάθε server μπορεί να τρέξει ένα διαφορετικό λειτουργικό σύστημα σε μια διαφορετική πλατφόρμα υλικού, αλλά αυτές οι λεπτομέρειες είναι ξεκάθαρες στον client όπου μπορεί να κάνει αιτήσεις χωρίς να υπολογίζει τον τύπο της μηχανής που θα ανταποκριθεί. 2. Server Πληροφοριών (Data servers) Οι servers πληροφοριών (data severs) χρησιμοποιούνται μόνο για αποθήκευση και διαχείριση πληροφοριών και χρησιμοποιούνται σε συνδυασμό με servers υπολογισμών (compute servers). Αυτοί οι servers ερευνούν και ελέγχουν την αξιοπιστία των πληροφοριών, αλλά γενικά δεν μεταβιβάζουν μεγάλη ποσότητα πληροφοριών στο δίκτυο. 3. Server Υπολογισμών (Compute servers) Οι servers υπολογισμών (compute servers) παίρνουν τις αιτήσεις των clients για πληροφορίες στον server πληροφοριών και μετά προωθούν τα αποτελέσματα των αιτήσεων πίσω στον client. 4. Server Βάσεων Δεδομένων (Database servers) Σελίδα 20 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη Οι servers βάσεων δεδομένων (database servers) είναι τυπικά clientserver συστήματα, και έχουν να κάνουν την ίδια εργασία με αυτή που κάνουν οι servers πληροφοριών και υπολογισμών μαζί. Οι servers βάσεων δεδομένων τρέχουν DBMS (Database Management System) λογισμικό και πολύ πιθανό και κάποια λογική client-server εφαρμογή, που σημαίνει ότι αυτός ο τύπος του server χρειάζεται περισσότερη ισχύ. Τα DBMS προσφέρουν εξειδικευμένες υπηρεσίες: την δυνατότητα να ανακτά πληροφορίες και να διαχειρίζεται πληροφορίες. Οι servers που συνδυάζουν τις λειτουργίες του server βάσεων δεδομένων και του server εφαρμογών είναι επίσης γνωστοί ως server συναλλαγών (transaction servers). ΔΙΚΤΥΑ Τα δίκτυα είναι τα πιο άγνωστα συστατικά στην εξίσωση των client-server. Γενικά οι άνθρωποι δεν ξέρουν πολλά για το πώς λειτουργούν τα δίκτυα στα συστήματα client-server, διότι τα συστήματα αυτά είναι σχεδιασμένα για να κάνουν τα δίκτυα διάφανα στον χρήστη. Επιπλέον, τα δίκτυα πρέπει να είναι αξιόπιστα. Πρέπει να μπορούν να υποστηρίζουν την επικοινωνία, να ελέγχουν σφάλματα και να ξεπερνούν αμέσως τις αποτυχίες. Τα δίκτυα ελέγχονται από το λογισμικό λειτουργικών συστημάτων και διαχείρισης για να ελέγχουν τις υπηρεσίες επικοινωνίας του server και να προστατεύουν τα προγράμματα του client και του server από το να έχουν άμεση σύνδεση μεταξύ τους. Το λογισμικό διαχείρισης εστιάζεται στη παροχή αξιόπιστων υπηρεσιών, στην ελαχιστοποίηση των προβλημάτων στο δίκτυο και στην ελαχιστοποίηση των χρόνων «πτώσης» του δικτύου. Ο φυσικός τρόπος για να επιτευχθεί αυτή η σύνδεση client και server είναι η LAN καλωδίωση. Κάθε σταθμός εργασίας συνδέεται με ένα καλώδιο που οδηγεί την μετάδοση είτε αμέσως στον επόμενο σταθμό εργασίας του LAN είτε σε ένα κομβικό σημείο που οδηγεί την μετάδοση στην κατάλληλη Σελίδα 21 από 67

Εισαγωγή διαδρομή. Υπάρχουν δυο βασικοί LAN σχηματισμοί, που χρησιμοποιούν Ethernet και Token Ring. 1) Ethernet IEEE 802.3 (Institute of Electrical and Electronic Engineers) Ο Ethernet είναι ο πιο γνωστός σχηματισμός δικτύου που χρησιμοποιείται σήμερα. Το δίκτυο Ethernet έχει μια μέγιστη έξοδο των 10 Mbps. Οι πρώτες κάρτες αλληλεπίδρασης στο δίκτυο, οι NICs (Network Interface Cards) που αναπτύχθηκαν για το Ethernet ήταν πιο φθηνές από τις αντίστοιχες κάρτες NICs που αναπτύχθηκαν από την IBM για το Token Ring. Μέχρι πρόσφατα οι οργανισμοί που χρησιμοποιούσαν εξοπλισμό υπολογιστών και σταθμών εργασιών που δεν βασίζονται στην IBM είχαν λίγες επιλογές πέρα απο το Ethernet. Ακόμα και σήμερα σε ετερογενη περιβάλλοντα υπάρχουν υπολογιστές οι οποίοι χρησιμοποιούν μόνο NICs του Ethernet. Το 10BaseT Ethernet είναι ένα πρότυπο που επιτρέπει την υλοποίηση του πρωτοκόλλου Ethernet στις τηλεφωνικές εγκαταστάσεις. Η ευκολία στη χρήση και το χαμηλό κόστος έκαναν το 10BaseT το πιο συνηθισμένο σχηματισμό δικτύου. 2) Token Ring IEEE 802.5 Η IBM χρησιμοποιεί το πρωτόκολλο του Token Ring ως πρότυπο για την σύνδεση στα προϊόντα της. Σε ένα περιβάλλον που χρησιμοποιείται ευρέως υλικό της IBM, το Token Ring είναι προτιμότερη επιλογή LAN σχηματισμού. Η χρήση του Token Ring προσφέρει έναν υψηλό βαθμό αξιοπιστίας αφού η επιτυχία σε έναν κόμβο δεν επηρεάζει κάποιον άλλο κόμβο. Μόνο η αποτυχία σε ένα νευραλγικό κεντρικό σημείο μπορεί να επηρεάσει περισσότερους από έναν κόμβους. Το δίκτυο του Token Ring υλοποιεί ταχύτητες μετάδοσης 4 ή 16 Mbps. Παλιότερες κάρτες NIC υποστήριζαν ταχύτητα 4-Mbps μόνο, αλλά οι νεώτερες υποστηρίζουν και τις δυο ταχύτητες. Σελίδα 22 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη Διαφορά τω ν δύο πρωτοκόλλων Υπάρχει μια βασική λειτουργική διαφορά στο τρόπο που οι σχηματισμοί Ethernet και Token Ring τοποθετούν τα δεδομένα στο καλώδιο. Με το πρωτόκολλο του Ethernet, ο επεξεργαστής επιχειρεί να αποθηκεύσει δεδομένα στο καλώδιο, όποτε απαιτεί εξυπηρέτηση. Το πρωτόκολλο αυτό περιλαμβάνει και την κατάλληλη λογική για να επιλύσει τις συγκρούσεις, οπότε αυτές εμφανίζονται. Από την άλλη πλευρά, με το πρωτόκολλο του Token Ring, ο επεξεργαστής επιχειρεί μόνο να τοποθετήσει δεδομένα πάνω στο καλώδιο, όταν υπάρχει χώρος για να δεχτεί την μετάδοση. Ενώ μία άλλη μέθοδος σύνδεσης είναι και τα ασύρματα δίκτυα αυτή η τεχνολογία χρησιμοποιεί ως μέσω μετάδοσης τα ραδιοκύματα. Η Motorola προσφέρει ένα σύστημα, το Altair που υποστηρίζει τα πρότυπα πρωτόκολλα μεταφοράς του Ethernet. Η υλοποίηση αυτή της Motorola συνδέει σταθμούς εργασίας μεταξύ τους με microcells, χρησιμοποιώντας την πρότυπη καλωδίωση του Ethernet. Αυτά τα microcells επικοινωνούν μέσω των ραδιοκυμάτων με τους servers. Το βασικό πλεονέκτημα αυτής της τεχνολογίας είναι ελκυστική όταν το κόστος εγκατάστασης των καλωδιώσεων είναι υψηλό. Το κόστος τείνει να είναι υψηλό όταν η καλωδίωση γίνεται μεταξύ σταθμών εργασίας που μετακινούνται συχνά ή εγκαθίσταται προσωρινά. Μοντέλο OSI Λόγο της διαφορετικότητας των λειτουργικών όπου υπάρχουν στο διαδίκτυο έχει δημιουργηθεί το μοντέλο OSI όπου βασίζονται σε πρότυπα που επιτρέπουν σε διαφορετικές μηχανές και πλατφόρμες να επικοινωνούν μεταξύ τους σαν να είναι ταυτόσημα. Τα πρότυπα καθορίζουν την μορφή στην οποία ανταλλάσσονται οι πληροφορίες, το πως απομακρυσμένα συστήματα προσπελάζονται και το πως λειτουργούν τα συστήματα. Σελίδα 23 από 67

Εισαγωγή Το μοντέλο OSI που χωρίζεται σε επτά στρώματα και που δημιουργήθηκε από την ISO (International Standards Organization) προσφέρει ένα πρότυπο για ανάπτυξη εφαρμογών και ένα τρόπο σύγκρισης διαφορετικών αρχιτεκτονικών δικτύων. Τα επτά στρώματα του μοντέλου ενεργούν όπως οι clients και οι servers. Κάθε στρώμα απαιτεί υπηρεσίες ή πληροφορίες από το στρώμα που βρίσκεται πιο πάνω και ικανοποιεί απαιτήσεις των στρωμάτων που βρίσκονται από κάτω του. Τα στρώματα περιγράφονται ως εξής: o Υλικό στρώμα: Το στρώμα 1, το υλικό στρώμα (physical layer) είναι το χαμηλότερο επίπεδο του OSI μοντέλου και καθορίζει τα φυσικά ηλεκτρονικά χαρακτηριστικά των συνδέσεων που σχηματίζουν το δίκτυο. Έχει να κάνει δηλαδή με το πραγματικό υλικό που απαιτείται για να δημιουργηθεί η επικοινωνία μεταξύ των δύο συσκευών. Πρότυπα σε αυτό το στρώμα για client-server εφαρμογές είναι το Ethernet IEEE 802.3 και το Token Ring ΙΕΕΕ 802.5 που καθορίζουν τις απαιτήσεις για την NIC(Network Interface Card) και τις απαιτήσεις για το λογισμικό για το στρώμα MAC(Media Access Control). Άλλα πρότυπα εδώ περιλαμβάνουν τις σειριακές διασυνδέσεις ΕΙΑ 232 και x.21. o Στρώμα Διασύνδεσης Πληροφοριών: Το στρώμα 2, το στρώμα διασύνδεσης πληροφοριών (data link layer) καθορίζει το βασικό τμήμα των πληροφοριών που θα εισέλθει ή θα αποχωρήσει από το φυσικό δίκτυο. Εδώ ελέγχονται τα σφάλματα και διορθώνονται, ζητώντας την επαναμετάδοση των τμημάτων των πληροφοριών ή των μηνυμάτων. Αυτό το στρώμα ουσιαστικά διαιρείται σε δυο υποστρώματα, το ΜΑC(Media Access Control) και το LLC Σελίδα 24 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη (Logical Link Control). Το υπόστρωμα ΜΑC έχει ευθύνες για τον καθορισμό των δεδομένων που θα σταλούν ή θα ληφθούν και για την πρόληψη συγκρούσεων. Το υπόστρωμα LLC λειτουργεί πάνω από το στρώμα MAC και στέλνει ή λαμβάνει πακέτα δεδομένων και μηνύματα. o Στρώμα Δικτύου: Το στρώμα 3, το στρώμα του δικτύου (network layer) είναι υπεύθυνο για να επιλέγει και να καθοδηγεί τα μηνύματα στους κατάλληλους προορισμούς, Συντονίζει τα μέσα για την αποστολή και την παραλαβή των μηνυμάτων. Παρέχει σε κάθε σύστημα μια μοναδική διεύθυνση στο δίκτυο, καθορίζει μια διαδρομή για να μεταφέρει μια πληροφορία στον προορισμό της, χωρίζει μεγάλες ποσότητες πληροφοριών σε μικρότερες ποσότητες και πραγματοποιεί ολοκληρωμένο έλεγχο στη διάρκεια της διαδικασίας. o Στρώμα Μεταφοράς: Το στρώμα 4, το στρώμα μεταφοράς (transport layer) χρησιμοποιεί πρωτόκολλα για να διαμορφώσει, να αποστείλει και να κατευθύνει την πληροφορία μέσω των κόμβων του δικτύου. o Στρώμα Επικοινωνίας: Το στρώμα 5, το στρώμα επικοινωνίας (session layer) επιτρέπει σε δύο επεξεργαστές να εγκαταστήσουν και να ελέγξουν ένα δίαυλο επικοινωνίας, να πραγματοποιούν ουσιαστικά μια ανταλλαγή μηνυμάτων, ένα διάλογο μεταξύ τους. Όταν ένα μήνυμα περιέχει περισσότερα από ένα πακέτα, αυτό το στρώμα τοποθετεί στη σειρά τα πακέτα και Σελίδα 25 από 67

Εισαγωγή ρυθμίζει τη ροή της κυκλοφορίας. Είναι υπεύθυνο για την επιβεβαίωση σωστών μεταφορών των δεδομένων. o Στρώμα Παρουσίασης: Το στρώμα 6, το στρώμα παρουσίασης (presentation layer) είναι υπεύθυνο για την ερμηνεία των πληροφοριών που λαμβάνει ο ένας επεξεργαστής από τον άλλον, σε μορφή τέτοια που θα του είναι οικεία. o Στρώμα Εφαρμογής: Το στρώμα 7, το στρώμα εφαρμογής (application layer) είναι το τμήμα της εφαρμογής στο οποίο αλληλεπιδρά άμεσα ο χρήστης. Εδώ ορίζεται ο κώδικάς του προγράμματος. Τα μηνύματα μπαίνουν στη σειρά σε αυτό το επίπεδο του OSI μοντέλου, περνούν μέσω των στρωμάτων στο φυσικό στρώμα, μετά μέσω του δικτύου στο φυσικό στρώμα του άλλου επεξεργαστή και προχωράνε προς στο στρώμα εφαρμογής του άλλου επεξεργαστή για να τρέξουν. Σελίδα 26 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη ΑΡΧΙΚΕΚΤΟΝΙΚΗ ΕΦΑΡΜΟΓΗΣ Οι πίνακες που ακολουθούν περιγράφουν τους πίνακες της βάσης. personal: O πίνακας αυτός περιέχει τα προσωπικά στοιχεία του υποψηφίου. id: Πρωτεύων κλειδί και κωδικός υποψηφίου και είναι integer. fname: Επώνυμο υποψηφίου και έχει τύπο char με μέγεθος 30 χαρακτήρων. Iname: Ονομα υποψηφίου και έχει τύπο char με μέγεθος 30 χαρακτήρων. fathrename:συμπλήρωση ονόματος του Πατέρα έχει τύπο char με μέγιστο μέγεθος 30 χαρακτήρων. mothername:συμπλήρωση ονόματος της μητέρας του, όπου έχουν τύπο char με μέγιστο αριθμό 30 χαρακτήρων. date_birth:συμπλήρωση της ημερομηνίας γέννησης και έχει τύπο char. αddresshouse:συμπλήρωση της διεύθυνσης κατοικίας όπου έχει τύπο char με μέγιστο αριθμό 30 χαρακτήρων. address_kodik: Συμπλήρωση της ταχυδρομικής διεύθυνσης όπου έχει τύπο char με μέγιστο αριθμό 5 χαρακτήρων. ^γ:συμπλήρωση της πόλης κατοικίας του όπου έχει τύπο char με μέγιστο αριθμό 20 χαρακτήρων. teiephono_house: Συμπλήρωση του τηλεφώνου του σπιτιού όπου έχει τύπο char με μέγιστο αριθμό 10 χαρακτήρων. mobile_telephono: Συμπλήρωση του κινητού του σπιτιού όπου έχει τύπο char με μέγιστο αριθμό 10 χαρακτήρων. emaii:συμπλήρωση του email του όπου έχει τύπο char με μέγιστο αριθμό 30 χαρακτήρων. Σελίδα 27 από 67

Αναλυτική Παρουσίαση της Εφαρμογής tautotita: Συμπλήρωση του αριθμού της ταυτότητας και έχει τύπο char με μέγιστο αριθμό 8 χαρακτήρων. date_publication: Συμπλήρωση της ημερομηνίας έκδοσης της ταυτότητας όπου έχει τύπο char με μέγιστο αριθμό 2 χαρακτήρων. α^:συμπλήρωση του Φορολογικού Μητρώου, έχει τύπο char με μέγιστο αριθμό 10 χαρακτήρων. doi: Συμπλήρωση της Εφορίας, έχει τύπο char με μέγιστο αριθμό 10 χαρακτήρων. familial_situation: Συμπλήρωση της οικογενειακής κατάστασης έχει τύπο char με μέγιστο αριθμό 1 χαρακτήρων. speciality: Συμπλήρωση του πτυχίου που διαθέτη έχει τύπο char, με μέγιστο αριθμό 60 χαρακτήρων. police_state: Συμπλήρωση της εκδούσα αρχής έχει τύπο char, με μέγιστο αριθμό 30 χαρακτήρων. number_children: Συμπλήρωση του αριθμού των παιδειών, με τύπο char με μέγιστο αριθμό 3 χαρακτήρων. profession: Συμπλήρωση του εμπαγγέλματος του, με τύπο char με μέγιστο αριθμό 50 χαρακτήρων. asfalisi: Συμπλήρωση του φορέα ασφάλισης του, με τύπο char με μέγιστο αριθμό 30 χαρακτήρων. number_registra_i_k_a: Συμπλήρωση του Αριθμού Μητρώου του, με τύπο char με μέγιστο αριθμό 9 χαρακτήρων. address_work: Συμπλήρωση της διεύθυνσης εργασίας του, με τύπο char με μέγιστο αριθμό 30 χαρακτήρων. telephono_work: Συμπλήρωση του τηλεφώνου της εργασίας του, με τύπο char με μέγιστο αριθμό 10 χαρακτήρων. month_birth: Συμπλήρωση του μήνα της ημερομηνίας γέννησης του, με τύπο char με μέγιστο αριθμό 60 χαρακτήρων. year_birth: Συμπλήρωση του μήνα της ημερομηνίας γέννησης του, με τύπο char με μέγιστο αριθμό 10 χαρακτήρων. month_publicate: : Συμπλήρωση του μήνα έκδοσης της ταυτότητας, με τύπο char με μέγιστο αριθμό 60 χαρακτήρων. Σελίδα 28 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη year_publicate: Συμπλήρωση του έτους έκδοσης της ταυτότητας, με τύπο char με μέγιστο αριθμό 10 χαρακτήρων. personal id fname lname fathrenam motherna date_ addressh e me birth ouse address city telephon mobile_te email tautot date_pub _kodik o_house lephono ita lication police_ afm doi familial_si number_ speci professio state tuation children ality n asfalisi number_regi address_ telephono month_bi year_ month_p stra_i_k_a work _work rth birth ublicate year_publicate prokirixis: Ο πίνακας αυτός περιέχει την προκήρυξη id: Πρωτεύων κλειδί, Συμπλήρωση του κωδικού με αυτόματη αρίθμηση υποψηφίου και είναι τύπου integer. text: Συμπλήρωση της προκήρυξης,, με τύπο char με μέγιστο αριθμό 45 χαρακτήρων. date_start: Συμπλήρωση της ημερομηνίας έναρξης για κατάθεση της αίτησης,, με τύπο date. datefinish: Συμπλήρωση της ημερομηνίας λήξης για κατάθεση της αίτησης,, με τύπο date. prokirixis id text date_start datefinish aitisi:σε αυτόν τον πίνακα γίνεται η αντιστοίχιση των προσωπικών δεδομένων με την προκήρυξη. id_aitisis: : Πρωτεύων κλειδί, συμπλήρωση του κωδικού με αυτόματη αρίθμηση της αίτησης και είναι τύπου integer. Σελίδα 29 από 67

Αναλυτική Παρουσίαση της Εφαρμογής id_personal: Ξένο κλειδί, συμπλήρωση του κωδικού του υποψηφίου της αίτησης και είναι τύπου integer. id_prokirixi: Ξένο κλειδί, συμπλήρωση της αίτησης του υποψηφίου της προκήρυξης και είναι τύπου integer. aitisi id_aitisis id_personal id_prokirixi antistoixisi: Ο πίνακας αυτός κάνει αντιστοίχηση του id_personal με το μάθημα id_personal: Ξένο κλειδί, καταχώριση του κωδικού του υποψηφίου και είναι τύπου integer. id_lesson: Ξένο κλειδί, καταχώριση του κωδικού του μαθήματος και είναι τύπου integer. antistoixisi id_personal id_lesson antistoi_ores :Ο πίνακας αυτός κάνει αντιστοίχηση του id_personal με τις μέρες. id_personal: Ξένο κλειδί, καταχώριση του κωδικού του υποψηφίου και είναι τύπου integer. id_date: Ξένο κλειδί, καταχώριση του κωδικού της ημέρας και είναι τύπου integer. Σελίδα 30 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη antistoi ores id_personal id date thesi :Ο πίνακας αυτός κάνει αντιστοίχηση του id_personal με τη θέση που τον ενδιαφέρει. id_personal: Ξένο κλειδί, καταχώριση του κωδικού του υποψηφίου και είναι τύπου integer. Idthesi: Ξένο κλειδί, καταχώριση του κωδικού της θέσης και είναι τύπου integer. thesi id perigrafi antoisti_lesson :Ο πίνακας αυτός κάνει αντιστοίχηση του id_personal με το μάθημα και τον τύπο το μαθήματος. id_lesson: Ξένο κλειδί, καταχώριση του κωδικού του μαθήματος και είναι τύπου integer. id_personal: Ξένο κλειδί, καταχώριση του κωδικού του υποψηφίου και είναι τύπου integer. idlesson_katastasi: Ξένο κλειδί, καταχώριση του τύπου του μαθήματος και είναι τύπου integer. antoisti_lesson id_lesson idlesson_katastasi id_personal antois_ola :Ο πίνακας αυτός κάνει αντιστοίχηση του id_personal με την προκήρυξη την μέρα και την ώρα. id_personal: Ξένο κλειδί, καταχώριση του κωδικού του υποψηφίου και είναι τύπου integer. Σελίδα 31 από 67

Αναλυτική Παρουσίαση της Εφαρμογής id_prokirixi: Ξένο κλειδί, συμπλήρωση της προκήρυξης και είναι τύπου integer. id_mera: Ξένο κλειδί, συμπλήρωση της ημέρας και είναι τύπου integer. id_ora: Ξένο κλειδί, συμπλήρωση της ώρας και είναι τύπου integer. antois_ola id_pesonal id_prokirixi id_mera id_ora antois_pro_me_mathima: Ο πίνακας αυτός κάνει αντιστοίχηση του id_personal με την προκήρυξη και το μάθημα. id_personal: Ξένο κλειδί, καταχώριση του κωδικού του υποψηφίου και είναι τύπου integer. id_prokirixi: Ξένο κλειδί, συμπλήρωση της προκήρυξης και είναι τύπου integer. id_lesson: Ξένο κλειδί, συμπλήρωση του μαθήματος και είναι τύπου integer antois_pro_me_mathima id_personal id_prokirixi id_lesson apokrisi: Ο πίνακας αυτός κάνει περιέχει όλες τις δημοσιεύσεις που έχει μετά από κρίση. id_personal: Ξένο κλειδί, καταχώριση του κωδικού του υποψηφίου και είναι τύπου integer. metakrisi: Συμπλήρωση των δημοσιεύσεων και είναι τύπου text. aitisis: Ξένο κλειδί, συμπλήρωση της αίτησης του υποψηφίου. apokrisi id_pesonal metakrisi aitisis Σελίδα 32 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη book: Ο πίνακας αυτός κάνει περιέχει όλα τα βιβλία και τις σημειώσεις. id: Ξένο κλειδί, καταχώριση του κωδικού του υποψηφίου και είναι τύπου integer. books: Συμπλήρωση των βιβλίων που έχει χρησιμοποιήσει. aitisis: Ξένο κλειδί, συμπλήρωση της αίτησης του υποψηφίου. book id books aitisi date: Ο πίνακας αυτός κάνει περιέχει τις μέρες που χρησιμοποιούμαι. id_date: Πρωτεύων κλειδί, με αυτόματη αρίθμηση και τύπου integer. date: Συμπλήρωση της ημέρας και είναι τύπου integer. date id date date dimosiefsi : Ο πίνακας αυτός κάνει περιέχει τις δημοσιεύσεις σε διεθνή περιοδικά. id_personal: Ξένο κλειδί, καταχώριση του κωδικού του υποψηφίου και είναι τύπου integer. dimosieusis:καταχώριση της δημοσίευσης, είναι τύπου text; aitisis: Ξένο κλειδί, συμπλήρωση της αίτησης του υποψηφίου. dimosiefsi id_personal dimosieusis aitisi Σελίδα 33 από 67

Αναλυτική Παρουσίαση της Εφαρμογής diplom_eures :Ο πίνακας αυτός περιέχει τα διπλώματα ευρεσιτεχνίας των υποψηφίων. ίά:ξένο κλειδί, με τιμή τον κωδικό του υποψηφίου με τύπο integer. euresitexnia: Συμπλήρωση της ευρεσιτεχνίας που έχει κατοχυρώσει και είναι τύπου text. aitisi: Ξένο κλειδί, συμπλήρωση του κωδικού της αίτησης που κάνει τη καταχώριση και είναι τύπου integer. diplom_eures id euresitexnia aitisi languages: Ο πίνακας αυτός κάνει καταχώρηση των γλωσσών που γνωρίζει id: Ξένο κλειδί, καταχώριση του κωδικού του υποψηφίου και είναι τύπου integer. language: Συμπλήρωση της ξένης γλώσσας που γνωρίζει και είναι τύπου char με μέγιστο αριθμό χαρακτήρων 30. ptyxio: Συμπλήρωση του πτυχίου που έχει και είναι τύπου char με μέγιστο αριθμό χαρακτήρων 30. number_dikaiologitiko: Συμπλήρωση τη αριθμό δικαιολογητικού έχει και είναι τύπου char με μέγιστο αριθμό χαρακτήρων 4. aitisi: Ξένο κλειδί, συμπλήρωση του κωδικού της αίτησης που κάνει τη καταχώριση και είναι τύπου integer. languages id language ptyxio number_dikaiologitiko aitisi lesson: Ο πίνακας αυτός περιέχει όλα τα μαθήματα του τμήματος. Σελίδα 34 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη id: Πρωτεύων κλειδί και κωδικός του μαθήματος και είναι τύπου integer. title_lesson: Συμπλήρωση των μαθημάτων της σχολής, είναι τύπου text. lesson id title lesson lesson_katastasi: Ο πίνακας αυτός περιέχει τον τύπο του μαθήματος. id: Πρωτεύων κλειδί, καταχωρεί τον κωδικός της θέσης και είναι τύπου integer. katastasi: Συμπλήρωση της κατάστασης του μαθήματος και είναι τύπου char με μέγιστο αριθμό χαρακτήρων 20. lesson katastasi id katastasi mera: Ο πίνακας αυτός περιέχει τον τύπο του μαθήματος. id: Πρωτεύων κλειδί, καταχωρεί τον κωδικός της θέσης και είναι τύπου integer. perigrafi: Συμπλήρωση της ημέρας και είναι τύπου char με μέγιστο αριθμό χαρακτήρων 10. mera id perigrafi month: Ο πίνακας αυτός περιέχει τους μήνες. id: Πρωτεύων κλειδί, καταχωρεί τον κωδικός της θέσης και είναι τύπου integer. months: Καταχώριση των μηνών και είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 20. Σελίδα 35 από 67

Αναλυτική Παρουσίαση της Εφαρμογής month id_month months ores: Ο πίνακας αυτός περιέχει τις ώρες. id: Πρωτεύων κλειδί, καταχωρεί τον κωδικός της ώρας και είναι τύπου integer. katastasi: Αποθήκευση της ώρας που μπορεί να εργαστή και είναι τύπου text. ora: Αποθήκευση της ώρας που μπορεί να εργαστή και είναι τύπου text. ores id katastasi ora sesion: Ο πίνακας αυτός περιέχει το sesion. id_sesion: Καταχώριση του τυχαίου αριθμού και είναι τύπου text. sesion id sesion spoudes: Ο πίνακας αυτός περιέχει τις σπουδές που έχει κάνει. id: Ξένο κλειδί, καταχωρεί τον κωδικός του πτυχείου και είναι τύπου integer. title: Συμπλήρωση του βασικού τίτλου σπουδών και είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 60. state: Συμπλήρωση του τμήματος όπου απέκτησε το πτυχίο, είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 60. date_basic: Ξένο κλειδί, συμπλήρωση της ημερομηνίας κτήσης όπου είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 2. date_dikatsa_basic: Ξένο κλειδί, συμπλήρωση της ημερομηνίας επικύρωσης του πτυχίου όπου είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 2. Σελίδα 36 από 67

Πτυχιακή εργασία του Καπέλλου Παναγιώτη number_dikiolog: Καταχώριση του κωδικό του δικαιολογητικού που καταθέτη, είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 3. month_basic: Ξένο κλειδί, καταχώριση του μήνα κτήσης του πτυχίου, είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 20. years_basic: Ξένο κλειδί, καταχώριση του έτους κτήσεις,είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 45. month_dikatsa_basic: Ξένο κλειδί, καταχώριση του μήνα κτήσης του πτυχίου, είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 20. years_basic: Ξένο κλειδί, καταχώριση της χρονολογίας επικύρωσης, είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 20. aitisi: Ξένο κλειδί, καταχώριση της αίτησης είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 3. spoudes id title state date_basic date_dikatsa_basic number_dikiolog month_basic years_basic month_di katsa_basic years_dikatsa_basic aitisi spoudes_metap :Ο πίνακας αυτός περιέχει τα μεταπτυχιακά που έχουν κάνει. id_per: Ξένο κλειδί, καταχωρεί τον κωδικό του υποψηφίου και είναι τύπου integer. title_meta: Συμπλήρωση του βασικού τίτλου σπουδών και είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 60. state_meta: Συμπλήρωση του τμήματος όπου απέκτησε το πτυχίο, είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 60. date_meta: Ξένο κλειδί, συμπλήρωση της ημερομηνίας κτήσης όπου είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 2. date_dikatsa_meta: Ξένο κλειδί, συμπλήρωση της ημερομηνίας επικύρωσης του μεταπτυχίακου όπου είναι τύπου char με μέγιστο αριθμό χαρακτήρων τους 2. Σελίδα 37 από 67