Το μάθημα εστιάζει στον σχεδιασμό και την ανάπτυξη σύγχρονων εφαρμογών διαδικτύου με έμφαση στις εφαρμογές παγκόσμιου ιστού. Παρουσιάζει την αρχιτεκτονική και την υποδομή του παγκόσμιου ιστού και την αρχιτεκτονική εφαρμογών πελάτη/εξυπηρετητή (client/server) με έμφαση στην αρχιτεκτονική των εφαρμογών παγκόσμιου ιστού πολλών στρωμάτων. Τα θέματα που καλύπτονται περιλαμβάνουν τις ακόλουθες γνωστικές περιοχές και τεχνολογίες: Λειτουργία εξυπηρετητών / περιηγητών ιστού (Web Server / Web Browser). Πρωτόκολλο HTTP. Γλώσσες HTML/CSS και Javascript/Typescript. Συστήματα διαχείρισης σχεσιακών βάσεων δεδομένων στο διαδίκτυο (MySQL). Συστήματα NoSQL βάσεων δεδομένων (MongoDB). Τεχνολογίες νωτιαίου άκρου (Backend): Servlets, Υπηρεσίες Ιστού RESTful, Αντικειμενοσχεσιακή απεικόνιση (Object-Relational Mapping), Δεξαμενές συνδέσεων (Connection pooling). Τεχνολογίες μετωπιαίου άκρου (Frontend): Javascript, Angular 5. Πρότυπα αρχιτεκτονικής εφαρμογών παγκόσμιου ιστού (Model 1, Model-View-Controller). Ασφάλεια στον παγκόσμιο ιστό (SSL/TLS και JSON Web Token). Εργασία σχεδιασμού και ανάπτυξης ολοκληρωμένης εφαρμογής παγκόσμιου ιστού και υποσυστήματος συστάσεων (recommender system).
Βασικά συγγράμματα (Εύδοξος)
- R. Connoly, R. Hoar, Προγραμματισμός για το Web, Μ. Γκιούρδας, 2015.
- H.M. Deitel, P.J. Deitel, JAVA Προγραμματισμός, 10η Έκδοση, Εκδόσεις Μ. Γκιούρδας, 2015.
Πρόσθετη βιβλιογραφία (στην αγγλική γλώσσα):
- L. Shklar, R. Rosen, Web Application Architecture: Principles, Protocols and Practices, 2nd Edition, Wiley, 2009.
- N.S. Williams, Professional Java for Web Applications, Wrox, 2014.
- Διαδικτυακός οδηγός Angular (https://angular.io/guide)
Διαφάνειες για το σύνολο των τεχνολογιών που διδάσκονται.