Προγραμματιστικές Εφαρμογές στο Διαδίκτυο

E-mail Εκτύπωση PDF
Εβδομαδιαίες ώρες διδασκαλίας:            2 θεωρία + 1 Ασκήσεις Πράξης + 2 εργαστήριο
Τυπικό εξάμηνο διδασκαλίας:            Ζ΄

Διδασκαλία: Η διδασκαλία του μαθήματος έχει τη μορφή 15 διαλέξεων και ισάριθμων εργαστηριακών ασκήσεων, στο πλαίσιο των οποίων υπάρχει η δυνατότητα ανάληψης εργασιών.

Ενδεικτικά προαπαιτούμενα: Λειτουργικά Συστήματα, Δομημένος & Αντικειμενοστραφής Προγραμματισμός. Βάσεις Δεδομένων. 

Διδακτικές μονάδες: 7

 

 

Σκοπός και στόχοι του μαθήματος:

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

Περίγραμμα μαθήματος:

  • Συντονισμός αποκεντρωμένων αυτόνομων υπολογιστικών συστημάτων μέσω ενός επικοινωνιακού υποδικτύου για την επίτευξη ενός κοινού έργου. Αρχιτεκτονικές, μετάδοση μηνυμάτων (message passing), remote procedure calls, ανίχνευση deadlocks, concurrency,  διαχείριση πόρων.
  • Λογισμικό πρωτοκόλλων δικτύων. Ιεραρχίες πρωτοκόλλων. Σχεδιασμός των επιπέδων. Service Primitives. Σχέση υπηρεσιών και πρωτοκόλλων. Xρήση socket system calls. Η χρήση remote procedure calls. Ένα παράδειγμα εφαρμογής client – server.
  • Πλατφόρμες κατανεμημένου προγραμματισμού (CORBA, DCOM). To μοντέλο 3 επιπέδων (3-tier architecture). Ενεργά δίκτυα και πακέτα. Προγραμματισμός με χρήση πρακτόρων (mobile agents, intelligent agents, κτλ.).
  • Χρήση της Java για την ανάπτυξη εφαρμογών για ηλεκτρονικό εμπόριο, enterprise computing και άλλων εφαρμογών που απαιτούν πρόσβαση πόρων μέσα από το web.
  • Τεχνικές για την ανάπτυξη εφαρμογών βάσεων δεδομένων 3 επιπέδων, μέθοδοι για την διατήρηση καταστάσεων μεταξύ συνόδων HTTP, και στρατηγικές για εξασφάλιση ασφαλών συναλλαγών.
  • Προγραμματισμός HTML φoρμών και Java applets σαν διεπαφές σε προγράμματα CGI. Active Server Pages, Java Server Pages, Enterprise Java Beans. Δικτυακός προγραμματισμός με Java socket stream interface και RMI.
  • XML και .ΝΕΤ
  • Παράλληλη και κατανεμημένη επεξεργασία. Παράλληλοι και Κατανεμημένοι αλγόριθμοι και λογισμικό.
  • Νομαδική Υπολογιστική: Λειτουργικά συστήματα, βάσεις δεδομένων και συστήματα αρχείων (σύστημα Coda και η πλατφόρμα AURA), απαιτήσεις εφαρμογών και σχεδιασμός, τεχνολογίες φορητών συσκευών.

Βασική Βιβλιογραφία:

  • Douglas C. Schmidt (Author), Stephen D. Huston (Author), C++ Network Programming, Vol. 1: Mastering Complexity with ACE and Patterns, Addison-Wesley Pub Co; 1st edition (December 10, 2001) ISBN: 0201604647
  • W. Richard Stevens (Author), UNIX Network Programming, Prentice Hall PTR; 2nd edition (January 15, 1998) ISBN: 013490012X
  • Chris Britton (Author), IT Architectures and Middleware: Strategies for Building Large, Integrated Systems, Addison-Wesley Pub Co; 1st edition (December 15, 2000) ISBN: 0201709074
  • Andrew S. Tanenbaum (Author), Maarten van Steen (Author), Distributed Systems: Principles and Paradigms, Prentice Hall; 1st edition (January 15, 2002), ISBN: 0130888931

Συμπληρωματική Βιβλιογραφία:

  • Elliotte Rusty Harold, Java Network Programming (Java Series), O'Reilly & Associates; 2nd edition (August 2000) ISBN: 1565928709
  • W. Richard Stevens (Author), UNIX Network Programming, Volume 2: Interprocess Communications (2nd Edition), Prentice Hall PTR; 2nd edition (August 25, 1998), ISBN: 0130810819
  • Doug Lowe, David Helda, Client/Server Computing For Dummies®, , Hungry Minds, Inc; 3rd edition (February 1999), ASIN: 0764504762
  • Jeff Magee (Author), Jeff Kramer (Author), Concurrency: State Models & Java Programs, John Wiley & Sons; Book and CD-ROM edition (April 16, 1999), ISBN: 0471987107
  • Jason Pritchard (Author), COM and CORBA(R) Side by Side: Architectures, Strategies, and Implementations, Addison-Wesley Pub Co; 1st edition (July 15, 1999), ISBN: 0201379457
  • Lonnie Wall, Andrew Lader, Building Web Services and .NET Applications, McGraw-Hill Osborne Media; 1st edition (March 18, 2002), ISBN: 0072130474
  • Doug Lea (Author), Concurrent Programming in Java(TM): Design Principles and Pattern (2nd Edition), Addison-Wesley Pub Co; 2nd edition (November 5, 1999), ISBN: 0201310090
  • David G. Messerschmitt, Networked Applications: A Guide to the New Computing Infrastructure, Morgan Kaufmann; 1st edition (April 15, 1999), ISBN: 1558605363
  • Mohamed E. Fayad (Editor), Douglas C. Schmidt (Editor), Ralph E. Johnson (Editor), Building Application Frameworks : Object-Oriented Foundations of Framework Design, John Wiley & Sons; 1 edition (September 13, 1999), ISBN: 0471248754
  • Amjad Umar, E-Business and Distributed Systems Handbook: Middleware Module, www.amjadumar.com; (May 2003), ISBN: 0972741488

 

Ηλεκτρονικές Υπηρεσίες