IEK ΟΑΕΔ ΚΑΛΑΜΑΤΑΣ ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΟΦΟΡΙΚΗΣ Εργαλεία ανάπτυξης εφαρμογών internet Ι Διδάσκουσα: Κανελλοπούλου Χριστίνα ΠΕ19 Πληροφορικής
Εργαλεία και τεχνικές από την πλευρά του πελάτη
Java Applet Τι είναι; Ένα Applet είναι ένα πρόγραμμα Java το οποίο εκτελείται σε μία ιστοσελίδα πχ. Κινούμενη εικόνα. Τα βήματα που πρέπει να κάνετε για να δημιουργήσετε ένα Java Applet είναι τα ακόλουθα: Πρώτα γράφετε το Applet ακριβώς όπως γράφετε και κάθε άλλο πρόγραμμα Java. Στη συνέχεια μεταφράζετε το Applet για να παράγετε το αρχείο με επέκταση class με τα bytecodes Τέλος, ενσωματώνετε το Applet σε μία ιστοσελίδα χρησιμοποιώντας (κατ' ελάχιστο) την ετικέτα <Applet> η οποία έχει την εξής (ελάχιστη) μορφή: <applet code = όνομααρχείου.class width=πλάτος height=ύψος></applet> Όπως βλέπετε η ετικέτα applet έχει τις υποχρεωτικές φράσεις code, width και height. Το code προσδιορίζει το αρχείο που θα εκτελεστεί όταν θα φορτωθεί η ιστοσελίδα που περιέχει την ετικέτα σε ένα browser. Το width προσδιορίζει το πλάτος που θα καταλάβει το applet σε εικονοστοιχεία (pixels) στην περιοχή του browser Το height είναι το ύψος που θα καταλάβει το applet σε pixels στην περιοχή του browser. Τέλος το </applet> τερματίζει την ετικέτα Applet. Το Applet θα καταλάβει το χώρο αυτό στο σημείο που βρίσκετε στην ιστοσελίδα.ένα Applet εκτελείται όταν φορτώνεται η ιστοσελίδα που το περιέχει σε κάποιο browser.
Γλώσσα Προγραμματισμού Σεναρίων Μια γλώσσα σεναρίων (scripting language, script language) ή γλώσσα επέκτασης (extension language) είναι μια γλώσσα προγραμματισμού που επιτρέπει τον έλεγχο μιας ή περισσότερων εφαρμογών. Τα "σενάρια" ("scripts") είναι διακριτά από τον βασικό κώδικα της εφαρμογής, καθώς γράφονται συνήθως σε διαφορετική γλώσσα και συχνά δημιουργούνται ή τροποποιούνται από τον τελικό χρήστη. Τα σενάρια συνήθως διερμηνεύονται από τον πηγαίο κώδικα ή τον κώδικα byte (bytecode), ενώ η εφαρμογή συνήθως έχει ήδη πρώτα μεταγλωττιστεί σε κώδικα μηχανής. Οι πρώτες γλώσσες σεναρίων συχνά αποκαλούνταν γλώσσες δέσμης (batch languages) ή γλώσσες ελέγχου εργασιών (job control languages). Αυτές οι πρώτες γλώσσες σεναρίων δημιουργήθηκαν για να συντομεύσουν την παραδοσιακή διαδικασία διόρθωση-μεταγλώττιση-σύνδεση-εκτέλεση. Στο web παράδειγμα σεναρίου στην πλευρά του πελάτη είναι μια ιστοσελίδα που περιέχει ένα κουμπί, το οποίο, όταν πατηθεί από τον χρήστη, εμφανίζει ένα παράθυρο με κάποιο μήνυμα μέσω JavaScript. JavaScript Tutorial http://www.w3schools.com/js/
Client Side Scripting Τι είναι; Αναφέρεται στην κατηγορία των προγραμμάτων στο διαδίκτυο που εκτελούνται στην πλευρά του πελάτη, από το πρόγραμμα περιήγησης του χρήστη, αντί των server-side (στο web server). Αυτό το είδος προγραμματισμού είναι ένα σημαντικό μέρος της δυναμικής HTML (DHTML), που επιτρέπει σε ιστοσελίδες να έχουν σενάρια, δηλαδή, να έχουν διαφορετικό και μεταβαλλόμενο περιεχόμενο ανάλογα με το περιεχόμενο που εισάγει ο χρήστης, τις περιβαλλοντικές συνθήκες (όπως την ώρα της ημέρας), ή άλλες μεταβλητές. Τα client-side scripts συνήθως ενσωματώνονται μέσα σε ένα HTML ή XHTML έγγραφο (εξ ου και είναι γνωστά ως «ενσωματωμένα σενάρια»), αλλά μπορούν επίσης να περιέχονται σε ένα ξεχωριστό αρχείο, το οποίο αναφέρεται από το έγγραφο (ή έγγραφα) που το χρησιμοποιούν (ως εκ τούτου, γνωστό ως «εξωτερική σενάριο»). Κατόπιν αιτήματος, τα απαραίτητα αρχεία που αποστέλλονται στον υπολογιστή του χρήστη από τον web server(ή των servers) στα οποία βρίσκονται αυτά. Ο Web browser του χρήστη εκτελεί το σενάριο, στη συνέχεια, εμφανίζει το έγγραφο, συμπεριλαμβανομένης κάθε ορατής έξοδο από το σενάριο.
Τα client-side scripts μπορεί να περιέχουν επίσης οδηγίες για τον browser για να ακολουθήσει ως απόκριση σε ορισμένες ενέργειες του χρήστη, (π.χ. το πάτημα ενός κουμπιού). Συχνά, αυτές οι οδηγίες μπορούν να ακολουθηθούν, χωρίς περαιτέρω επικοινωνία με το διακομιστή. Με την προβολή του αρχείου που περιέχει το σενάριο, οι χρήστες μπορεί να είναι σε θέση να δουν τον πηγαίο κώδικά του. Πολλοί συγγραφείς ιστοσελίδων μαθαίνουν πώς να γράφουν client-side scripts εν μέρει από την εξέταση του πηγαίου κώδικα από σενάρια άλλων συγγραφέων. DHTML Tutorial http://www.w3schools.com/dhtml/ HTML vs XHTML http://www.w3schools.com/html/html_xhtml.asp
Plugins Τι είναι; Τα plugins είναι μικρά προγραμματάκια τα οποία δεν μπορούν να τρέξουν μόνα τους, αντιθέτως είναι φτιαγμένα για ένα μεγαλύτερο πρόγραμμα, μέσα στο οποίο τρέχουν και δίνουν νέες δυνατότητες σε αυτό. Για παράδειγμα μπορείς να κατεβάσεις ένα plugin στο πρόγραμμα που μπαίνεις στο Internet για να μπορείς να κατεβάζεις video από το youtube. Οι web browsers χρησιμοποιούν plug-ins συνήθως για να αναπαράγουν αρχεία τύπου video και παρουσιάσεων. (Flash, QuickTime, Microsoft Silverlight, 3DMLW)
Cookies Τι είναι; Τα Cookies είναι μικρά "αρχεία" που εγκαθίστανται στο σκληρό δίσκο του υπολογιστή σας, όταν επισκέπτεστε τοποθεσίες για πρώτη φορά και περιέχουν πληροφορίες τις οποίες χρησιμοποιούν οι ιστοσελίδες για την αναγνώρισή σας. Ένας web server ψάχνει για Cookies όταν ένας χρήστης επισκέπτεται ένα website του. Τα Cookies γενικά χρησιμοποιούνται για να προσδιορίσουν τους επισκέπτες. Όταν κάνετε login, ένα Cookie καταγράφει τα στοιχεία σας, έτσι ώστε ο web server να γνωρίζει ότι έχετε κάνει login από τον συγκεκριμένο Η/Υ. Ταυτόχρονα μπορεί να καταγράφει και κάποιες άλλες πληροφορίες σχετικά με την δραστηριότητα σας στο site, όπως για παράδειγμα σε ποιες ψηφοφορίες λάβατε μέρος (έτσι ώστε να σας απαγορέψει να ψηφίσετε δύο φορές), κάποιες προσωπικές ρυθμίσεις που χρησιμοποιείτε (π.χ. χρωματικά θέματα) ή για την αποθήκευση σε κάποιο εικονικό καλάθι αγορών ενός ηλεκτρονικού καταστήματος. Δεν θα πρέπει να συγχέετε τα cookies με τους ιούς. Εάν κάποιο cookie περιλαμβάνει προσωπικά δεδομένα, ενδέχεται να χρησιμοποιηθεί λανθασμένα, ωστόσο τα cookies δεν είναι από μόνα τους κακόβουλα. Οι χρήστες έχουν την επιλογή να διαμορφώσουν τον web browser τους είτε για να δεχτούν είτε να απορρίψουν τα Cookies. Πως τα cookies διευκολύνουν την πλοήγηση στο διαδίκτυο.
Θέματα δεοντολογίας: Cookies Διάφορες εταιρίες, πουλάνε υπηρεσίες cookies. Αυτές συνεργάζονται με Web Sites ώστε να τους στέλνουν αντίγραφα των cookies κάθε συναλλαγής, και κατά συνέπεια μπορούν να φτιάξουν το προφίλ των συνηθειών του χρήστη. Αυτή η πληροφορία μπορεί να χρησιμοποιηθεί για σκοπούς marketing και διαφήμισης. Μερικοί άνθρωποι αρέσκονται στην ιδέα να λαμβάνουν διαφημίσεις που σχετίζονται με τα ενδιαφέροντα τους. Άλλοι το εκλαμβάνουν ως παραβίαση της ιδιωτικής τους σφαίρας.
Εργαλεία και τεχνικές από την πλευρά του εξυπηρετητή
Web Server Web Server ονομάζουμε το λογισμικό που τρέχει σε ένα κόμβο Internet και επιτρέπει σε άλλους υπολογιστές να αποκτούν αντίγραφα των Web σελίδων που είναι αποθηκευμένες σε αυτόν. Web Client ονομάζουμε το λογισμικό που τρέχει ένας Η/Υ και του επιτρέπει να "διαβάζει" Web σελίδες (από το σκληρό του δίσκο ή από το Internet αν είναι συνδεδεμένος με αυτό). Παράδειγμα: Όταν ζητήσατε μια σελίδα, ο Web Client που χρησιμοποιείτε (π.χ. Chrome ή Internet Explorer) δεν πήγε να την πάρει μόνος του από τον σκληρό δίσκο που είναι αποθηκευμένη. Συνδέθηκε με τον Web Server και ζήτησε από αυτόν να του δώσει τα αρχεία που απαρτίζουν την σελίδα. Όταν ήρθαν τα αρχεία, η σύνδεση διακόπηκε. Νέα σύνδεση θα γίνει όταν ζητηθεί η επόμενη σελίδα. Πιο γνωστοί ο Apache και ο IIS (Internet Information Server)
ASP Τι είναι; Φιλοξενία ιστοσελίδων και υπηρεσιών που λειτουργούν σε λειτουργικό σύστημα Windows. ASP (Active Server Pages) για προγραμματισμό από την πλευρά του εξυπηρετητή Βάσεις δεδομένων συνήθως Microsoft Access ή Microsoft SQL Server. Ανάπτυξη ιστοσελίδων συνήθως με Microsoft Expression Web. ASP Tutorial http://www.w3schools.com/asp/default.asp
PHP Τι είναι; Αρκετά διαδεδομένη, δωρεάν και αποτελεσματική εναλλακτική λύση για τη Microsoft's ASP. Ενσωματώνεται απευθείας σε HTML κώδικα. Ως γλώσσα μοιάζει πολύ με Perl και C. Χρησιμοποιείται συνήθως μαζί με Apache (web server) σε διάφορα λειτουργικά συστήματα. Επίσης μπορεί να χρησιμοποιηθεί με Microsoft's IIS σε Windows. Υποστηρίζει πολλές βάσεις δεδομένων όπως MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL, Generic ODBC, κ.α. PHP Tutorial http://www.w3schools.com/php/default.asp
JSP Τι είναι; JSP (Java Server Pages) Server-side τεχνολογία που μοιάζει με ASP, και αναπτύχθηκε από τη Sun. Με τη JSP μπορείτε να φτιάξετε δυναμικές ιστοσελίδες προσθέτοντας Java κώδικα μέσα σε HTML σελίδες. Ο κώδικας εκτελείται στον web server πριν η σελίδα επιστρέψει στον browser. Από τη στιγμή που η JSP χρησιμοποιεί Java, η τεχνολογία δεν περιορίζεται από κάποια πλατφόρμα συγκεκριμένου server.
CGI Τι είναι; To CGI (Common Gateway Interface) είναι το πρότυπο για τη διαβίβαση των πληροφοριών μεταξύ ενός server και μιας εφαρμογής ως τμήμα του πρωτοκόλλου HTTP του World Wide Web. To CGI είναι ένας σταθερός και σωστός τρόπος να περνιούνται οι πληροφορίες από έναν server σε ένα πρόγραμμα και το αντίστροφο. Η πιό κοινή χρήση του CGI είναι στην γραφή κώδικα (scripting). Ένας κώδικας του CGI είναι ένα πρόγραμμα που γράφεται με μια γλώσσα προγραμματισμού όπως Perl, Java, ή C++. Για παράδειγμα, όποτε οι χρήστες καλούνται να εισαγάγουν πληροφορίες σε έναν ιστοχώρο, ένας κώδικας σε CGI είναι υπό εκτέλεση.
Παραδείγματα CGI CGI Tutorial http://www.comp.leeds.ac.uk/nik/cgi/start.html Simple CGI Forms http://support.zeus.com/zws/examples/2005/12/16/simple_cgi_forms
Βάσεις Δεδομένων Οι πιο δημοφιλείς βάσεις για διαχείριση δεδομένων στο παγκόσμιο ιστό MicroSoft SQL http://www.microsoft.com/sqlserver/en/us/default.aspx MySQL (open source) http://www.w3schools.com/php/php_mysql_intro.asp
Βιβλιογραφία Καμμάς Σ., Διαδικτυακές σημειώσεις μαθήματος «Εργαλεία ανάπτυξης εφαρμογών Ιντερνέτ Ι», 2012. Πρέντζα Α., σημειώσεις μαθήματος «Προγραμματισμός Παγκόσμιου Ιστού», πανεπιστήμιο Πειραιώς 2009. www. w3schools.com Δουλκερίδης Χ., σημειώσεις μαθήματος «Εφαρμογές και υπηρεσίες Παγκόσμιου Ιστού» πανεπιστήμιο Πειραιώς 2010.