Aplikacje internetowe i rozproszone
 
Kod kursu:
 INE 5316
 Autor przedmiotu: dr hab. inż. Henryk Maciejewski
 Zespół dydaktyczny: 

 dr inż. Marek Woda

 

 
Wymiar godzin
(tygodniowo)
WykładĆwiczeniaLaboratoriumProjektSeminarium
20000

 

 

 

Opis kursu:

 

Kurs poświęcony jest tworzeniu aplikacji w środowiskach rozproszonych, w tym aplikacji internetowych. Omówione są metody i narzędzia umożliwiające wykorzystania środowisk rozproszonych do budowania aplikacji intensywnych obliczeniowo (klastry o wysokiej mocy obliczeniowej HPC - w oparciu o standard MPI). Przedstawione są także wybrane technologie server-side i client-side wykorzystywane w budowie aplikacji internetowych. Omówiony jest język Python oraz framework Django. Przedstawiona jest także biblioteka Wt, umożliwiająca budowanie aplikacji z GUI w przeglądarce bez programowania w JS. 

 

 

Zawartość tematyczna wykładu:

    • Aplikacje intensywnie obliczeniowe w środowiskach klastrowych; klastry HPC; standard MPI, Apache Spark

    • Protokół HTTP

    • Technologie po stronie serwera (standardy: CGI, FastCGI, WSGI, SSE, WebSockets, ...)

    • Python, framework Django, framework Flask

    • Technologie po stronie klienta (JS, AJAX, Comet, jQuery, AngularJS)

    • Aplikacje webowe z GUI nie korzystającym z JS -- biblioteka Wt

 

Literatura podstawowa:

    • M. Ben-Ari, "Podstawy programowania współbieżnego i rozproszonego", WNT 2009.

    • G. Coulouris, J. Dollimore, T. Kindberg, "Systemy rozproszone, podstawy i projektowanie", WNT 1998.

    • Message Passing Interface Standard (http://www.mcs.anl.gov/research/projects/mpi)

    • Implementacja MPICH (http://www.mcs.anl.gov/research/projects/mpich2)

    • Dokumentacja języka Python (www.python.org).

    • Dokumentacja frameworka Django (http://www.djangoproject.com).

    • Dokumentacja biblioteki Wt (http://www.webtoolkit.eu/wt).