Μοναχέλης Παναγιώτης, Πατρικάκης Χαράλαμπος, Φειδάκης Μιχαήλ
ΜΑΘΗΣΙΑΚΑ ΑΠΟΤΕΛΕΣΜΑΤΑ
Με την επιτυχή ολοκλήρωση του μαθήματος ο/η φοιτητής/ήτρια διαθέτει εξειδικευμένες γνώσεις για την ανάπτυξη Διαδικτυακών Εφαρμογών, με παράλληλη έμφαση στην ασφάλεια και διατήρηση της ιδιωτικότητας, στα σύγχρονα υπολογιστικά συστήματα. Με βάση τις γνώσεις αυτές θα είναι σε θέση να:
- Ξεχωρίζει και χρησιμοποιεί τα διάφορα είδη των Δεδομένων που μπορούν να παραχθούν (π.χ. Ανοικτά Δεδομένα, Διασυνδεδεμένα Ανοικτά Δεδομένα).
- Κατανοεί και επιλέγει τις κατάλληλες Βάσεις Δεδομένων (Σχεσιακές και μη) που μπορούν να χρησιμοποιηθούν για την αποθήκευση των δεδομένων κρίνοντας σύμφωνα με τις διαφορές τους, καθώς και πότε πρέπει να επιλεγεί η κάθε μία.
- Αντιλαμβάνεται και χρησιμοποιεί τα σύγχρονα CMS για την ανάπτυξη ιστοσελίδων.
- Επιδεικνύει εξειδικευμένες ικανότητες στον σχεδιασμό προγραμματιζομένων διεπαφών (APIs) για τη μεταφορά δεδομένων.
- Συνεργάζεται σε ομάδα για την επεξεργασία και οπτικοποίηση των αποθηκευμένων δεδομένων.
- Να εργάζεται σε σύνθετα εργασιακά περιβάλλοντα δίνοντας έμφαση στην ασφάλεια και διατήρηση της ιδιωτικότητας των δεδομένων.
Λέξεις κλειδιά: Διαδίκτυο, Εφαρμογές, Βάσεις Δεδομένων, Πρωτόκολλα, Ασφάλεια, Ιδιωτικότητα
Γενικές Ικανότητες
- Αναζήτηση, ανάλυση και σύνθεση δεδομένων και πληροφοριών, με τη χρήση και των απαραίτητων τεχνολογιών
- Σχεδιασμός Έργων
- Λήψη Αποφάσεων
- Αυτόνομη Εργασία
- Ομαδική Εργασία
ΠΕΡΙΕΧΟΜΕΝΟ ΜΑΘΗΜΑΤΟΣ
- Ενότητα 1. Είδος, Αποθήκευση και Αναπαράσταση Δεδομένων
Στην ενότητα αυτή θα συζητηθούν τα διάφορα είδη δεδομένων (π.χ. Ανοικτά Δεδομένα, Διασυνδεδεμένα Ανοικτά Δεδομένα) καθώς και σε ποιες περιπτώσεις χρησιμοποιείται το καθένα από αυτά. Θα παρουσιαστούν οι τρόποι αποθήκευσης τους σε βάσεις δεδομένων καθώς και στο λειτουργικό σύστημα. Επιπλέον, θα παρουσιαστούν οι τρόποι απεικόνισης των δεδομένων σε σύγχρονες εφαρμογές όπως είναι η μορφή JSON και XML. Τέλος, θα συζητηθούν τρόποι απεικόνισης δεδομένων (data visualization). - Ενότητα 2. Χρήση Σχεσιακών και μη σχεσιακών Βάσεων Δεδομένων
Στην ενότητα αυτή θα παρουσιαστούν οι δύο διαφορετικά είδη βάσεων δεδομένων με έμφαση στον τρόπο με τον οποίον θα επιλέξει ο αρχιτέκτονας λογισμικού την κατάλληλη για κάθε εφαρμογή. Για τις σχεσιακές βάσεις δεδομένων, θα δοθεί έμφαση στη σύνταξη της γλώσσας SQL καθώς και τις λειτουργίες Δημιουργίας, Ανάγνωσης, Ενημέρωσης και Διαγραφής (CRUD) που θα προσφέρονται. Επίσης, θα μελετηθεί η επικοινωνία της βάσης με χρήστες με τη βοήθεια της γλώσσας ΡΗΡ καθώς και μελέτη των οδηγών λογισμικού για επικοινωνία με τη βάση. Στις μη σχεσιακές βάσεις δεδομένων, θα γίνει μια παρουσίαση των βάσεων με έμφαση στις βάσεις δεδομένων που χρησιμοποιούν γράφους. Τέλος, θα δοθεί έμφαση στην επικοινωνία με τις βάσεις αυτές με τη βοήθεια της γλώσσας Javascript μέσω του δημοφιλούς πλαισίου Node.js. - Ενότητα 3. Χρήση των Συστημάτων Διαχείρισης Περιεχομένου (Content Management Systems)
Παρουσίαση των πιο γνωστών CMS (π.χ. WordPress, Joomla, Drupal), των διαφορών τους και του λόγους χρήσης αυτών. Μελέτη του Content Management Application (CMA) που αποτελεί τη διεπαφή που χρησιμοποιείται για τη δημιουργία σελίδων από τους εγκεκριμένους χρήστες καθώς και του Content Delivery Application που αναλαμβάνει να διαμοιράσει το περιεχόμενο αυτό. - Ενότητα 4. Υπηρεσίες Διαδικτύου
Παρουσίαση σημαντικών πρωτοκόλλων που χρησιμοποιούνται σε σύγχρονες εφαρμογές και υπηρεσίες Διαδικτύου (π.χ. SOAP, REST) καθώς και μελέτη προγραμματιζόμενων διεπαφών (APIs) με χρήση αυτών. Χρήση των μεθόδων CRUD στη γλώσσα Javascript. - Ενότητα 5. Ασφάλεια και Ιδιωτικότητα
Θα δοθεί συζητηθεί το θέμα της ασφάλειας και ταυτόχρονα της ιδιωτικότητας και γιατί είναι πολύ σημαντικά στην ανάπτυξη δικτυακών εφαρμογών. Θα παρουσιαστούν τα σημαντικότερα πρωτόκολλα για τη Διαδικτυακή Ασφάλεια, με έμφαση στο SSL. Τέλος θα μελετηθούν οι τεχνικές ΑΑΑ (Authentication, Authorization, Accounting).
ΑΞΙΟΛΟΓΗΣΗ ΦΟΙΤΗΤΩΝ
Δικαίωμα εξέτασης έχουν μόνο οι φοιτητές/ήτριες που έχουν δηλώσει το μάθημα και έχουν δικαίωμα να εξεταστούν, σύμφωνα με τις λίστες της γραμματείας του τμήματος.
Για το θεωρητικό μέρος, οι εξετάσεις πραγματοποιούνται με τη λήξη των διαλέξεων και περιλαμβάνουν γραπτή εξέταση στη διδαχθείσα ύλη. Οι εξετάσεις πραγματοποιούνται στα Ελληνικά, και περιλαμβάνουν:
– Ερωτήσεις πολλαπλής επιλογής.
– Σχεδίαση, διαχείριση και ανάλυση διαδικτυακών εφαρμογών και υπηρεσιών.
– Συγκριτική αξιολόγηση στοιχείων θεωρίας
Για το εργαστηριακό μέρος, οι εξετάσεις πραγματοποιούνται με τη λήξη των εργαστηριακών μαθημάτων και περιλαμβάνουν τη βαθμολόγηση σε εργαστηριακές ασκήσεις.
– Η βαθμολόγηση, περιλαμβάνει και την προαιρετική παράδοση εργασίας η οποία προσμετράται στον τελικό βαθμό.
ΣΥΝΙΣΤΩΜΕΝΗ ΒΙΒΛΙΟΓΡΑΦΙΑ
- «Εισαγωγή στον προγραμματισμό Διαδικτυακών Εφαρμογών», Μ. Σαλαμπάσης, Εκδόσεις Επίκεντρο, ISBN: 9789609306249, Κωδικός βιβλίου στον Εύδοξο: 68401134, Έκδοση 1, 2016.
- «Ανάπτυξη Διαδικτυακών Εφαρμογών», Π. Κεντερλής, Εκδόσεις Λύχνος Γραφικές Τέχνες, ISBN: 978-960-6607-60-8, Κωδικός βιβλίου στον Εύδοξο: 68398269, Έκδοση 1, 2017.
- «Προγραμματισμός Διαδικτυακών Εφαρμογών με JAVA», Elliotte Rusty Harold, Εκδόσεις Κλειδάριθμος, ISBN: 978-960-461-713-5, Κωδικός βιβλίου στον Εύδοξο: 59373748, Έκδοση 4, Αμερικάνικη, 2016.
- DuBois, Paul. MySQL Cookbook: Solutions for Database Developers and Administrators. ” O’Reilly Media, Inc.”, 2014.
- Trachtenberg, Adam, and David Sklar. “PHP Cookbook: Solutions and examples for PHP Programmers.” (2006).
- Masse, Mark. REST API Design Rulebook: Designing Consistent RESTful Web Service Interfaces. ” O’Reilly Media, Inc.”, 2011.
Συναφή επιστημονικά περιοδικά:
- The Internet Protocol Journal (ελεύθερη πρόσβαση), URL: http://ipj.dreamhosters.com/