ΜΕΡΟΣ 4 ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ. Μεγγούδης Ναούµ ΑΕΜ 509

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

Download "ΜΕΡΟΣ 4 ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ. Μεγγούδης Ναούµ ΑΕΜ 509"

Transcript

1 ΜΕΡΟΣ 4 ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ \ Μεγγούδης Ναούµ ΑΕΜ 509 1

2 Περιεχόµενα Αρχιτεκτονική συστήµατος Α.Σ.ΠΙΣ. Αρχιτεκτονική τριών επιπέδων Hypertext Transfer Protocol Παράδειγµα HTTP Κατάσταση (state) ιαφανής πελάτης (thin client) Το επίπεδο πελάτη / χρήστη (client tier) JavaScript Η JavaScript δεν είναι Java Πολυπλοκότητα της JavaScript Εκδόσεις της JavaScript Έλεγχος εγκυρότητας στοιχείων (validation) Auto-complete και δυναµική αλλαγή σελίδων Cascading Style Sheets, Level 2 Revision 1 (CSS 2.1) Σύνταξη των Cascading Style Sheets υνατότητες των Cascading Style Sheets Cascading Style Sheets στο σύστηµα Α.Σ.ΠΙΣ. Το µεσαίο επίπεδο (middle tier) Web servers The Apache HTTP server, Version 1.3 The Apache HTTP server, Version 2.0 Web scripting µε την PHP Λεπτοµέρειες της PHP Εισαγωγή υνατότητες της PHP Η PHP στο σύστηµα Α.Σ.ΠΙΣ. Ενσωµάτωση της PHP στο σύστηµα Α.Σ.ΠΙΣ. Pagebuilder module Database module Το επίπεδο της βάσης δεδοµένων (database tier) Συστήµατα διαχείρισης βάσεων δεδοµένων Η βάση δεδοµένων MySQL Σχεδίαση της βάσης δεδοµένων του Α.Σ.ΠΙΣ. Το Μοντέλο Οντοτήτων-Συσχετίσεων Οντότητες Συσχετίσεις Το σχήµα της βάσης Λεπτοµέρειες της υλοποίησης Παράρτηµα Α : Ο κώδικας του συστήµατος Α.Σ.ΠΙΣ. 2

3 Παράρτηµα B : Η βάση δεδοµένων του Α.Σ.ΠΙΣ. 3

4 Αρχιτεκτονική Συστήµατος Α.Σ.ΠΙΣ. Αρχιτεκτονική τριών επιπέδων Το σύστηµα Α.Σ.ΠΙΣ. χρησιµοποιεί αρχιτεκτονική τριών επιπέδων (three-tier architecture) όπως πολλά συστήµατα της κατηγορίας του (Σχήµα 1). Στη βάση ενός τέτοιου συστήµατος υπάρχει το επίπεδο της βάσης δεδοµένων (database tier) που αποτελείται από το σύστηµα διαχείρισης της βάσης δεδοµένων που διαχειρίζεται τη βάση δεδοµένων που περιέχει τα στοιχεία που δηµιουργούν, σβήνουν και διαχειρίζονται οι χρήστες. Πάνω από το επίπεδο της βάσης δεδοµένων υπάρχει το πολύπλοκο µεσαίο επίπεδο (middle tier που περιέχει το µεγαλύτερο µέρος της λογικής του συστήµατος και επικοινωνεί δεδοµένα µε τα άλλα επίπεδα. Στην κορυφή βρίσκεται το επίπεδο του πελάτη-χρήστη (client tier συνήθως αποτελείται από λογισµικό περιήγησης του παγκόσµιου ιστού (web browser software που αλληλεπιδρά µε το σύστηµα. Σχήµα 1. Το µοντέλο της αρχιτεκτονικής τριών επιπέδων Το γεγονός πως το Α.Σ.ΠΙΣ. σαν web database application έχει αναπτυχθεί χρησιµοποιώντας three-tier architecture κρύβει την πραγµατικότητα πως το σύστηµα πρέπει να ενώσει διαφορετικό λογισµικό και πρωτόκολλα. Όταν χρησιµοποιούµε τον όρο παγκόσµιος ιστός εννοούµε τρία µεγάλα, διαφορετικά πρωτόκολλα και τα εργαλεία που στηρίζονται σε αυτά : την Hypertext Markup Language (HTML το 4

5 Hypertext Transfer Protocol (HTTP) και το πρωτόκολλο επικοινωνίας TCP/IP. Η HTML δουλεύει πολύ καλά στη δόµηση και την παρουσίαση πληροφοριών χρησιµοποιώντας ένα πρόγραµµα περιήγησης του παγκόσµιου ιστού (web browser). Το TCP/IP είναι ένα αποτελεσµατικό πρωτόκολλο επικοινωνίας που µεταφέρει δεδοµένα ανάµεσα σε προγράµµατα που χρησιµοποιούν το διαδίκτυο και έχει µικρό ή καθόλου αντίκτυπο στους προγραµµατιστές web database applications. Το πρόβληµα στην κατασκευή web database applications είναι να διασυνδεθούν παραδοσιακά συστήµατα διαχείρισης βάσεων δεδοµένων µε τον παγκόσµιο ιστό χρησιµοποιώντας το HTTP. Hypertext Transfer Protocol Ο παγκόσµιος ιστός παρέχει τα πρωτόκολλα και το δίκτυο που συνδέουν το client tier και το middle tier του συστήµατος, δηλαδή παρέχει τη σύνδεση µεταξύ του web browser και του web server. Το HTTP είναι ένα από τα στοιχεία που συµβάλλουν στη συνοχή της αρχιτεκτονικής των τριών επιπέδων. Λεπτοµερής γνώση του πρωτοκόλλου HTTP δεν είναι απαραίτητη για να καταλάβει κάποιος τον τρόπο λειτουργίας του Α.Σ.ΠΙΣ. αλλά είναι σηµαντική για να καταλάβει τα προβλήµατα που παρουσιάζει web database applications. Το πρωτόκολλο HTTP χρησιµοποιείται από web browsers για να ζητήσουν resources από web servers, και από web servers για να επιστρέψουν απαντήσεις. Το HTTP επιτρέπει σε resources να διαµοιράζονται µέσω του παγκόσµιου ιστού. Από την προοπτική ενός δικτύου υπολογιστών, το HTTP είναι ένα πρωτόκολλο επιπέδου προγράµµατος που στηρίζεται στο πρωτόκολλο επικοινωνίας TCP/IP. Παράδειγµα HTTP Το πρωτόκολλο HTTP είναι σχετικά απλό : ένας web browser στέλνει µια απαίτηση (request) για ένα resource σε ένα web server και ο web server στέλνει πίσω µια απάντηση (response). Το HTTP response περιέχει και το resource, µια HTML σελίδα, µια εικόνα, ή την έξοδο ενός προγράµµατος, και τη µεταφέρει στον web browser. Το απλό αυτό µοντέλο απαίτησης-απάντησης φαίνεται στο Σχήµα 2. 5

6 Σχήµα 2. Ένας web browser στέλνει ένα request και ο web server απαντά µε το response που περιέχει το resource Ένα HTTP request είναι µια λεκτική περιγραφή ενός resource µαζί µε κάποιες επιπλέον πληροφορίες επικεφαλίδας (header information). Παρακάτω είναι ένα παράδειγµα ενός request : GET /index.html HTTP/1.0 From: hugh@computer.org (Hugh Williams) User-agent: Hugh-fake-browser/version-1.0 Accept: text/plain, text/html Το παράδειγµα αυτό χρησιµοποιεί τη µέθοδο GET για να στείλει ένα request για την HTML σελίδα index.html χρησιµοποιώντας το πρωτόκολλο HTTP/1.0. Στο παράδειγµα αυτό τρεις επιπλέον γραµµές της επικεφαλίδας αναγνωρίζουν το χρήστη και το web browser και ορίζουν τι τύπους δεδοµένων µπορεί να δεχτεί ο web browser. Ένα request συνήθως γίνεται από ένα web browser και µπορεί να περιέχει και άλλες επικεφαλίδες (headers). Ένα HTTP response περιέχει έναν κωδικό απάντησης και ένα µήνυµα, επιπλέον headers και συνήθως το resource που απαιτήθηκε. Ένα παράδειγµα response στο request που έγινε για τη σελίδα index.html είναι το ακόλουθο : HTTP/ OK Date: Sat, 21 Jul :44:25 GMT Server: Apache/ Content-type: text/html Content-length: 88 Last-modified: Fri, 1 Feb :40:03 GMT <html><head> <title>test Page</title></head> <body> <h1>it Worked!</h1> </body></html> Η πρώτη γραµµή του response συµφωνεί να χρησιµοποιήσει το πρωτόκολλο HTTP/1.0 και επιβεβαιώνει ότι το request πέτυχε επιστρέφοντας των κωδικό απάντησης 200 και το µήνυµα OK, µια άλλη συνηθισµένη απάντηση είναι η 404 Not found. Σε αυτό το παράδειγµα 6

7 πέντε επιπλέον γραµµές επικεφαλίδας προσδιορίζουν την ηµεροµηνία και ώρα, το λογισµικό του web server, τον τύπο και το µήκος του response και πότε το συγκεκριµένο resource τροποποιήθηκε τελευταία φορά. Μετά από µια κενή γραµµή το ίδιο το resource ακολουθεί. Στο παράδειγµα αυτό το resource είναι το HTML αρχείο που ζητήθηκε, index.html. Κατάσταση (state) Τα παραδοσιακά συστήµατα διαχείρισης βάσεων δεδοµένων διατηρούν την κατάσταση τους (είναι stateful δηλαδή οι χρήστες κάνουν log in, εκτελούν καθορισµένες εργασίες και βγαίνουν από το σύστηµα κάνοντας log out όταν τελειώσουν. Για παράδειγµα σε µια τράπεζα, ένας υπάλληλος µπαίνει στο σύστηµα κάνοντας log in, εξυπηρετεί τους πελάτες πραγµατοποιώντας συναλλαγές και όταν τελειώσει για τη συγκεκριµένη ηµέρα βγαίνει από το σύστηµα κάνοντας log out. Το σύστηµα της τράπεζας έχει κατάσταση : µόλις ο χρήστης έχει συνδεθεί (log in) µπορεί να αλληλεπιδράσει µε το σύστηµα µε ένα δοµηµένο τρόπο, χρησιµοποιώντας µενού. Όταν βγει από το σύστηµα (lοg out) δε µπορεί πλέον να χρησιµοποιήσει τις υπηρεσίες του. Από την άλλη, το πρωτόκολλο HTTP δεν έχει κατάσταση (είναι stateless το οποίο σηµαίνει πως οποιαδήποτε αλληλεπίδραση του web browser µε το web server είναι ανεξάρτητη µε οποιαδήποτε άλλη αλληλεπίδραση. Κάθε HTTP request περιέχει τις ίδιες πληροφορίες επικεφαλίδας, όπως π.χ. τα πιστοποιητικά ασφαλείας του χρήστη, τον τύπο των σελίδων που µπορεί να δεχτεί καθώς και πληροφορίες για τη µορφοποίηση των σελίδων. Το γεγονός αυτό, δηλαδή το ότι το πρωτόκολλο HTTP είναι stateless έχει τα πλεονεκτήµατα του, τα πιο σηµαντικά από τα οποία είναι η οικονοµία σε resources από το γεγονός ότι δεν χρειάζεται να διατηρούνται πληροφορίες στο web server για να εντοπιστεί ένας χρήστης και η ευελιξία που επιτρέπει στους χρήστες να µετακινούνται µεταξύ ασύνδετων σελίδων ή resources. Ακριβώς, όµως, επειδή το πρωτόκολλο HTTP είναι stateless, είναι πολύ δύσκολο να αναπτυχθούν stateful web database applications. Αυτό που απαιτείται είναι µια µέθοδος που να διατηρεί την κατάσταση στο πρωτόκολλο HTTP έτσι ώστε η ροή των πληροφοριών να είναι οµαλή και να υπάρχει µια σχετική δοµή. Μια απλή λύση είναι η ανταλλαγή ενός δεδοµένου (token) µεταξύ του web browser και του web server που αναγνωρίζει µοναδικά το χρήστη και τη συνεδρία (session) του. Κάθε φορά που ο web browser του χρήστη ζητά ένα resource από το web server, στέλνει το token και κάθε φόρα που ο web server απαντά, επιστρέφει το token στο web browser. Το token χρησιµοποιείται από το λογισµικό του middle tier για να επανακτήσει πληροφορίες για το χρήστη 7

8 από την προηγούµενη απαίτηση για resource, όπως για παράδειγµα πιο µενού επισκέφθηκε τελευταία. Η ανταλλαγή tokens επιτρέπει τη δηµιουργία stateful δοµών στο σύστηµα όπως για παράδειγµα µενού, βήµατα και διεργασίες ροής. ιαφανής πελάτης (Thin Client) εδοµένου ότι ένα web database application που έχει αναπτυχθεί µε την αρχιτεκτονική των τριών επιπέδων δεν ταιριάζει µε το πρωτόκολλο HTTP γεννιέται το εύλογο ερώτηµα γιατί να χρησιµοποιήσουµε αυτό το µοντέλο; Η απάντηση βρίσκεται στα πλεονεκτήµατα του διαφανούς πελάτη (thin client). Οι web browsers είναι πολύ διαφανείς πελάτες (very thin clients) που σηµαίνει ότι ελάχιστη από τη λογική του συστήµατος περιλαµβάνεται στο client tier.ο web browser απλά στέλνει HTTP requests για resources και παρουσιάζει τις απαντήσεις που τις περισσότερες φορές είναι απλές HTML σελίδες. Μια αρχιτεκτονική τριών επιπέδων σηµαίνει ότι δεν είναι απαραίτητη η ανάπτυξη, η εγκατάσταση και η παραµετροποίηση του client tier. Οποιοσδήποτε χρήστης που έχει ένα web browser µπορεί να χρησιµοποιήσει το web database application, συνήθως χωρίς την απαίτηση για επιπλέον λογισµικό, συγκεκριµένο λειτουργικό σύστηµα ή συγκεκριµένο υλικό. Αυτό σηµαίνει ότι το σύστηµα µπορεί να δοθεί σε οποιονδήποτε αριθµό διαφορετικών και γεωγραφικά διασκορπισµένων χρηστών. Υπάρχουν βέβαια και εναλλακτικές λύσεις στη χρήση thin client. Ένα παραµετροποιηµένο Java applet είναι ένα παράδειγµα ενός πιο «πυκνού» client (thicker client) που µπορεί επίσης να χρησιµοποιηθεί στην αρχιτεκτονική τριών επιπέδων. Ο χρήστης κατεβάζει το applet και τρέχει µεγαλύτερο µέρος της λογικής του συστήµατος στη δική του πλατφόρµα. Το applet και εδώ αλληλεπιδρά µε το middle tier που µε τη σειρά του προσφέρει µια διασύνδεση (interface) µε το database tier. Το πλεονέκτηµα είναι η παραµετροποίηση : αντί της χρήσης µιας γενικής web browser λύσης, µια παραµετροποιηµένη λύση µπορεί να εξαλείψει πολλά από τα προβλήµατα που βρίσκονται έµφυτα στο statelessness, την ασφάλεια και την ακαµψία του παγκόσµιου ιστού. Το applet µπορεί να µην χρησιµοποιεί HTTP καν για την επικοινωνία µε το middle tier. Ένας thick client είναι επίσης µέρος µιας παραδοσιακής two-tier λύσης, γνωστής και ως client/server αρχιτεκτονικής. Τα περισσότερα παραδοσιακά συστήµατα διαχείρισης βάσεων δεδοµένων, όπως αυτό της τράπεζας, αποτελούνται από δύο µόνο επίπεδα. Το client tier περιέχει το µεγαλύτερο µέρος της λογικής του συστήµατος ενώ το database tier είναι το ίδιο το σύστηµα διαχείρισης της βάσης δεδοµένων. Το πλεονέκτηµα 8

9 είναι πως µια τέτοια συγκεκριµενοποιηµένη λύση µπορεί να σχεδιασθεί ούτως ώστε να καλύπτει τις ακριβείς απαιτήσεις του συστήµατος χωρίς καθόλου συµβιβασµούς. Μειονεκτήµατα είναι η έλλειψη ευελιξίας στην επιλογή υλικού και λειτουργικού συστήµατος και η απαίτηση για προµήθεια λογισµικού στον καθένα. Το επίπεδο πελάτη / χρήστη (client tier) Το client tier στην αρχιτεκτονική τριών επιπέδων είναι συνήθως ένας web browser. Το λογισµικό ενός web browser επεξεργάζεται και προβάλλει HTML resources, στέλνει HTTP requests για resources και επεξεργάζεται HTTP responses. Όπως αναφέραµε νωρίτερα, υπάρχουν σηµαντικά πλεονεκτήµατα στη χρησιµοποίηση ενός web browser στο επίπεδο thin-client, συµπεριλαµβανοµένων και της εύκολης ανάπτυξης και υποστήριξης σε µια µεγάλη γκάµα από πλατφόρµες. Υπάρχουν πολλοί διαθέσιµοι web browsers διαθέσιµοι µε τον καθένα να έχει διαφορετικές δυνατότητες. Οι δύο πιο γνωστοί παραθυρικοί web browser είναι οι Netscape και Internet Explorer. Αν και δε θα περιγράψουµε όλες τις δυνατότητες των web browsers έχουν ένα κοινό βασικό σύνολο : Όλοι οι web browsers είναι HTTP clients που στέλνουν requests και παρουσιάζουν responses από web servers (συνήθως σε γραφικό περιβάλλον). Όλοι οι web browsers διερµηνεύουν σελίδες που είναι γραµµένες σε HTML όταν διαβάζουν τη σελίδα, δηλαδή παρουσιάζουν τις επικεφαλίδες, τις εικόνες, τα hypertext links και ούτω καθεξής στο χρήστη. Κάποιοι web browsers παρουσιάζουν εικόνες, παίζουν ταινίες και ήχο και επεξεργάζονται και άλλους τύπους αντικειµένων. Αρκετοί web browsers µπορούν να τρέξουν JavaScript που είναι ενσωµατωµένη σε HTML σελίδες. Η JavaScript χρησιµοποιείται για την επικύρωση µιας φόρµας <form> ή για την αλλαγή της εµφάνισης µιας σελίδας ανάλογα µε τις ενέργειες του χρήστη. Επιλεγµένοι web browsers µπορούν να τρέξουν αντικείµενα που έχουν αναπτυχθεί στις γλώσσες προγραµµατισµού Java ή ActiveX. Αυτά τα αντικείµενα συχνά παρέχουν επιπλέον κίνηση, εργαλεία που δε µπορούν να αναπτυχθούν σε HTML ή άλλες πιο πολύπλοκες δυνατότητες. 9

10 Κάποιοι web browsers µπορούν να εφαρµόσουν Cascading Style Sheets (CSS) σε HTML σελίδες για να ελέγχουν τον τρόπο παρουσίασης των στοιχείων της HTML. Οι web browsers είναι το πιο εµφανές παράδειγµα ενός user agent, ενός λογισµικού πράκτορα που στέλνει requests για resources σε web server. Άλλοι user agents είναι οι web spiders, αυτόµατο λογισµικό που περιπλανάται στον παγκόσµιο ιστό, `βρίσκει και ανακτά σελίδες, και τα proxy caches, λογισµικά συστήµατα που ανακτούν και αποθηκεύουν τοπικά σελίδες του παγκόσµιου ιστού εκ µέρους πολλών άλλων user agents. JavaScript Η JavaScript είναι µια ελαφριά διερµηνευόµενη γλώσσα προγραµµατισµού µε αντικειµενοστρεφείς δυνατότητες. Ο γενικής χρήσης πυρήνας της γλώσσας έχει ενσωµατωθεί σε πολλούς σηµερινούς web browsers και µαζί µε κάποια πρόσθετα αντικείµενα που αντιπροσωπεύουν το παράθυρο του browser και τα περιεχόµενά του αποτελεί την client side JavaScript που χρησιµοποιείται για να προσθέσει δυναµικό περιεχόµενο στις ιστοσελίδες του διαδικτύου. υναµικό περιεχόµενο σηµαίνει πως πλέον οι ιστοσελίδες δεν χρειάζεται να είναι στατικά html αρχεία αλλά µπορούν να περιλαµβάνουν προγράµµατα που αλληλεπιδρούν µε τον χρήστη, ελέγχουν τον browser και δηµιουργούν δυναµικά το περιεχόµενο της html. Συντακτικά, ο πυρήνας της JavaScript µοιάζει µε τη C++ και τη Java µε προγραµµατιστικές δοµές όπως τη δήλωση if, το βρόχο while και τον λογικό τελεστή &&. Η οµοιότητα όµως τελείωνει εδώ. Η JavaScript είναι µια γλώσσα χωρίς τύπους δεδοµένων, που σηµαίνει πως οι µεταβλητές δεν χρειάζεται να δηλωθούν ως κάποιου τύπου. Τα αντικείµενα στην JavaScript µοιάζουν περισσότερο µε τους συσχετιστικούς πίνακες της Perl παρά µε τις δοµές της C ή τα αντικείµενα της C++ και της Java. Ο µηχανισµός της κληρονοµικότητας στην JavaScript είναι παρόµοιος µε αυτόν των ελάχιστα γνωστών γλωσσών Self και NewtonScript. Είναι αρκετά διαφορετικός από τον µηχανισµό της C++ και της Java. Όπως η Perl και η PHP, η JavaScript είναι διερµηνευόµενη γλώσσα που εµπνέεται από την Perl σε πολλά σηµεία, όπως οι κανονικές εκφράσεις και ο µηχανισµός χειρισµού των πινάκων. 10

11 Η JavaScript δεν είναι Java Μια από τις πιο συνήθεις λανθασµένες εντυπώσεις για την JavaScript είναι ότι η JavaScript είναι µια απλοποιηµένη έκδοση της Java, την γλώσσα προγραµµατισµού από την Sun Microsystems. Εκτός από την συντακτική οµοιότητα και το γεγονός πως και η Java και η JavaScript µπορούν να προσφέρουν εκτελέσιµο περιεχόµενο στις ιστοσελίδες, οι δύο γλώσσες είναι εντελώς άσχετες µεταξύ τους. Η οµοιότητα των ονοµάτων είναι καθαρά ένα διαφηµιστικό κόλπο (η γλώσσα αρχικά λεγόταν LiveScript, και το όνοµά της άλλαξε σε JavaScript την τελευταία στιγµή). Πολυπλοκότητα της JavaScript Η JavaScript θεωρείται γλώσσα σεναρίων (scripting language) αντί για γλώσσα προγραµµατισµού (programming language υποννοώντας πως είναι πιο απλή γλώσσα, γλώσσα προγραµµατισµού για µηπρογραµµατιστές. Πράγµατι, εκ πρώτης όψεως φαίνεται αρκετά απλή, ίσως της ίδιας πολυπλοκότητας µε την Basic. Η JavaScript έχει µερικά χαρακτηριστικά σχεδιασµένα να την κάνουν πιο ελαστική και ευκολότερη να χρησιµοποιηθεί από νέους και άπειρους προγραµµατιστές. Κάτω από το πέπλο της απλότητάς της όµως η JavaScript έχει όλα τα χαρακτηριστικά µιας κανονικής γλώσσας προγραµµατισµού, πολύπλοκης όσο πολλές άλλες και περισσότερο πολύπλοκης από µερικές. Προγραµµατιστές που επιχειρούν να χρησιµοποιήσουν την γλώσσα για να κάνουν κάτι πιο εξειδικευµένο συχνά βρίσκουν την διαδικασία εκνευριστική εάν δεν έχουν κατανοήσει την γλώσσα σε βάθος. Εκδόσεις της JavaScript Η JavaScript έχει εξελιχθεί µε το πέρασµα των χρόνων και η Netscape έχει βγάλει αρκετές εκδόσεις της γλώσσας. Και η Microsoft έχει βγάλει παρόµοιες εκδόσεις της γλώσσας υπό το όνοµα JScript. Η ECMA ( έχει δηµοσιοποιήσει τρεις εκδόσεις του ECMA-262 πρωτύπου που προτυποποιούν την JavaScript υπό το όνοµα ECMAScript. 11

12 Εκδόσεις από την Netscape (υλοποιούνται από τους browser Mozilla και Netscape) : JavaScript 1.0 JavaScript 1.1 JavaScript 1.2 JavaScript 1.3 JavaScript 1.4 JavaScript 1.5 (τρέχουσα έκδοση συµβατή µε ECMAScript v3) Εκδόσεις από την Microsoft (υλοποιούνται απο τους browser Internet Explorer) : Jscript 1.0 Jscript 2.0 Jscript 3.0 Jscript 4.0 Jscript 5.0 Jscript 5.5 (τρέχουσα έκδοση συµβατή µε ECMAScript v3) Εκδόσεις από την ECMA (πρωτυποποίηση της γλώσσας) : ECMA v1 ECMA v2 ECMA v3 Χρήση της JavaScript στο σύστηµα Α.Σ.ΠΙΣ. Στο σύστηµα Α.Σ.ΠΙΣ. η JavaScript χρησιµοποιήθηκε σαν γλώσσα scripting στο client tier. Με τις δυνατότητες που προσφέρει δηµιουργήθηκαν δυναµικές σελίδες οι οποίες διευκολύνουν τον χρήστη σε κάθε φάση χρήσης του συστήµατος. Σε αυτήν τη φάση ανάπτυξης του συστήµατος έχουν δηµιουργηθεί δύο βασικά scripts τα οποία αποτελούν τη βάση της αρχιτεκτονικής του client tier (µαζί µε το css του συστήµατος). Το ένα script υλοποιεί τον έλεγχο της εγκυρότητας των στοιχείων που εισάγει ο χρήστης και το άλλο εκτελεί το auto-complete των πεδίων σε διάφορες φόρµες και την δυναµική αλλαγή της µορφής των σελίδων. Τα παραπάνω scripts ορίζουν διάφορες συναρτήσεις τις οποίες στη συνέχεια χρησιµοποιούν τα µικρά scripts που είναι ενσωµατωµένα στον κώδικα html για να υλοποιήσουν την επικοινωνία µε τον χρήστη του συστήµατος. 12

13 Έλεγχος εγκυρότητας στοιχείων (validation) Το validation από το σύστηµα γίνεται σε δύο επίπεδα: στο middle tier και στο client tier. Στο middle tier γίνεται από τα scripts της php κατά τηω εισαγωγή των πληροφοριών στη βάση δεδοµένων του συστήµατος και στο client tier γίνεται από την JavaScript κατά την υποβολή της φόρµας στο σύστηµα από τον χρήστη. Στο κυρίως script που ορίζει τις συναρτήσεις πιστοποίησης ορίζονται οι κανονικές εκφράσεις (regular expressions) οι οποίες καθορίζουν την µορφή που πρέπει να έχουν τα δεδοµένα για να γίνουν αποδεκτά από το σύστηµα. Οι κανονικές εκφράσεις είναι ένα πολύ δυνατό εργαλείο που χρησιµεύει στη διαχείριση των αλφαριθµητικών (strings). Οι κανονικές εκφράσεις που ορίζονται αφορούν την µορφή των εξής στοιχείων πληροφορίας : αριθµητικά δεδοµένα ηµεροµηνίες και ώρες σχολική χρονιά ονόµατα αριθµοί σταθερών τηλεφώνων αριθµοί κινητών τηλεφώνων ταχυδροµικοί κώδικες διευθύνσεις Κατά την δηµιουργία της φόρµας εισαγωγής στοιχείων σε µια σελίδα του συστήµατος, ένα µικρό script ενσωµατώνεται στον onsubmit handler της φόρµας και χαρακτηρίζει τα στοιχεία της φόρµας για τα οποία θέλουµε να γίνει validation. Οι χαρακτηρισµοί που αποδίδονται µεταφράζονται στη συνέχεια από την συνάρτηση που εκτελεί τον έλεγχο εγκυρότητας των δεδοµένων η οποία και καταλαβαίνει πώς πρέπει να ελέγξει τα δεδοµένα του κάθε πεδίου της φόρµας. Ανάλογα µε την τιµή που επιστρέφει η κυρίως συνάρτηση ελέγχου η φόρµα υποβάλλεται ή όχι στο σύστηµα. Εάν βρεθούν λάθη τότε εµφανίζεται ένα µήνυµα που προειδοποιεί τον χρήστη πως έχει εισάγει µη έγκυρα δεδοµένα και η φόρµα δεν υποβάλλεται. Το µήνυµα είναι λεπτοµερές και πληροφορεί ακριβώς ποια πεδία δεν είναι έγκυρα και γιατί. 13

14 Οι έλεγχοι που γίνονται για κάθε τύπο πεδίου είναι οι παρακάτω : για τα αριθµητικά δεδοµένα ελέγχεται εάν πράγµατι είναι αριθµοί και εάν είναι µέσα σε ένα συγκεκριµένο range (στην περίπτωση που αυτό καθορίζεται) για τις ηµεροµηνίες και ώρες ελέγχεται εάν είναι στην µορφή dd/mm/yyy hh:mm:ss και εάν οι τιµές που δόθηκαν σε κάθε κοµµάτι του προηγούµενου αλφαριθµητικου είναι έγκυρες (π.χ. η ώρα 00:61:78 δεν είναι έγκυρη). Οι ηµεροµηνίες και ώρες ελέγχονται εκτενέστερα στο middle tier όπου γίνεται έλεγχος για την ηµερολογιακή εγκυρότητα των δεδοµένων (π.χ. η ηµεροµηνία 29/02/2005 είναι λάθος) για τα γίνεται έλεγχος της µορφής της διεύθυνσης. εν είναι RFC-2822-compliant αλλά δουλεύει για τις διευθύνσεις της µορφής user@host.xxx. Στο middle tier γίνεται επιπλέον έλεγχος της διεύθυνσης ώστε να καθοριστεί αν αυτή αποτελεί έγκυρη και λειτουργική διεύθυνση. για την σχολική χρονιά ελέγχεται εάν είναι της µορφής yyyy-yyyy µε ένα χρόνο διαφορά µεταξύ των δύο χρονολογιών. Επίσης ελέγχεται εάν οι χρόνοι που καθορίζονται είναι σχετικά κοντά στην παρούσα ηµεροµηνία (π.χ. δεν µπορούµε να βάλουµε ). για τα ονόµατα ελέγχεται εάν αποτελούνται µόνο από γράµµατα (κεφαλαία και πεζά). Αριθµοί και άλλα σύµβολα δεν επιτρέπονται. Επιτρέπονται µόνο τα κενά και οι παύλες. Επίσης ένα όνοµα δεν επιτρέπεται να έχει και ελληνικούς και αγγλικούς χαρακτήρες. Αυτό γίνεται για να µην µπαίνουν τα δεδοµένα στη βάση µε µικτούς χαρακτήρες και στη συνέχεια υπάρξει πρόβληµα στην ταξινόµηση και αναζήτηση των δεδοµένων. για τους αριθµούς σταθερών τηλεφώνων ελέγχεται εάν έχουν δέκα ψηφία και αρχίζουν από 2, ακολουθεί ο κωδικός της περιοχής, µετά το 0 και τέλος το υπόλοιπο νούµερο. για τους αριθµούς κινητών τηλεφώνων ελέγχεται εάν έχουν δέκα ψηφία και τα τρία πρώτα είναι 693,694,697, ή 699. για τους ταχυδροµικούς κώδικες ελέγχεται εάν αποτελούνται από 5 ψηφία. για τις διευθύνσεις οι επιτρεπτοί χαρακτήρες είναι γράµµατα (κεφαλαία και πεζά αριθµοί, παρενθέσεις, τελείες, κόµατα, παύλες και ο χαρακτήρας /. Και στις διευθύνσεις δεν επιτρέπεται η ανάµιξη αγγλικών και ελληνικών χαρακτήρων, για τους λόγους που αναφέρθηκαν παραπάνω στο όνοµα. 14

15 τέλος γίνεται έλεγχος και για κενά πεδία τα οποία χαρακτηρίζονται ως απαιτούµενα απο τα scripts δηµιουργίας σελίδων του middle tier. Για περισσότερες λεπτοµέρειες σχετικά µε την ακριβή υλοποίηση του client side validation δείτε το αρχείο validate.js στο παράρτηµα Α. Auto-complete και δυναµική αλλαγή σελίδων Σε ορισµένες σελίδες του συστήµατος (δηµιουργία τεστ, ενεργοποίηση τεστ, εισαγωγή ερώτησης, εισαγωγή χρήστη µε επεξεργασία των δικαιωµάτων του) χρησιµοποιούνται εκτός από το βασικό script για το validation και διάφορα άλλα scripts που υλοποιούν για κάθε περίπτωση το auto-complete και την δυναµική αλλαγή των περιεχοµένων των σελίδων αυτών. Με τη χρήση των script auto-complete επιτυγχάνεται η συµπλήρωση σχετικών πεδίων µεταξύ τους καθώς ο χρήστης εισάγει δεδοµένα σε ένα από αυτά. Για ένα λεπτοµερές παράδειγµα δείτε το εγχειρίδιο χρήσης του συστήµατος και συγκεκριµένα στην δηµιουργία τεστ. Στην δηµιουργία τεστ επίσης φαίνεται και η δυναµική αλλαγή σελίδων από τα script του συστήµατος. Καλύτερα αυτό φαίνεται στη σελίδα για την εισαγωγή ερώτησης όπου ανάλογα µε τον τύπο της ερώτησης που εισάγουµε και τον αριθµό των απαντήσεων που θα έχει εµφανίζονται τα κατάλληλα πεδία της φόρµας html. Για περισσότερες λεπτοµέρειες σχετικά µε την υλοποίηση δείτε το αρχείο create_tests.js στο παράρτηµα Α. Cascading Style Sheets, Level 2 Revision 1 (CSS 2.1) Η τεχνολογία CSS είναι µια «γλώσσα» (τα Cascading Style Sheets δεν είναι γλώσσα προγραµµατισµού ούτε καν µε µια πιο χαλαρή θεώρηση των γλωσσών προγραµµατισµού απλά χρησιµοποιούµε τον όρο για να δώσουµε στον αναγνώστη κάτι χειροπιαστό για να τα συσχετίσει) που επιτρέπει στο συγγραφέα αλλά και στο χρήστη να ενσωµατώσουν τα δικά τους στυλ (π.χ. γραµµατοσειρές και διάκενα) σε έγγραφα µε καθορισµένη δοµή όπως είναι τα έγγραφα της HTML και της XML. Με τα CSS πετυχαίνουµε να ξεχωρίσουµε το επίπεδο παρουσίασης ενός εγγράφου από εκείνο της δοµής και των περιεχοµένων. Με αυτόν τον 15

16 τρόπο γίνεται πιο εύκολη η συγγραφή και συντήρηση ιστοσελίδων και ολόκληρων διαδικτυακών τόπων. Τα CSS υποστηρίζουν διαφορετικά στυλ για πολλές συσκευές εξόδου στις οποίες θα παρουσιαστεί το έγγραφό µας. Έτσι ο συγγραφέας µπορεί να δηµιουργήσει τα στυλ που επιθυµεί ανάλογα µε το εάν το έγγραφο του πρόκειται να παρουσιαστεί σε έναν web browser (δηλαδή στην οθόνη του Η/Υ στον εκτυπωτή, σε κινητό τηλέφωνο, στην τηλεόραση, σε έξυπνες συσκευές κ.α. Τα CSS διαθέτουν πολλές επιλογές για την καλύτερη παρουσίαση του κειµένου µας και υποστηρίζουν µεταξύ άλλων εισαγωγή εικόνων και γενικά εφαρµογών εικόνας, βίντεο και ήχου, καθορισµό της θέσης του κειµένου, πίνακες και πολλά άλλα στοιχεία που σχετίζονται µε τη διεπαφή του χρήστη. Το αρχείο.css που περιέχει τα στυλ που έχει δηµιουργήσει ο συγγραφέας κατεβαίνει στον Η/Υ του χρήστη. Ο χρήστης πρέπει να είναι εφοδιασµένος µε ειδικό λογισµικό που να υποστηρίζει τη γλώσσα. Οι περισσότεροι σύγχρονοι web browsers υποστηρίζουν CSS. Ο χρήστης ανάλογα µε το πρόγραµµα που έχει µπορεί να δει το έγγραφο µε τα στυλ που αρχικά έχει δηµιουργήσει ο συγγραφέας αλλά επίσης µπορεί να δηµιουργήσει και αυτός τα δικά του στυλ βάση των οποίων θα του παρουσιάζονται οι ιστοσελίδες ή ακόµα να απενεργοποιήσει την υποστήριξη CSS. Σύνταξη των Cascading Style Sheets Η σύνταξη της γλώσσας είναι πολύ απλή και εύκολα κατανοητή : h1 color: red Η παραπάνω γραµµή δηλώνει πως το χρώµα του κειµένου που εσωκλείεται από ένα στοιχείο h1 θα είναι κόκκινο. Πρόκειται δηλαδή για έναν κανόνα που όρισε ο συγγραφέας για την παρουσίαση του κειµένου του. Ένας κανόνας των CSS αποτελείται από 2 κύρια µέρη: τον επιλογέα (selector) που στην περίπτωση µας είναι το 'h1' και τη δήλωση (declaration) που αντιστοίχως είναι το 'color:red'. Το κοµµάτι της δήλωσης αποτελείται µε τη σειρά του από 2 άλλα µέρη : την ιδιότητα (property) δηλαδή το 'color' και την τιµή (value) που παίρνει την ιδιότητα 'red'. Περισσότερα για την σύνταξη και την δοµή της CSS µπορούµε να βρούµε στο 16

17 υνατότητες των Cascading Style Sheets Τα CSS σχεδιάστηκαν µε κάποιες βασικές αρχές και για να πετύχουν κάποιους συγκεκριµένους στόχους : Πρέπει να υπάρχει συµβατότητα στις διάφορες εκδόσεις των CSS τόσο προς τα πίσω όσο και προς τα µπροστά. Πρέπει να υπάρχει πάντα η δυνατότητα να αλλάζουµε το στυλ της παρουσίασης του εγγράφου µας αλλάζοντας µόνο τον κώδικα των CSS και να αφήνουµε το κείµενο χωρίς καµία αλλαγή. Τα CSS πρέπει να προσφέρουν ανεξαρτησία από τη συσκευή, την πλατφόρµα και τον κατασκευαστή. Ο ίδιος κώδικας CSS δίνει τα ίδια αποτελέσµατα όπου και αν εκτελεστεί. Πρέπει να µπορούµε να συντηρούµε τον κώδικα µας εύκολα. Πετυχαίνουµε µείωση του φόρτου ενός δικτύου αφού έχουµε χωρίσει το κείµενο από την παρουσίαση. Ένα αρχείο.css περιέχει στυλ που µπορούν να χρησιµοποιηθούν σε πολλά αρχεία.html. Η γλώσσα πρέπει να είναι ευέλικτη και να προσφέρει πληθώρα επιλογών και δυνατοτήτων. Τα CSS πρέπει να είναι σε θέση να παρέχουν εκείνες τις επιλογές ώστε η πληροφορία να µπορεί να παρουσιαστεί σε όλους και ειδικά σε άτοµα µε ειδικές ανάγκες. Cascading Style Sheets στο σύστηµα Α.Σ.ΠΙΣ. Για όλους τους λόγους που αναφέρθηκαν παραπάνω στο σύστηµα Α.Σ.ΠΙΣ. έχουν χρησιµοποιηθεί εκτενώς τα Cascading Style Sheets (Παράρτηµα Α, Αρχείο : aspis.css). Λεπτοµερέστερα, τα Cascading Style Sheets έχουν χρησιµοποιηθεί σε όλες τις πτυχές του συστήµατος, από το χρωµατισµό του και τον ορισµό διαστηµάτων ανάµεσα στα διάφορα στοιχεία του µέχρι τον ορισµό πινάκων και τον πλήρη καθορισµό της εσωτερικής τους δοµής. Το µεσαίο επίπεδο (middle tier) Στα περισσότερα web database systems που αναπτύχθηκαν σύµφωνα µε την αρχιτεκτονική των τριών επιπέδων το µεγαλύτερο µέρος της λογικής του συστήµατος βρίσκεται στο middle tier. Το client tier 17

18 παρουσιάζει δεδοµένα στο χρήστη και συλλέγει δεδοµένα από αυτόν ενώ το database tier αποθηκεύει και ανακτά δεδοµένα. Το middle tier εξυπηρετεί τους περισσότερους από τους εναποµείναντες ρόλους που συνενώνουν τα άλλα επίπεδα : καθορίζει τη δοµή και το περιεχόµενο των δεδοµένων που παρουσιάζονται στο χρήστη και επεξεργάζεται αυτά που εισάγει ο χρήστης και τα διαµορφώνει σε ερωτήσεις προς τη βάση δεδοµένων για εισαγωγή ή ανάκτηση δεδοµένων. Επίσης προσθέτει χειρισµό κατάστασης στο πρωτόκολλο HTTP. Το middle tier συνδυάζει τον παγκόσµιο ιστό µε το σύστηµα διαχείρισης της βάσης δεδοµένων. Στο σύστηµα Α.Σ.ΠΙΣ. τα συστατικά που αποτελούν το middle tier είναι ένας web server, µια web scripting language και η scripting language engine. Ο web server επεξεργάζεται τα HTTP requests και σχηµατίζει τα responses. Στις περιπτώσεις των web database applications αυτά τα requests είναι συνήθως για προγράµµατα που αλληλεπιδρούν µε το υποκείµενο σύστηµα διαχείρισης της βάσης δεδοµένων. Ο web server που χρησιµοποιούµε είναι ο Apache Software Foundation s Apache HTTP Server, ένας open source web server που χρησιµοποιείται σε περισσότερους από το 60% των υπολογιστών που είναι συνδεδεµένοι στο διαδίκτυο. Για scripting language του middle tier χρησιµοποιούµε την PHP scripting language. Η PHP είναι ένα open source project του Apache Software Foundation και είναι η πιο διάσηµη επέκταση (add-on module) του Apache HTTP Server, µε περίπου το 40% των Apache HTTP servers να έχουν δυνατότητα υποστήριξης της PHP. Η PHP είναι κατάλληλη για web database applications εξαιτίας των εργαλείων διασύνδεσης της για τα περιβάλλοντα του παγκόσµιου ιστού και των βάσεων δεδοµένων. Συγκεκριµένα, η ευελιξία στην ενσωµάτωση script σε HTML σελίδες επιτρέπει την εύκολη διασύνδεση µε το client tier. Η υποστήριξη διασύνδεσης µε το database tier είναι επίσης εξαιρετική, µε περισσότερες από 15 βιβλιοθήκες διαθέσιµες για την αλληλεπίδραση µε σχεδόν όλα τα διάσηµα συστήµατα διαχείρισης βάσεων δεδοµένων. Web servers Οι web servers συχνά αναφέρονται και ως HTTP servers.ο όρος HTTP server είναι µια καλή περιγραφή της λειτουργίας τους : η βασική λειτουργία τους είναι να ακούνε για HTTP requests σε ένα δίκτυο, να δέχονται HTTP requests που γίνονται από user agents (συνήθως web browsers να εξυπηρετούν τα requests και να επιστρέφουν HTTP responses που περιέχουν τα απαραίτητα resources. Ουσιαστικά υπάρχουν δύο τύποι request που γίνονται σε ένα web server : το πρώτο ζητά ένα αρχείο, συχνά µια στατική HTML σελίδα ή 18

19 µια εικόνα, και το δεύτερο ζητά να τρέξει ένα πρόγραµµα και η έξοδος του να επιστραφεί στο user agent. Requests για web scripts που προσπελαύνουν µια βάση δεδοµένων είναι παραδείγµατα HTTP request που απαιτούν από έναν web server να τρέξει ένα πρόγραµµα. Στο Α.Σ.ΠΙΣ. τα HTTP requests είναι για PHP script resources, τα οποία απαιτούν την PHP Zend Engine να τρέχει, και ανακτούν ένα script, το επεξεργάζονται και επιστρέφουν την έξοδό του. The Apache HTTP Server, Version 1.3 Όπως οι περισσότεροι χρήστες του Apache HTTP server τον αποκαλούµε απλά Apache. O Apache είναι ένας open source web server. Ο Apache είναι γρήγορος και βαθµωτός (scalable). Μπορεί να χειριστεί ταυτόχρονα requests από user agents και είναι σχεδιασµένος να τρέχει σε πολυεπεξεργαστικά λειτουργικά συστήµατα όπως το Linux και τις 32 bit εκδόσεις των Microsoft Windows. Είναι επίσης ελαφρύς, έχει χαµηλές απαιτήσεις ανά διαδικασία, µπορεί να χειριστεί αποτελεσµατικά τις αλλαγές στο φόρτο των request και µπορεί να τρέξει γρήγορα ακόµη και σε µέτριο υλικό. Ο Apache δεν είναι πολύπλοκος. Ο web server αποτελείται στην ουσία από πολλές διεργασίες, όπου µία συντονίζει τις υπόλοιπες. Η συντονιστική διεργασία τρέχει συνήθως µε δικαιώµατα υπερχρήστη (superuser) ή root χρήστη σε ένα µηχάνηµα Unix και δεν εξυπηρετεί requests. Οι άλλες διεργασίες, οι οποίες συνήθως τρέχουν ως πιο ασφαλείς, χωρίς δικαιώµατα χρήστες, ειδοποιούν τη συντονιστή server ότι είναι διαθέσιµες να χειριστούν requests. Αν υπάρχουν πολλοί λίγοι διαθέσιµοι servers για να εξυπηρετήσουν τα εισερχόµενα requests,ο συντονιστής server µπορεί να ξεκινήσει καινούριους servers, ενώ αν υπάρχουν πολλοί ελεύθεροι µπορεί να τερµατίσει κάποιους για να ελευθερώσει πόρους. Ο τρόπος µε τον οποίο ο Apache ακούει στο δίκτυο και εξυπηρετεί requests ελέγχεται από το αρχείο ρυθµίσεων του (configuration file). Ο διαχειριστής του server ελέγχει τη συµπεριφορά του Apache µέσω περισσοτέρων των 150 εντολών που επηρεάζουν τις απαιτήσεις σε πόρους, την ταχύτητα απόκρισης, την ευελιξία στην αντιµετώπιση του φόρτου των request, την ασφάλεια, τον τρόπο που αντιµετωπίζονται τα HTTP requests και τις πλευρές της λειτουργίας του. Προσεκτική ρύθµιση αυτών των παραµέτρων είναι σηµαντική για την απόδοση του server. 19

20 The Apache HTTP Server, Version 2.0 Η έκδοση 1.3 του Apache είχε µερικούς περιορισµούς που διορθώθηκαν στην έκδοση 2.0. Οι πιο σηµαντικές αλλαγές του Apache 2.0 είναι : Χρήση πιο ελαφριών διεργασιών ή threads σε συνδυασµό µε το µοντέλο επεξεργασίας της παλιότερης έκδοσης. Αυτό προσέφερε σηµαντική βελτίωση της απόδοσης στην εκκίνηση servers και µειώθηκε η συνολική απαίτηση σε µνήµη για να τρέχουν οι servers. Καλύτερη υποστήριξη, απόδοση και σταθερότητα σε non-unix µηχανήµατα. Πρόσθεση modules φιλτραρίσµατος έτσι ώστε τα δεδοµένα να µπορούν να µεταβάλλονται καθώς γίνεται η επεξεργασία τους από το web server. Υποστήριξη για IPv6, η νέα έκδοση του πρωτοκόλλου IP της δικτυακής σουίτας TCP/IP. Web scripting µε την PHP Η PHP εµφανίστηκε ως µέρος πολλών medium- και large-scale web database applications. Εκτός από την PHP βέβαια υπάρχουν και άλλες scripting languages που έχουν αξιοθαύµαστες δυνατότητες. Υπάρχουν, όµως, πολλοί λόγοι που κάνουν την PHP µια πολύ καλή επιλογή, κάποιοι από τους οποίους είναι : Είναι open source που σηµαίνει ότι διανέµεται εντελώς δωρεάν. Και σαν open source οι προσπάθειες για συντήρηση και εξέλιξή της γίνονται χωρίς να παρεµποδίζονται από επιχειρηµατικά συµφέροντα. Ένα ή περισσότερα PHP scripts µπορούν να ενσωµατωθούν σε στατικές HTML σελίδες κάτι που κάνει τη διασύνδεση µε το client tier πολύ εύκολη. Υπάρχουν πάνω από 15 βιβλιοθήκες για ενσωµατωµένη και γρήγορη υποστήριξη µε το database tier. Γρήγορη εκτέλεση των scripts. Με τις νέες βελτιώσεις στη Zend engine που επεξεργάζεται τα script, η εκτέλεση είναι γρήγορη, και όλα τα συστατικά στοιχεία του script τρέχουν στην κύρια µνήµη της PHP (σε αντίθεση µε άλλα scripting περιβάλλοντα, όπου τα 20

21 διαφορετικά συστατικά του script τρέχουν σε διαφορετικές περιοχές της µνήµης). Εµπειρικά δεδοµένα υποδεικνύουν ότι για εργασίες τουλάχιστον µέτριας πολυπλοκότητας η PHP είναι γρηγορότερη από άλλα διάσηµα εργαλεία για scripting. Ευελιξία πλατφόρµας και λειτουργικού συστήµατος. Ο Apache τρέχει σε πολλές πλατφόρµες και συγκεκριµένα λειτουργικά συστήµατα. Η PHP τρέχει σε όλα αυτά και ακόµη περισσότερα όταν διασυνδεθεί µε άλλους web servers. Η PHP είναι κατάλληλη για την ανάπτυξη πολύπλοκων συστηµάτων. Είναι µια κανονική γλώσσα προγραµµατισµού µε πλήρεις δυνατότητες και περισσότερες από 50 βιβλιοθήκες µε συναρτήσεις. Η τελευταία έκδοση της PHP είναι η έκδοση 4, την οποία για λόγους απλότητας αποκαλούµε απλά PHP, και το release που χρησιµοποιούµε είναι το Στην PHP4 έχει γραφεί από την αρχή η scripting engine που χρησιµοποιούνταν στην PHP3. Η σηµαντικότερη αλλαγή έχει γίνει στον τρόπο που τρέχουν τα script. Στην PHP3 η scripting engine ήταν ένας διερµηνέας (interpreter). Κάθε γραµµή κώδικα σε ένα script διαβαζόταν, επεξεργαζόταν και εκτελούνταν. Αν µια συνθήκη σε ένα βρόχο επανάληψης εκτελούνταν 100 φορές, η γραµµή του κώδικα διερµηνευόταν 100 φορές µε την PHP3. Αυτό το µοντέλο είναι αργό για πολύπλοκα scripts και πολύ γρήγορο για απλά. Το µοντέλο επεξεργασίας των script της PHP4 είναι διαφορετικό και σχεδιασµένο για µεγαλύτερης κλίµακας συστήµατα. Ένα script διαβάζεται, επεξεργάζεται, µεταφράζεται σε ενδιάµεσο κώδικα και µόνο τότε ο ενδιάµεσος κώδικας εκτελείται από τον εκτελεστή (PHP4 Zend engine script executor). Αυτό σηµαίνει ότι κάθε γραµµή του script διερµηνεύεται µόνο µια φορά (από την αρχική του µορφή στον ενδιάµεσο κώδικα) ακόµη και αν εκτελείται εκατοντάδες φορές. Επιπλέον η µετάφραση επιτρέπει και βελτίωση του κώδικα. Το αποτέλεσµα είναι βελτίωση της απόδοσης της PHP4 σε όλα εκτός από τα πιο απλά script. Η αρχιτεκτονική του PHP4 scripting environment φαίνεται στο Σχήµα 3 (η εικόνα προέρχεται από την Zend Technologies Inc.). Όπως φαίνεται, η PHP4 είναι ένα κοµµάτι του λογισµικού του web server. Το λογισµικό της ίδιας της PHP χωρίζεται σε δύο κοµµάτια : τις βιβλιοθήκες των συναρτήσεων και την Zend engine. 21

22 Σχήµα 3. Η αρχιτεκτονική του PHP4 scripting environment. Όταν ένας user agent στέλνει ένα request σε ένα web browser για ένα PHP script, τα παρακάτω συµβαίνουν : 1. Ο web server περνάει το request στη διασύνδεση του web server της Zend engine. 2. Η διασύνδεση του web server καλεί τη Zend engine και περνά τις παραµέτρους στη µηχανή. 3. Το κατάλληλο PHP script ανακτάται από το δίσκο από τη µηχανή. 4. Το script µεταφράζεται από τον compiler. 5. Ο µεταφρασµένος κώδικας εκτελείται από τον executor της µηχανής και µπορεί να περιλαµβάνει κλήσεις σε συναρτήσεις. Η έξοδος του executor επιστρέφεται στη διασύνδεση του web server. 6. Η διασύνδεση του web server επιστρέφει την έξοδο στον web server (που µε τη σειρά του επιστρέφει την έξοδο σαν HTTP response στον user agent). Ο τρόπος που διαχειριζόµαστε την PHP scripting engine και το πως αυτή τρέχει εξαρτάται από τον τρόπο που συµπεριλαµβάνεται το module της PHP στην εγκατάσταση του Apache. Αν το module είναι συνδεδεµένο στατικά (statically) µε το εκτελέσιµο του Apache httpd τότε η PHP scripting engine φορτώνεται στην κύρια µνήµη όταν ο Apache τρέχει, κάνοντας την να τρέχει γρηγορότερα. Τα µειονεκτήµατα είναι ότι ο Apache µε µια στατική βιβλιοθήκη PHP καταναλώνει περισσότερη µνήµη από ότι αν το module φορτωνόταν δυναµικά (dynamically) και επίσης η διαδικασία αναβάθµισης του module είναι λιγότερο ευέλικτη. 22

23 Λεπτοµέρειες τις PHP Εισαγωγή Η PHP, της οποίας τα αρχικά αντιπροσωπεύουν το "PHP: Hypertext Preprocessor" είναι µια ευρέως χρησιµοποιούµενη, ανοιχτού κώδικα, γενικού σκοπού scripting γλώσσα προγραµµατισµού, η οποία είναι ειδικά κατάλληλη για ανάπτυξη εφαρµογών για το Web και µπορεί να ενσωµατωθεί στην HTML. <html> <head> <title>example</title> </head> <body> </body> </html> <?php echo "Hi, I'm a PHP script!";?> Παράδειγµα 1. Ένα εισαγωγικό παράδειγµα Παρατηρήστε πως αυτό είναι διαφορετικό από ένα script γραµµένο σε άλλες γλώσσες προγραµµατισµού όπως η Perl ή η C : αντί να γράφετε ένα πρόγραµµα µε πολλές εντολές για να εξάγετε HTML, γράφετε ένα HTML script µε κάποιο ενσωµατωµένο κώδικα για να κάνει κάτι (σε αυτή την περίπτωση, να εµφανίζει κάποιο κείµενο). Ο κώδικας PHP είναι εσώκλειστος σε ειδικά tags (ετικέτες) αρχής και τελους που σας επιτρέπουν να µεταφέρεστε µέσα και έξω από το "PHP mode" (PHP τρόπο λειτουργίας). Αυτό που διαχωρίζει την PHP από κάτι σαν client-side Javascript είναι ότι ο κώδικας εκτελείται στον server (εξηπηρετητή). Αν είχατε ένα script σαν το παραπάνω στον server σας, ο client θα έπαιρνε τα αποτελέσµατα της εκτέλεσης αυτού του script, χωρίς να υπάρχει κανένας τρόπος να καταλάβει τι κώδικας υπάρχει από κάτω. Μπορείτε ακόµη να ρυθµίσετε τον web server σας να χειρίζεται όλα τα HTML αρχεία σας µε την PHP, και τότε πραγµατικά δεν υπάρχει τρόπος ο χρήστης να καταλάβει τι έχετε κάτω από το µανίκι σας. Τα καλύτερο πράγµα στην PHP είναι ότι είναι εξαιρετικά απλή για ένα νεοφερµένο αλλά προσφέρει πολλά προηγµένα χαρακτηριστικά για ένα επαγγελµατία προγραµµατιστή. Μην τροµάζετε όταν διαβάζετε την µακροσκελή λίστα µε τα χαρακτηριστικά της PHP. Μπορείτε να 23

24 εξοικειωθείτε µέσα σε πολύ λίγο χρόνο και να αρχίσετε να γράφετε απλά script σε λίγες ώρες. υνατότητες της PHP Απεριόριστες. Η PHP επικεντρώνεται κυρίως στο server-side scripting, έτσι µπορείτε να κάνετε οτιδήποτε ένα άλλο CGI πρόγραµµα µπορεί να κάνει, όπως να µαζέψει δεδοµένα, να παράγει δυναµικό περιεχόµενο σελίδων, ή να στείλει και να πάρει cookies. Αλλά η PHP µπορεί να κάνει πολύ περισσότερα. Υπάρχουν τρεις κύριοι τοµείς που χρησιµοποιείται ένα PHP script: Server-side scripting : Αυτό είναι το πιο παραδοσιακό και το κύριο πεδίο για την PHP. Χρειάζεστε τρία πράγµατα για να δουλέψει αυτό. Τον PHP µεταγλωττιστή (parser) (CGI ή server module ένα webserver (εξηπηρετητή σελίδων) και ένα web browser ("φυλλοµετρητή"). Πρέπει να τρέξετε τον web server, µε µια συνδεδεµένη εγκατάσταση της PHP. Μπορείτε να προσπελάσετε τα αποτελέσµατα του PHP προγράµµατος µε ένα web browser, βλέποντας την σελίδα PHP µέσα από τον server. Command line scripting : Μπορείτε να φτιάξετε ένα PHP script για να το τρέχετε χωρίς server ή browser. Χρειάζεστε µόνο τον PHP µεταγλωττιστή για να την χρησιµοποιήσετε µε αυτό τον τρόπο. Αυτός ο τύπος είναι ιδανικός για script που εκτελούνται συχνά µε τη χρήση της cron (σε *nix ή Linux) ή µε τον Task Scheduler (στα Windows). Αυτά τα script µπορούν επίσης να χρησιµοποιηθούν για απλές εργασίες επεξεργασίες κειµένου. Εγγραφή client-side GUI εφαρµογών (Γραφικά περιβάλλοντα χρηστών) : Η PHP ίσως να µην είναι η πιο καλή γλώσσα για να γράψει κανείς παραθυριακές εφαρµογές, αλλά αν ξέρετε PHP πολύ καλά και θέλετε να χρησιµοποιήσετε κάποια προχωρηµένα χαρακτηριστικά της PHP στις client-side εφαρµογές σας, µπορείτε επίσης να χρησιµοποιήσετε το PHP-GTK για αυτού του είδους τα προγράµµατα. Έχετε επίσης τη δυνατότητα να γράφετε crossplatform εφαρµογές µε αυτό τον τρόπο. Το PHP-GTK είναι µια επέκταση της PHP και δεν συµπεριλαµβάνεται στην κύρια διανοµή. Η PHP µπορεί να χρησιµοποιηθεί σε όλα τα κύρια λειτουργικά συστήµατα, συµπεριλαµβανοµένου του Linux, πολλών εκδοχών του Unix (HP-UX, Solaris και OpenBSD Microsoft Windows, Mac OS X, RISC OS και πιθανώς σε άλλα. Η PHP υποστηρίζει επίσης τους Apache, 24

25 Microsoft Internet Information Server, Personal Web Server, Netscape και iplanet servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd, και πολλούς άλλους web servers. Για την πλειοψηφία των server η PHP έχει ένα module, για τους υπόλοιπους η PHP µπορεί να λειτουργήσει ως ένας CGI επεξεργαστής. Έτσι µε την PHP έχετε την ελευθερία επιλογής ενός λειτουργικού συστήµατος και ενός web server. Επιπλέον, έχετε επίσης την ελευθερία να χρησιµοποιήσετε συναρτησιακό (procedural) ή αντικειµενοστρεφή (object oriented) προγραµµατισµό ή µια ανάµειξη τους. Αν και η παρούσα έκδοση δεν υποστηρίζει όλα τα πρότυπα χαρακτηριστικά, µεγάλες βιβλιοθήκες κώδικα και µεγάλες εφαρµογές (συµπεριλαµβανοµένης και της βιβλιοθήκης PEAR) είναι γραµµένες µόνο µε αντικειµενοστρεφή κώδικα. Με την PHP δεν είστε περιορισµένοι να εξάγετε HTML. Οι δυνατότητες της PHP συµπεριλαµβάνουν την εξαγωγή εικόνων, αρχείων PDF, ακόµη και ταινίες Flash (χρησιµοποιώντας τα libswf και Ming) παράγονται αµέσως. Μπορείτε επίσης να εξάγετε εύκολα οποιοδήποτε κείµενο όπως XHTML και οποιοδήποτε άλλο XML αρχείο. Η PHP µπορεί να δηµιουργεί αυτόµατα αυτά τα αρχεία και να τα αποθηκεύει στο σύστηµα αρχείων, αντί να τα εκτυπώνει, αποτελώντας έτσι µια serverside cache για το δυναµικό σας περιεχόµενο. Ένα από τα πιο δυνατά και σηµαντικά χαρακτηριστικά της PHP είναι η υποστήριξη που έχει για ένα µεγάλο σύνολο βάσεων δεδοµένων. Η συγγραφή µιας σελίδας που υποστηρίζει βάσεις δεδοµένων είναι εξαιρετικά απλή. Οι εξής βάσεις δεδοµένων υποστηρίζονται µέχρι στιγµής : Adabas D Ingres Oracle (OCI7 and OCI8) dbase InterBase Ovrimos Empress FrontBase PostgreSQL FilePro (read-only) msql Solid Hyperwave Direct MS-SQL Sybase IBM DB2 MySQL Velocis Informix ODBC Unix dbm Έχουµε επίσης µια αφαιρετική επέκταση DBX βάσεων δεδοµένων (DBX database abstraction extension) που σας επιτρέπει διάφανα να χρησιµοποιείτε οποιαδήποτε βάση δεδοµένων υποστηρίζεται από αυτή την επέκταση. Επιπλέον η PHP υποστηρίζει το ODBC, το Open Database 25

26 Connection standard (Ανοιχτό πρότυπο Σύνδεσης Βάσεων δεδοµένων) έτσι µπορείτε να συνδεθείτε σε οποιαδήποτε βάση δεδοµένων που υποστηρίζει αυτό το παγκόσµιο πρότυπο. Η PHP έχει επίσης υποστήριξη για επικοινωνία µε άλλες υπηρεσίες χρησιµοποιώντας πρωτόκολλα όπως LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM (στα Windows) και αµέτρητα άλλα. Μπορείτε επίσης να ανοίξετε raw network sockets και να αλληλεπιδράσετε µε οποιοδήποτε άλλο πρωτόκολλο. Η PHP έχει ακόµη υποστήριξη για την περίπλοκη ανταλλαγή δεδοµένων WDDX µεταξύ σχεδόν όλων των Web programming γλωσσών. Μιλώντας για διαεπικοινωνία, η PHP υποστηρίζει instantiation αντικειµένων Java και τα χρησιµοποιεί διάφανα σαν αντικείµενα PHP. Μπορείτε επίσης να χρησιµοποιήσετε την CORBA επέκταση της για να προσπελάσετε remote (αποµακρυσµένα) αντικείµενα. Η PHP έχει εξαιρετικά χρήσιµα χαρακτηριστικά επεξεργασίας κειµένων, από την POSIX επέκταση ή τις Perl regular expressions µέχρι XML parsing αρχείων. Για τη µεταγλώττιση και την πρόσβαση αρχείων XML, υποστηρίζονται τα πρότυπα SAX και DOM. Μπορείτε να χρησιµοποιήσετε την XSLT επέκταση της για να µετατρέπετε τα XML αρχεία σε άλλες µορφές. Καθώς χρησιµοποιείτε την PHP στον τοµέα του e-commerce, θα βρείτε τις Cybercash payment, CyberMUT, VeriSign Payflow Pro και CCVS συναρτήσεις χρήσιµες για τα online προγράµµατα πληρωµής σας. Τελευταίο αλλά σηµαντικό, υπάρχουν πολλές άλλες ενδιαφέρουσες επεκτάσεις, τις mnogosearch search engine συναρτήσεις, πολλά εργαλεία συµπίεσης (gzip, bz2 µετατροπές ηµερολογίου, µεταφράσεις... Η PHP στο σύστηµα Α.Σ.ΠΙΣ. Παραπάνω παραθέσαµε πολλές από τις δυνατοτήτες τις PHP που την έχουν κάνει πολύ δηµοφιλή ανάµεσα στους προγραµµατιστές web database applications. Για όλους αυτούς τους λόγους και κυρίως επειδή είναι πολύ ευέλικτη και γρήγορη στον προγραµµατισµό και την επεξεργασία των script όπως επίσης και επειδή ενσωµατώνεται χωρίς καµία ιδιαίτερη δυσκολία σε οποιαδήποτε σελίδα HTML και της προσδίδει δυνατότητες πολυµορφισµού και πολλαπλής εξόδου επιλέχθηκε να χρησιµοποιηθεί στο σύστηµα Α.Σ.ΠΙΣ. 26

27 Ενσωµάτωση της PHP στην αρχιτεκτονική του Α.Σ.ΠΙΣ. Αν και η PHP ενσωµατώνεται πολύ εύκολα σε µεµονωµένες σελίδες HTML και µπορεί να τους προσδώσει πολλές δυνατότητες το σύστηµα Α.Σ.ΠΙΣ. από την αρχή σχεδιάστηκε να είναι κάτι περισσότερο. Η PHP δεν εισάχθηκε σε έτοιµες σελίδες HTML αλλά χρησιµοποιήθηκε για να τις κατασκευάζει εξ ολοκλήρου και ξεκινώντας από µηδενική βάση. Οι σελίδες που ζητούν οι χρήστες µέσω ενός web browser είναι καθ ολοκληρίαν PHP script τα οποία ανάλογα µε τις παραµέτρους που δέχονται κατασκευάζουν την κατάλληλη σελίδα και την επιστρέφουν στο χρήστη. Έτσι µπορούµε να διασπάσουµε το σύστηµα σε µικρότερα αλλά γενικευµένα κοµµάτια κώδικα που επιτελούν ένα µέρος της λειτουργικότητας του συστήµατος : Pagebuilder module : Όπως δηλώνει και το όνοµα του το κοµµάτι αυτό του συστήµατος κατασκευάζει τις περισσότερες από τις σελίδες που ζητά ο χρήστης. Database module : Το κοµµάτι αυτό περιέχει όλες τις συναρτήσεις που χρησιµοποιεί το σύστηµα για να εισάγει δεδοµένα στη βάση και να επεξεργαστεί τα ήδη υπάρχοντα. Από το παραπάνω πρότυπο του συστήµατος εξαιρούνται κάποιες σελίδες που κυρίως λόγω της φύσης τους ή/και της θέσης τους µέσα στο σύστηµα και της λειτουργικότητας τους έπρεπε να συγγραφούν µε το χέρι. Οι σελίδες αυτές καλό είναι να αναλυθούν ξεχωριστά από το υπόλοιπο σύστηµα : index.php : Είναι η αρχική σελίδα του συστήµατος. Εδώ ο χρήστης προµηθεύει στο σύστηµα το username και τον κωδικό του. Αυτά τα στοιχεία θα τον αναγνωρίζουν µοναδικά στο σύστηµα και θα καθορίζουν τον τρόπο µε τον οποίο θα εµφανίζονται οι σελίδες που θα ζητά. Αυτή είναι και η σελίδα στην οποία ανακατευθύνεται ένας χρήστης που δεν έχει αναγνωριστεί ακόµη από το σύστηµα αλλά προσπάθησε να προσπελάσει µια σελίδα απευθείας. logout.php : 27

28 Η σελίδα αυτή καλείται όταν ένας χρήστης θέλει να βγει από το σύστηµα. ιαγράφει τα δεδοµένα του χρήστη από τη µνήµη εργασίας του συστήµατος και τον ανακατευθύνει στην αρχική σελίδα. Pagebuilder module Το κοµµάτι που κατασκευάζει τις περισσότερες από τις σελίδες του συστήµατος είναι το pagebuilder module το οποίο αποτελείται από δύο βασικά script και πολλά µικρότερα τα οποία χρησιµοποιώντας τις συναρτήσεις που ορίζουν τα δύο βασικά script κατασκευάζουν πολλές από τις σελίδες που βλέπει ο χρήστης που αλληλεπιδρά µε το σύστηµα. Τα δύο βασικά script του module είναι το metadata.php και το pagebuilder.php (για λεπτοµέρειες στην υλοποίησή τους δείτε το παράρτηµα Α). metadata.php: Περιέχει όλη τη γνώση του συστήµατος σχετικά µε την αρχιτεκτονική της βάσης δεδοµένων, τους πίνακες, τις συσχετίσεις, τον τύπο των δεδοµένων κάθε πίνακα κ.ά.. Περιέχει πληροφοριές οι οποίες χρησιµοποιούνται στην κατασκευή των σελίδων από τις συναρτήσεις του pagebuilder.php όπως οι περιγραφές των πεδίων και ο τύπος των <input> tags που θα εισάγονται στην html και θα περιέχουν τα δεδοµένα της βάσης που θα εµφανίζονται στον χρήστη. Επίσης περιέχει πληροφορίες για τον έλεγχο της εγκυρότητας των δεδοµένων που γίνεται για κάθε δεδοµένο που εισάγεται στη βάση. Το script είναι οργανωµένο µε τις αρχές του αντικειµενοστρεφούς προγραµµατ ισµού. Για κάθε πίνακα της βάσης υπάρχει ένα αντικείµενο που περιέχει όλες τις απαραίτητες πληροφορίες για τον πίνακα. Επίσης υπάρχει και µια γενική κλάση, από την οποία κληρονοµούν όλα τα αντικείµενα, η οποία περιέχει διάφορες συναρτήσεις για τον χειρισµό των αντικειµένων αυτών (συναρτήσεις που επιστρέφουν το όνοµα του πίνακα, το κύριο κλειδί, τα πεδία κτλ). Η γενική κλάση επίσης ορίζει και µια συνάρτηση η οποία κάνει το validation των δεδοµένων σύµφωνα µε κανονικές εκφράσεις (βλέπε και client side JavaScript). pagebuilder.php: Κατασκευάζει σελίδες που περιέχουν φόρµες για εισαγωγή, επεξεργασία ή διαγραφή δεδοµένων. Επίσης κατασκευάζει σελίδες που περιέχουν πίνακες προβολής δεδοµένων της βάσης. Περιέχει πολλές συναρτήσεις οι οποίες κατασκευάζουν διάφορα κοµµάτια 28

29 της σελίδας (όπως η συναρτηση buildmenu η οποία κατασκευάζει το µενού επιλογών της σελίδας ανάλογα µε τα δικαιώµατα που έχει ο χρήστης). Οι συναρτήσεις που περιέχει το script καλούνται από διάφορες άλλες σελίδες για να κατασκευάσουν διάφορα κοµµάτια της σελίδας. Συνήθως γίνεται κλήση της κεντρικής συνάρτησης buildpage η οποία φροντίζει για την κλήση των υπολοίπων συναρτήσεων µε τις κατάλληλες για τη σελίδα παραµέτρους. Το script pagebuilder είναι υπεύθυνο για την πλήρη κατασκευή της σελίδας χρησιµοποιώντας δεδοµένα από το metadata script. Κατά την κατασκευή της σελίδας µε την χρήση php εισάγονται τα html tags, τα css styles και η JavaScript. Αλλάζοντας µερικές µόνο παραµέτρους έχουµε τη δηµιουργία νέων σελίδων. Τέλος, επειδή ο µηχανισµός κατασκευής σελίδων είναι συγκεντρωτικός, είναι εύκολο να αλλάξουµε κάτι ή να προσθέσουµε νέες δυνατότητες σε όλες τις σελίδες µε λίγες µικρές αλλαγες στο pagebuilder.php. Database module Το module αυτό όπως ειπώθηκε παραπάνω χρησιµοποιείται για όλες τις διεργασίες εισαγωγής ή επεξεργασίας που αφορούν τη βάση δεδοµένων. εν είναι αουτοτελές αλλά αποτελείται από κάποια µικρότερα script που επιτελούν επιµέρους λειτουργίες. Τα βασικότερα από αυτά είναι τα globals.php, database.php, metadata.php : globals.php : Το αρχείο αυτό χρησιµοποιείται σαν αποθήκη για τις global µεταβλητές που χρειάζονται σε όλα τα script του συστήµατος. Περιέχει έναν πίνακα µέσα στον οποίο ορίζονται όλα αυτά, ονόµατει $config. Παραδείγµατα πεδίων που ορίζονται είναι ο superuser της βάσης δεδοµένων, ο κωδικός του, σταθερές που χρησιµοποιούν διάφορες συναρτήσεις του συστήµατος κ.ά. database.php : Εδώ περιέχονται όλες οι συναρτήσεις που αλληλεπιδρούν σε κατώτατο επίπεδο µε τη βάση δεδοµένων. Όπου χρειάζεται πρόσβαση στη βάση για οποιονδήποτε λόγο χρησιµοποιείται τον εν λόγω script και οι συναρτήσεις του. Περιέχει µια αρκετά ευρία γκάµα συναρτήσεων για εισαγωγή, διαγραφή, ενηµέρωση και επεξεργασία των δεδοµένων της βάσης. metadata.php : Βλέπε στο Pagebuilder module. 29

30 Το επίπεδο της βάσης δεδοµένων (database tier) Το database tier είναι η βάση ενός web database application. Η κατανόηση των απαιτήσεων του συστήµατος, η επιλογή του λογισµικού του database tier, ο σχεδιασµός βάσεων δεδοµένων και η κατασκευή του tier είναι τα πρώτα βήµατα για την επιτυχηµένη ανάπτυξη web database application. Σε ένα σύστηµα αρχιτεκτονικής τριών επιπέδων το database tier διαχειρίζεται τα δεδοµένα. Η διαχείριση των δεδοµένων τυπικά περιλαµβάνει αποθήκευση και ανάκτηση δεδοµένων, όπως επίσης και διαχείριση αναβαθµίσεων, πρόσβαση, ταυτόχρονη ή ασύγχρονη, από περισσότερες της µιας διεργασίες του middle tier, διασφάλιση της ασφάλειας και της ακεραιότητας των δεδοµένων, καθώς και υποστηρικτικές διαδικασίες όπως δηµιουργία αντιγράφων ασφαλείας. Στα περισσότερα web database applications οι παραπάνω υπηρεσίες προσφέρονται από ένα σύστηµα σχεσιακής βάσης δεδοµένων (RDBMS system) και τα δεδοµένα αποθηκεύονται σε µια σχεσιακή βάση δεδοµένων (relational database). Η διαχείριση σχεσιακών δεδοµένων στο τρίτο tier απαιτεί πολύπλοκο λογισµικό RDBMS. Ευτυχώς τα περισσότερα συστήµατα διαχείρισης βάσεων δεδοµένων είναι σχεδιασµένα έτσι ώστε οι πολυπλοκότητες του λογισµικού να µην είναι φανερές. Για να χρησιµοποιήσει κάποιος αποτελεσµατικά ένα σύστηµα διαχείρισης βάσεων δεδοµένων πρέπει να διαθέτει τις απαραίτητες ικανότητες για να σχεδιάσει µια βάση δεδοµένων και να σχηµατίσει εντολές και να απευθύνει ερωτήσεις (queries) στο σύστηµα διαχείρισης βάσεων δεδοµένων. Για τα περισσότερα συστήµατα διαχείρισης η γλώσσα των ερωτήσεων (query language) είναι η SQL. Η κατανόηση της κρυµµένης αρχιτεκτονικής των συστηµάτων διαχείρισης βάσεων δεδοµένων δεν είναι σηµαντική για τους περισσότερους χρήστες. Στο σύστηµα Α.Σ.ΠΙΣ. για τη διαχείριση των δεδοµένων χρησιµοποιούµε το MySQL RDBMS. Όπως και µε την επιλογή scripting language του middle tier υπάρχουν συχνά διαφωνίες για το πιο σύστηµα διαχείρισης βάσεων δεδοµένων είναι πιο κατάλληλο για ένα δεδοµένο σύστηµα. Η MySQL είναι γρήγορη και είναι η πλέον κατάλληλη για συστήµατα όπου η ανάκτηση των δεδοµένων είναι πιο συχνή από την αλλαγή και όπου µικρές αλλαγές είναι η κύρια κατηγορία των αλλαγών που εφαρµόζονται στα δεδοµένα του συστήµατος. Τα παραπάνω είναι κοινά χαρακτηριστικά των περισσοτέρων web database applications. Επίσης, όπως και η PHP και ο Apache είναι λογισµικό open source. 30

31 Υπάρχουν και άλλες επιλογές λογισµικού για την αποθήκευση δεδοµένων στο database tier που χρησιµοποιούν µη-σχεσιακές DBMSs. Αυτές περιλαµβάνουν µηχανές αναζήτησης (search engines συστήµατα διαχείρισης εγγράφων (document management systems) και απλές υπηρεσίες gateway όπως λογισµικό για . Συστήµατα διαχείρισης βάσεων δεδοµένων Ένα σύστηµα διαχείρισης βάσης δεδοµένων αποθηκεύει, ψάχνει και διαχειρίζεται δεδοµένα. Μια βάση δεδοµένων είναι µια συλλογή από δεδοµένα που σχετίζονται µεταξύ τους. Τα αποθηκευµένα δεδοµένα µπορεί να είναι µερικές εγγραφές (entries) ή σειρές (rows) που αποτελούν έναν απλό κατάλογο ονοµάτων, διευθύνσεων και αριθµών τηλεφώνων. Σε αντίθεση µια βάση δεδοµένων µπορεί να περιέχει εκατοµµύρια εγγραφές τον κατάλογο, τις πωλήσεις, τις αγορές και τη µισθοδοσία µιας µεγάλης εταιρίας. Η βάση δεδοµένων του συστήµατος Α.Σ.ΠΙΣ. είναι ένα παράδειγµα µιας µέτριας έως µεγάλης βάσης δεδοµένων. Ένα DBMS είναι µια συλλογή από στοιχεία για να ορίσουµε, κατασκευάσουµε και διαχειριστούµε µια βάση δεδοµένων. Συνήθως όταν αναφερόµαστε σε ένα σύστηµα διαχείρισης βάσης δεδοµένων εννοούµε ένα σχεσιακό DBMS (ή RDBMS). Οι σχεσιακές βάσεις δεδοµένων αποθηκεύουν και διαχειρίζονται τις σχέσεις ανάµεσα στα δεδοµένα, για παράδειγµα οι πελάτες κάνουν παραγγελίες ή τα οινοποιεία σε µια περιοχή. Το Σχήµα 4 δείχνει την απλοποιηµένη αρχιτεκτονική ενός τυπικού συστήµατος διαχείρισης βάσης δεδοµένων. Σχήµα 4. Η αρχιτεκτονική ενός τυπικού DBMS 31

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

Α.Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ σελ. 1 Α.Τ.Ε.Ι. ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΔΙΑΧΕΙΡΙΣΗ ΧΡΗΣΤΩΝ ΔΙΚΤΥΟΥ ΜΕΣΩ ΙΣΤΟΣΕΛΙΔΑΣ ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ ΤΣΕΤΣΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΣΠΟΥΔΑΣΤΕΣ ΣΑΡΗΜΑΝΩΛΗΣ ΧΡΗΣΤΟΣ ΚΟΡΚΟΥ ΕΥΑΓΓΕΛΙΑ

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

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Σχολή Θετικών Επιστηµών Τµήµα Πληροφορικής ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΙΑΧΕΙΡΙΣΗΣ

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Σχολή Θετικών Επιστηµών Τµήµα Πληροφορικής ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΙΑΧΕΙΡΙΣΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Σχολή Θετικών Επιστηµών Τµήµα Πληροφορικής ΑΝΑΠΤΥΞΗ ΣΥΣΤΗΜΑΤΟΣ ΙΑΧΕΙΡΙΣΗΣ ΠΙΣΤΟΠΟΙΗΣΗΣ ΜΕ ΒΑΣΗ ΤΑ ΚΡΙΤΗΡΙΑ Ο.Ε.Ε.Κ. Πτυχιακή Εργασία Γρηγοράκη Ανδρονίκη Επιβλέπων

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

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) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)

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

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

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

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

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

Τεχνικός Εφαρμογών Πληροφορικής Τεχνικός Εφαρμογών Πληροφορικής ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΕΙΣΑΓΩΓΗ Εξάμηνο: 2014Β Διδάσκουσα: Ηλεκτρονική Τάξη: Κανελλοπούλου Χριστίνα_ΠΕ19 Πληροφορικής Περιεχόμενα 1.Τι είναι η Php; 2.Πως γίνετε η γραφή

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

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

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

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

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

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

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

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

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

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

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

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες Εισαγωγή-Σκοπός. Τρόποι δημιουργίας δυναμικών ιστοσελίδων. Dynamic Web Pages. Dynamic Web Page Development Using Dreamweaver. Τρόποι δημιουργίας δυναμικών

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

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

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

Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες (clients) είτε εξυπηρέτες (servers). Εξυπηρέτης: παθητικός,

Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες (clients) είτε εξυπηρέτες (servers). Εξυπηρέτης: παθητικός, Αρχιτεκτονική web εφαρµογών Σαράντης Πασκαλής Εθνικό και Καποδιστριακό Πανεπιστήµιο Αθηνών 1 Αρχιτεκτονική πελάτη-εξυπηρέτη Οι διεργασίες που εκτελούνται στο δίκτυο είναι είτε πελάτες

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

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο)

TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) TEC410 Ανάπτυξη Δικτυακών Τόπων (Δ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Επιστημονικός συνεργάτης Εργαστηρίου: Στέλλα Λάμπουρα Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί

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

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο FrontPage 2003 Πρακτικός Οδηγός Χρήσης Το FrontPage είναι ένα πρόγραμμα δημιουργίας ιστοσελίδων και δικτυακών τόπων που επιτρέπει το σχεδιασμό ιστοσελίδων μέσα από γραφικό περιβάλλον αλλά και την ταυτόχρονη

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

Vellum PHP Web Authoring Professional Certificate Πιστοποιητικό ανάπτυξης εφαρµογών διαδικτύου µε εξειδίκευση στην γλώσσα PHP Vellum Global Educational Services Σελίδα 1 από 1 Vellum PHP Web Authoring

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

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο

Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο Γλώσσες Σήµανσης (Markup Languages) Τεχνολογία ιαδικτύου και Ηλεκτρονικό Εµπόριο 1 Γλώσσες Σήµανσης Γλώσσες σήµανσης: Αρχικά για τον καθορισµό εµφάνισης σελίδων, γραµµατοσειρών. Στη συνέχεια επεκτάθηκαν

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

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I

Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου. Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I Πληροφορική Τμήμα Σχεδιασμού & Τεχνολογίας Ξύλου & Επίπλου Αντώνιος Καραγεώργος Ευανθία Τσιλιχρήστου Μάθημα 5 ο Τεχνολογίες Διαδικτύου: HTML I Διαδικτυακή Εφαρμογή (1/2) Ως διαδικτυακή εφαρμογή μπορούμε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος... 13. Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 ΠΕΡΙΕΧΟΜΕΝΑ Πρόλογος... 13 Κεφάλαιο 1 ο Αρχές Διαχείρισης πληροφορίας στον Παγκόσμιο Ιστό... 15 1.1 Εισαγωγή... 16 1.2 Διαδίκτυο και Παγκόσμιος Ιστός Ιστορική αναδρομή... 17 1.3 Αρχές πληροφοριακών συστημάτων

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

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

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

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

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client

Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client ΕΣΔ 516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Εισαγωγή στην Javascript για προγραμματισμό στην πλευρά του client Περιεχόμενα Περιεχόμενα Javascript και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

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

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού Κεφάλαιο 6 ο Διαχείριση στοιχείων λογισμικού Διδακτικοί στόχοι Να περιγραφούν οι κύριοι τύποι λογισμικού Να εξεταστεί το λογισμικό συστήματος και τα λειτουργικά συστήματα Να αναλυθούν οι πιο σημαντικές

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

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

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

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

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP

Τεχνολογίες Διαδικτύου. Server Side Scripting I PHP Τεχνολογίες Διαδικτύου Server Side Scripting I PHP Εισαγωγή PHP PHP:Hypertext Preprocessor Mηχανή που συνοδεύει web servers όπως ο IIS και ο Apache Η PHP είναι γλώσσα προγραμματισμού για web εφαρμογές

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

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

ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΜΑΘΗΜΑ: Εργαλεία Ανάπτυξης εφαρμογών internet. ΩΡΕΣ ΔΙΔΑΣΚΑΛΙΑΣ: ΕΙΔΟΣ ΜΑΘΗΜΑΤΟΣ: Μικτό Γενικός σκοπός είναι να αποκτήσει ο καταρτιζόμενος τις αναγκαίες γνώσεις σχετικά με εργαλεία και τις τεχνικές για

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

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

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP Αντώνης Χρυσόπουλος Κατερίνα Κυπριώτη Στέλιος Μόσχογλου Θεοδόσης Σουργκούνης ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΜΕ ΧΡΗΣΗ PHP Για να γίνουμε όλοι καλύτεροι άνθρωποι Τι έχει το μενού σήμερα??? 1. Τι είναι η PHP??? Τι είναι

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

Απόσυρσης Παλαιού Εξοπλισµού Η/Υ του ΑΤΕΙΘ»

Απόσυρσης Παλαιού Εξοπλισµού Η/Υ του ΑΤΕΙΘ» ΑΛΕΞΑΝ ΡΕΙΟ Τ.Ε.Ι. ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Πτυχιακή Εργασία «Μηχανοργάνωση της ιαδικασίας Χαρακτηρισµού και Απόσυρσης Παλαιού Εξοπλισµού Η/Υ του ΑΤΕΙΘ» Του φοιτητή

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

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

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

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

ΛΟΓΙΣΜΙΚΟ (software)

ΛΟΓΙΣΜΙΚΟ (software) ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων

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

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

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

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP

Μέρος Ι: Εγκατάσταση και ιαμόρφωση των MySQL, Apache και PHP Εισαγωγή... 1 Σε Ποιους Απευθύνεται το Βιβλίο... 1 Η Οργάνωση του Βιβλίου... 2 Ο Πηγαίος Κώδικας του Βιβλίου... 3 Συμβάσεις που Χρησιμοποιούνται σε Αυτό το Βιβλίο... 3 Μέρος Ι: Εγκατάσταση και ιαμόρφωση

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

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

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

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

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ

ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Κεφάλαιο 7 ΕΙΔΗ,ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙ- ΣΜΟΥ Ερωτήσεις 1. Να αναφέρετε διαφορές μεταξύ γλωσσών μηχανής και γλωσσών χαμηλού επιπέδου. Οι γλώσσες μηχανής κωδικοποιούν τις εντολές τους με ομάδες

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

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

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

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

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα

Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Τεχνικές σχεδίασης προγραμμάτων, Προγραμματιστικά Περιβάλλοντα Ενότητες βιβλίου: 6.4, 6.7 Ώρες διδασκαλίας: 1 Τεχνικές σχεδίασης προγραμμάτων Στο βιβλίο γίνεται αναφορά σε μία τεχνική για την ανάπτυξη

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΚΕΦΑΛΑΙΟ 6 - ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Προγραµµατισµός Η/Υ Ο προγραµµατισµός είναι η διατύπωση του αλγορίθµου σε µορφή κατανοητή από τον Η/Υ ώστε να τον εκτελέσει («τρέξει» όπως λέµε στην ορολογία της

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

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

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

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

ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies)

ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies) ΕΠΛ 012 ΤΕΧΝΟΛΟΓΙΕΣ ΣΧΕΔΙΑΣΗΣ ΔΙΑΔΙΚΤΥΑΚΟΥ ΤΟΠΟΥ (Web Site Design Technologies) Διδάσκων Καθηγητής: Δημήτριος Τσουμάκος Εαρινό Εξάμηνο 2010 Βασικές Πληροφορίες Πότε: Δευτέρα & Πέμπτη 10:30-12μμ Πού: ΧΩΔ01

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

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

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

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

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

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

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

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr

Εφαρµογή: Σύστηµα ιαχείρισης ιαδικτυακού Περίπτερου / Ιστοσελίδας στον διαδικτυακό τόπο kalliergea.gr ..χτίζουµε την ιστοσελίδα σας στο Internet www.kalliergea.gr Λάουρα Π. Καζακράντε «Καλλιεργαία» Πληροφορική - Internet - ιαφήµιση - Μεταφράσεις Τηλ.: 211 0104925, 695 6118589 Email: info@kalliergea.gr

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

Σχεδιασµός βασισµένος σε συνιστώσες

Σχεδιασµός βασισµένος σε συνιστώσες Σχεδιασµός βασισµένος σε συνιστώσες 1 Ενδεικτικά περιεχόµενα του κεφαλαίου Ποια είναι τα "άτοµα", από τα οποία κατασκευάζονται οι υπηρεσίες; Πώς οργανώνουµε τις συνιστώσες σε ένα αρµονικό σύνολο; Τι είναι

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

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

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά. Νίκος Πασσαράς. Εισηγητής: Πρεζεράκος Γεώργιος

Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά. Νίκος Πασσαράς. Εισηγητής: Πρεζεράκος Γεώργιος ΑΝΩΤΑΤΟ ΤΕΧΝΟΛΟΓΙΚΟ ΙΔΡΥΜΑ ΠΕΙΡΑΙΑ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ανάπτυξη Υπηρεσίας Καταλόγου LDAP με τα στοιχεία του προσωπικού του TEI Πειραιά Νίκος Πασσαράς

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

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

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

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

Ανάπτυξη Υπηρεσίας Τηλεκπαίδευσης σε ΙP Δίκτυα. Υλοποίηση Σύγχρονης Τηλεκπαίδευσης Ανάπτυξη Υπηρεσίας Τηλεκπαίδευσης σε ΙP Δίκτυα. Υλοποίηση Σύγχρονης Τηλεκπαίδευσης Σπουδαστές: Μιχαήλ Μιχάλης ΑΜ:5089 Αναγνωστόπουλος Σπύρος ΑΜ:3692 Υπεύθυνος καθηγητής: Αναλυτή Κατερίνα Άρτα 2006 E- learning

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

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

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο Το περιβάλλον εργασίας Ανοίγοντας την Ελληνική Έκδοση του FrontPage, για πρώτη φορά, η εικόνα που θα συναντήσουμε είναι αυτή της Εικόνας 1 με τα Μενού Εντολών και τη Γραμμή Εργαλείων, στο πάνω μέρος της

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

ΠΙΣΤΟΠΟΙΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΤΗΣ ΕΦΑΡΜΟΓΩΝ ΔΙΑΔΙΚΤΥΟΥ ΜΕ ΤΗ ΧΡΗΣΗ PHP MYSQL CSS «Certified Web Developer using PHP, MySQL & CSS» SYLLABUS. Έκδοση 1.

ΠΙΣΤΟΠΟΙΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΤΗΣ ΕΦΑΡΜΟΓΩΝ ΔΙΑΔΙΚΤΥΟΥ ΜΕ ΤΗ ΧΡΗΣΗ PHP MYSQL CSS «Certified Web Developer using PHP, MySQL & CSS» SYLLABUS. Έκδοση 1. ΠΙΣΤΟΠΟΙΗΜΕΝΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΤΗΣ ΕΦΑΡΜΟΓΩΝ ΔΙΑΔΙΚΤΥΟΥ ΜΕ ΤΗ ΧΡΗΣΗ PHP MYSQL CSS SYLLABUS Vellum Global Educational Services A.E. 2015 Έκδοση 1.0 Εξεταστέα Ύλη 2015 Vellum Global Educational Services A.E.

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ Web Services

ΚΕΦΑΛΑΙΟ Web Services ΚΕΦΑΛΑΙΟ Web Services Προϋποθέσεις εγκατάστασης Web Services για το Κεφάλαιο 4.50 1. Κεφάλαιο έκδοση 4.51e build 458 ή νεότερο 2. Internet Information Server (IIS) version 6 ή νεότερος 3. Σε κάποιον υπολογιστή

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

ALERTS ή EDA (Event Driven Actions)

ALERTS ή EDA (Event Driven Actions) ALERTS ή EDA (Event Driven Actions) Το ALERTS είναι ένα ευέλικτο εργαλείο ανοιχτού σχεδιασµού που αναπτύχθηκε µε σκοπό να καλύψει ιδιαίτερες απαιτήσεις διαµόρφωσης ή επέκτασης της λειτουργικότητας όλων

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

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

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

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

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5 A. EVANS, K. MARTIN, M. A. POATSY Εισαγωγή στην πληροφορική Θεωρία και πράξη 2 η έκδοση Κεφάλαιο 5 Λογισμικό συστημάτων: Το λειτουργικό σύστημα, τα βοηθητικά προγράμματα και η διαχείριση αρχείων Τα βασικά

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

Αστέριος Κατσιφοδήμος Γιώργος Νικολάου Κώστας Βρυώνη. ΕΠΛ 428 Προγραμματισμός Συστημάτων 16/04/07

Αστέριος Κατσιφοδήμος Γιώργος Νικολάου Κώστας Βρυώνη. ΕΠΛ 428 Προγραμματισμός Συστημάτων 16/04/07 Αστέριος Κατσιφοδήμος Γιώργος Νικολάου Κώστας Βρυώνη ΕΠΛ 428 Προγραμματισμός Συστημάτων 16/04/07 Ιστορική αναδρομή της Python Εμφανίστηκε στα τέλη του 1980. Προκατοχός της η γλώσσα ABC. Δημιουργός της

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

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview Εργαστήριο Λειτουργικών Συστημάτων Minix Overview Σύνοψη 5ης ιάλεξης Λειτουργικό Σύστημα Minix Οργάνωση του Λειτουργικού Συστήματος Οργάνωση πηγαίου κώδικα Minix recompilation Σύνοψη Μαθήματος Σύνοψη Μαθήματος

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

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας.

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας. Η Πυξίδα Απασχόλησης είναι ένα πλήρως παραμετροποιήσιμο portal που απευθύνεται σε Κέντρα Επαγγελματικής Κατάρτισης, Δήμους, Εκπαιδευτικούς Οργανισμούς και Εταιρίες Εύρεσης Εργασίας, με στόχο τόσο την μηχανογράφηση

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

Η HTML 5 θα αλλάξει το Web?

Η HTML 5 θα αλλάξει το Web? Η HTML 5 θα αλλάξει το Web? (ή αλλιώς, έρχεται το τέλος των plugins?) Αλέξανδρος Καράκος Εργαστήριο Προγραµµατισµού και Επεξεργασίας Πληροφοριών Internet 2... Είναι ένα ξεχωριστό µέσο δηµοσίευσης πληροφοριών

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

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΕΦΑΛΑΙΟ 7 ΕΙ Η, ΤΕΧΝΙΚΕΣ ΚΑΙ ΠΕΡΙΒΑΛΛΟΝΤΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ 7.1. Ανάπτυξη Προγράµµατος Τι είναι το Πρόγραµµα; Το Πρόγραµµα: Είναι ένα σύνολο εντολών για την εκτέλεση ορισµένων λειτουργιών από τον υπολογιστή.

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

ΠΡΟΣΟΧΗ: Οι απαντήσεις πολλαπλής επιλογής µόνο πάνω στο ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ

ΠΡΟΣΟΧΗ: Οι απαντήσεις πολλαπλής επιλογής µόνο πάνω στο ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ ΤΕΙ Σερρών Σχολή Τεχνολογικών Εφαρμογών, Τμήμα Πληροφορικής και Επικοινωνιών Προγραμματιστικές Εφαρμογές στο Διαδίκτυο (Θ) Τελική Εξέταση Διδάσκων: Δ. Κοτζίνος Όνοµα: Α.Μ. : Εξάµηνο : Αίθουσα Έδωσα Project

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

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

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

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

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

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

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

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

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

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

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

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP. Εργαστήριο #5 Τι πρέπει να έχετε ολοκληρώσει από το προηγούμενο εργαστήριο. Θα πρέπει να ξέρετε να εισάγετε ένα βασικό πρόγραμμα PHP μέσα σε μια ιστοσελίδα, τη χρήση της echo και τον χειρισμό απλών μεταβλητών

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

Στρατηγική ανάπτυξη δικτυακού κόμβου

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

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή περιορισμένοι υπολογιστικοί / αποθηκευτικοί πόροι δεν τίθεται θέμα

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

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

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

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

Κεφάλαιο 11: Εισαγωγή στην HTML. Εφαρμογές Πληροφορικής Κεφ. 11 Καραμαούνας Πολύκαρπος

Κεφάλαιο 11: Εισαγωγή στην HTML. Εφαρμογές Πληροφορικής Κεφ. 11 Καραμαούνας Πολύκαρπος Κεφάλαιο 11: Εισαγωγή στην HTML 1 11.1 Γενική εισαγωγή στην HTML Τι είναι η HTML HyperText Markup Language - Γλώσσα Χαρακτηρισμού Υπερ-Κειμένου είναι η βασική γλώσσα με την οποία πραγματοποιείται η δόμηση

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

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

Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε! Θέλετε να μάθετε πως μπορείτε να έχετε πρόσβαση στις 5250 οθόνες μέσω browser, χωρίς αλλαγή στις υπάρχουσες εφαρμογές και χωρίς εγκατάσταση στον client? Αν Ναι, δείτε πως με το λογισμικό axes μπορείτε!

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

XAMPP Apache MySQL PHP javascript xampp

XAMPP Apache MySQL PHP javascript xampp XAMPP Το xampp είναι ένα δωρεάν πρόγραμμα με το οποίο μπορούμε να κάνουμε εγκατάσταση τον Apache, τη MySQL και την PHP. Apache. Ο Apache είναι ένας Web Server. Είναι δηλαδή πρόγραμμα το οποίο τρέχει μόνιμα

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

Speed-0 WMP: Web and Mobile Platform Software Requirements Specification

Speed-0 WMP: Web and Mobile Platform Software Requirements Specification Speed-0 Web and Mobile Platform Speed-0 WMP: Web and Mobile Platform Software Requirements Specification Version Revision History Date Version Description People 5/4/2012 Αρχικές Προδιαγραφές

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

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college.

hel-col@otenet.gr Κωνσταντίνος Παρασκευόπουλος Καθηγητής Πληροφορικής (ΠΕ19 MSc) Ελληνικό Κολλέγιο Θεσσαλονίκης kparask@hellenic-college. Χρήση της Διεπαφής Προγραμματισμού Εφαρμογής Google Maps για τη δημιουργία διαδραστικού χάρτη με τα Μνημεία Παγκόσμιας Πολιτιστικής Κληρονομιάς της ΟΥΝΕΣΚΟ στη Θεσσαλονίκη Εμμανουήλ Τσάμης 1, Κωνσταντίνος

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

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου

Εισαγωγή στην PHP. ΕΣΔ 516 Τεχνολογίες Διαδικτύου. Περιεχόμενα. Περιεχόμενα. ΕΣ 516: Τεχνολογίες ιαδικτύου. ΕΣ 516: Τεχνολογίες ιαδικτύου ΕΣΔ 516 Τεχνολογίες Διαδικτύου Εισαγωγή στην PHP Περιεχόμενα Περιεχόμενα PHP και HTML Βασική σύνταξη Μεταβλητές Τελεστές Συναρτήσεις Παράδειγματα 1 Βιβλιογραφία Ενότητας Βιβλιογραφία [Lane 2004]: Chapter

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

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς PERL Δήμος Παύλου Δημήτρης Κουζαπάς Perl Η Perl είναι μια διερμηνευομένη δυναμική γλώσσα προγραμματισμού. Συνδυάζει χαρακτηριστικά από διάφορες γλώσσες. (C/C++, Awk, Lisp κλπ) Διαδόθηκε λόγω της μεγάλης

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

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου Α Γενικού Λυκείου 87 Διδακτικές ενότητες 10.1 Υπηρεσίες Διαδικτύου 10.2 Ο παγκόσμιος ιστός, υπηρεσίες και εφαρμογές Διαδικτύου Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να μπορούν να διακρίνουν

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

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

Ενότητα 1η. Εισαγωγή στην Πληροφορική Ενότητα 1η Εισαγωγή στην Πληροφορική 1.1 Τι είναι Πληροφορική Ένας σύντομος ορισμός για το τι είναι πληροφορική είναι ο παρακάτω: όλα εκείνα που χρειάζεται κανείς για να παράγει, να οργανώνει και να διαχειρίζεται

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

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

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

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

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

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~

Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~ Θέματα Προγραμματισμού Διαδικτύου ~ PHP ~ Στελιος Σφακιανάκης Εαρινό 2019 Αυτή η εργασία χορηγείται με άδεια Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 1 Server-side programming

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

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

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

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

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

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ. Οδηγός Διαχειριστή Το m-learning Toolkit είναι μια ολοκληρωμένη πλατφόρμα εξ αποστάσεως εκπαίδευσης που έχει σχεδιαστεί για να υπάρχει η δυνατότητα της πρόσβασης

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

α) η καταγραφή και η σύλληψη της δικτυακής κίνησης (capture) και β) η ανάλυση της δικτυακής κίνησης.

α) η καταγραφή και η σύλληψη της δικτυακής κίνησης (capture) και β) η ανάλυση της δικτυακής κίνησης. Εργαστηριακή Άσκηση 3 Σκοπός της τρίτης σειράς ασκήσεων είναι η γνωριµία µε τον αναλυτή πρωτοκόλλων Wireshark. Το πρόγραµµα Wireshark είναι ένας ανιχνευτής πακέτων (packet sniffer) και διατίθεται ως ανοιχτό

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

Δυναμικές Ιστοσελίδες Προγραμματισμός στην πλευρά του client

Δυναμικές Ιστοσελίδες Προγραμματισμός στην πλευρά του client ΕΣΔ516 Τεχνολογίες Διαδικτύου Δυναμικές Ιστοσελίδες Προγραμματισμός στην πλευρά του client Περιεχόμενα Περιεχόμενα Η Διεπίπέδη αρχιτεκτονική (2-tier architecture) Η τριεπίπεδη αρχιτεκτονική (3-tier architecture)

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

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα.

ΚΕΦΑΛΑΙΟ 7 ο. Έτσι ο προγραµµατισµός µε τη ΓΛΩΣΣΑ εστιάζεται στην ανάπτυξη του αλγορίθµου και τη µετατροπή του σε σωστό πρόγραµµα. ΚΕΦΑΛΑΙΟ 7 ο 1. Επιλογή της κατάλληλης γλώσσας προγραµµατισµού Εκατοντάδες γλώσσες προγραµµατισµού χρησιµοποιούνται όπως αναφέρθηκε σήµερα για την επίλυση των προβληµάτων µε τον υπολογιστή, τη δηµιουργία

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

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Μάθημα: Ενότητα: Πληροφορική Α' Γυμν. Το του Υπολογιστή 1. Τι ονομάζεται Πρόγραμμα; Είναι οι οδηγίες που δίνονται στον υπολογιστή για να εξηγήσουμε πώς γίνεται μια εργασία (δηλαδή η

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

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

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

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

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα Λιόλιου Γεωργία ΕπιβλέπουσαΚαθηγήτρια: ΣατρατζέµηΜάγια, καθηγήτρια, τµ. ΕφαρµοσµένηςΠληροφορικής, ΠΑΜΑΚ Εισαγωγή Γενικά στοιχεία εφαρµογή

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

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

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

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