Κατανεμημένες Διαδικτυακές Εφαρμογές

Σκοπός μαθήματος

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

Στόχοι μαθήματος

Μετά την ολοκλήρωση του μαθήματος οι φοιτητές θα πρέπει να είναι ικανοί να:

  • Εφαρμόζουν βασικές αρχές σχεδίασης για ταυτοχρονισμό (concurrency) και συγχρονισμό (synchronization)
  • Αναγνωρίζουν εναλλακτικά παραδείγματα και τεχνολογίες κατανεμημένων συστημάτων
  • Σχεδιάζουν κατανεμημένες εφαρμογές με βάση σύγχρονα μοντέλα κύκλου ζωής λογισμικού
  • Αναπτύσσουν κατανεμημένες εφαρμογές αξιοποιώντας σύγχρονα πλαίσια και εργαλεία ανάπτυξης
  • Επιλέγουν κατάλληλες τεχνολογίες μεσισμικού και ολοκλήρωσης για την ανάπτυξη συγκεκριμένων κατανεμημένων εφαρμογών
  • Αξιοποιούν χαρακτηριστικά ασφάλειας και αξιοπιστίας κατά τη σχεδίαση κατανεμημένων εφαρμογών
  • Να σχεδιάζουν και να δημοσιεύουν υπηρεσίες ως δομικά στοιχεία υπηρεσιοστραφών εφαρμογών

Περιγραφή μαθήματος

Στο πλαίσιο του μαθήματος εξετάζονται θεμελιώδεις έννοιες των Κατανεμημένων Συστημάτων, οι οποίες αποτελούν τη βάση του σχεδιασμού και της ανάπτυξης κατανεμημένων εφαρμογών. Πιο συγκεκριμένα, μελετώνται αρχιτεκτονικές κατανεμημένων συστημάτων, σύγχρονα μοντέλα και τεχνολογίες μεσισμικού (middleware), τεχνολογίες ολοκλήρωσης (integration technologies). Επίσης, συζητούνται θέματα συγχρονισμού και ασφάλειας.

Βιβλιογραφία

  1. A. Tanenbaum, M. Steen, «Κατανεμημένα Συστήματα», Κλειδάριθμος, 2005.
  2. G. Coulouris, J. Dollimore, T. Kindberg, “Distributed Systems: Concepts and Design, 4th Edition, Addison Wesley, 2005.
  3. Ι. Κάβουρας, Ι. Μήλης, Γ. Ξυλωμένος, Κ. Ρουκουνάκη, «Κατανεμημένα Συστήματα με Java”, Κλειδάριθμος, 2005.
  4. Y. Chen, W.T. Tsai, Service-Oriented Computing and Web Software Integration, Third Edition, Kendall/Hunt Publishing, 2011