Mercurial > kraina_muminkow
view frontend/doc/koncepcja.rst @ 30:50708627f3c7
Ukończona strona klienta
author | mild@mild-laptop |
---|---|
date | Sun, 05 Jun 2011 23:10:18 +0200 |
parents | d017e2ab3027 |
children |
line wrap: on
line source
Koncepcja ========= Projekt koncepcyjny ------------------- Aplikacja składa się z trzech modułów: * Strony klienta * Serwera aplikacji * Aplikacji rozproszonej Moduły aplikacji ---------------- Aplikacja rozproszona ^^^^^^^^^^^^^^^^^^^^^ Aplikacja rozproszona składa się z komputera pełniącego rolę mastera oraz przynajmniej dwóch komputerów pełniących rolę slave. Po pobraniu zadania w formacie CSV master przesyła komputerom pełniącym rolę slave za pomocą metody broadcast fragmenty zadania. Po przetworzeniu swojego fragmentu slave wysyła wynik do komputera pełniącego rolę mastera, który w przypadku istnienia dalszych nieprzetworzonych fragmentów zadania przesyła je do komputera slave. Jednocześnie uaktualnia informacje o zadaniu na serwerze aplikacji. W przypadku zakończenia zadania master przesyła całościowy wynik do serwera aplikacji i informuje komputery pełniące rolę slave o zakończeniu operacji. Do komunikacji master-slave wykorzystywana jest technologia MPICH. Serwer aplikacji ^^^^^^^^^^^^^^^^ Serwer aplikacji udostępnia łatwy w użyciu interfejs dla aplikacji rozproszonej umożliwiający pobieranie i aktualizowanie informacji w bazie danych przy pomocy zapytań typu GET i POST w protokole HTTP. Serwer aplikacji wykorzystuje język Python wraz z frameworkiem Flask, natomiast do obsługi bazy danych wykorzystywany jest Sqlite. Z bazą danych komunikuje się tylko i wyłącznie serwer aplikacji. Strona klienta ^^^^^^^^^^^^^^ Strona klienta została napisana w języku HTML z użyciem CSS i JavaScript. Jest ona udostepniana przez serwer aplikacji przy użyciu protokołu HTTP. Strona klienta umożliwia dodawanie nowych zadań oraz przeglądanie zadań w systemie, pokazując ich stan, procent ukończenia i informację o wyniku.