Η σχεδόν απανταχούσα δυνατότητα σύνδεσης στο διαδίκτυο και χρήσης φυλλομετρητών του Ιστού έχει καταστήσει επωφελή (αν όχι απαραίτητη) τη χρήση πληροφοριακών συστημάτων μέσω του διαδικτύου.Γενικά, η διαφορά των διαδικτυακών εφαρμογών σε σχέση με τις παραδοσιακές εφαρμογές, οφείλεται στο ότι η πλατφόρμα εγκατάστασης και λειτουργίας είναι το διαδίκτυο. Το διαδίκτυο ως πλατφόρμα υποδομής έχει ιδιαίτερα χαρακτηριστικά τα οποία καθιστούν και την ανάπτυξη διαδικτυακών εφαρμογών διαφορετική και ιδιαίτερη. Για παράδειγμα, οι λειτουργίες εισόδου και εξόδου του συστήματος θα πρέπει να υποστηριχθούν μέσω των δυνατοτήτων που προσφέρουν οι φυλλομετρητές ενώ η επιχειρησιακή λογική του συστήματος (που ενδεχομένως να είναι ήδη υλοποιημένη), πρέπει να ενθυλακωθεί ώστε να είναι εκτελέσιμη μέσω των διακομιστών του Ιστού και του πρωτοκόλλου http, και να αντιμετωπίσουμε το ότι το πρωτόκολλο HTTP είναι state-less. Γενικά, ο διαδικτυακός προγραμματισμός ασχολείται με την ανάπτυξη εφαρμογών στο ανώτερο επίπεδο του TCP/IP πρωτοκόλλου (application layer). Το μάθημα αυτό αποτελεί μια εισαγωγή στις τεχνολογίες που είναι απαραίτητες για την ανάπτυξη διαδικτυακών εφαρμογών. Αρχικά γίνεται εισαγωγή στη γλώσσα HTML και το πρωτόκολλο HTTP, και στις δυνατότητες των φυλλομετρητών, συγκεκριμένα στη γλώσσα προγραμματισμού JavaScript. Κατόπιν το μάθημα ασχολείται με ζητήματα που αφορούν την υλοποίηση των λειτουργιών εισόδου και εξόδου επί της διαδικτυακής πλατφόρμας (HTML, φόρμες εισαγωγής, ανάγνωση παραμέτρων, τρόποι παραγωγής και μορφοποίησης εξόδου HTML). Εν συνεχεία ασχολούμαστε εκτενώς με την πλευρά του διακομιστή (Servlets, JSP) και με μεθοδολογίες και τεχνολογίες για πιο ευέλικτη και γρήγορη ανάπτυξη εφαρμογών. Τέλος γίνεται εισαγωγή στις τεχνολογίες XML (XML, XML Schema, XPath, XSLT).
Μαθησιακοί στόχοι:
Η σχεδόν απανταχούσα δυνατότητα σύνδεσης στο διαδίκτυο και χρήσης φυλλομετρητών του Ιστού έχει καταστήσει επωφελή (αν όχι απαραίτητη) τη χρήση πληροφοριακών συστημάτων μέσω του διαδικτύου. H διαφορά των διαδικτυακών εφαρμογών σε σχέση με τις παραδοσιακές εφαρμογές βρίσκεται στο γεγονός ότι η πλατφόρμα εγκατάστασης και λειτουργίας είναι το διαδίκτυο. Το διαδίκτυο ως πλατφόρμα υποδομής έχει ιδιαίτερα χαρακτηριστικά τα οποία καθιστούν και την ανάπτυξη διαδικτυακών εφαρμογών διαφορετική και ιδιαίτερη. Για παράδειγμα, οι λειτουργίες εισόδου και εξόδου του συστήματος θα πρέπει να υποστηριχθούν μέσω των δυνατοτήτων και των τεχνολογιών που προσφέρουν οι φυλλομετρητές (front-end), ενώ η επιχειρησιακή λογική του συστήματος (που ενδεχομένως να είναι ήδη υλοποιημένη), πρέπει να ενθυλακωθεί ώστε να είναι εκτελέσιμη μέσω των διακομιστών του Ιστού και του state-less πρωτοκόλλου HTTP (back-end). Γενικά, ο διαδικτυακός προγραμματισμός ασχολείται με την ανάπτυξη εφαρμογών στο ανώτερο επίπεδο του TCP/IP πρωτοκόλλου (application layer).
Το μάθημα αυτό αποτελεί μια εισαγωγή στις τεχνολογίες που είναι απαραίτητες για την ανάπτυξη διαδικτυακών εφαρμογών και χωρίζεται σε τρία τμήματα.
Στόχοι Μαθήματος
Κατανόηση του ρόλου του διαδικτύου σαν πλατφόρμα ανάπτυξης λογισμικού ανεξαρτήτου πλατφόρμας
Κατανόηση και γνώση των διαφορών ανάμεσα στο λογισμικό για το διαδίκτυο και το συμβατικό λογισμικό
Εξοικείωση με τις τεχνολογίες λογισμικού στο διαδίκτυο τόσο από την πλευρά του πελάτη (φυλλομετρητές, Javascript) όσο και από την πλευρά του διακομιστή (Servlets, JSP)
Απόκτηση ικανότητας ανάπτυξης μιας ολοκληρωμένης και σύνθετης ιστο-εφαρμογής που αξιοποιεί στο έπακρο τις δυνατότητες και των δύο άκρων (πελάτη και διακομιστή) και του πρωτοκόλλου HTTP.
Αξιολόγηση:
Λεπτομέρειες για την βαθμολόγηση του μαθήματος περιέχονται στην ιστοσελίδα του μαθήματος
Τα μαθήματα του Τμήματος Επιστήμης Υπολογιστών κωδικοποιούνται με τα γράμματα "ΗΥ" και με τρία ψηφία. Το πρώτο ψηφίο δηλώνει το έτος κατά το οποίο συνήθως παρακολουθείται το μάθημα, το δε δεύτερο την επιστημονική περιοχή του μαθήματος:
Πρώτο Ψηφίο
Κανονικό Έτος Παρακολούθησης
1,2,3,4
Πρώτο, Δεύτερο, Τρίτο, Τέταρτο
5,6
Μεταπτυχιακά μαθήματα
7,8,9
Ειδικά θέματα
Δεύτερο Ψηφίο
Επιστημονική Περιοχή
0
Εισαγωγικά - Γενικά
1
Υπόβαθρο (Μαθηματικά, Φυσική)
2
Υλικό και Συστήματα Υπολογιστών
3
Τηλεπικοινωνίες και Δίκτυα
4,5
Συστήματα Λογισμικού και Εφαρμογές
6
Πληροφοριακά Συστήματα
7
Υπολογιστική Όραση και Ρομποτική
8
Αλγοριθμική και Θεωρία Υπολογισμού
9
Ειδικές Εργασίες
Ακολουθούν συνοπτικοί κατάλογοι κατά κατηγορίες των μαθημάτων του προγράμματος βασικών σπουδών του Τμήματος Επιστήμης Υπολογιστών του Πανεπιστημίου Κρήτης. Μαθήματα των οποίων οι κωδικοί αρχίζουν με "ΜΕΜ" ή "ΦΥΣ" διδάσκονται από το Τμήμα Μαθηματικών Εφαρμοσμένων Μαθηματικών ή το Φυσικό αντιστοίχως και αναφέρονται με τους οικείους κωδικούς. Τα προαπαιτούμενα που αναφέρονται μέσα σε παρενθέσεις συνιστώνται έντονα, αλλά δεν είναι υποχρεωτικά.