Mercurial > kraina_muminkow
view frontend/doc/koncepcja.rst @ 28:d017e2ab3027
Poprawki z rana 23 maja, prezentacja django-flask
author | Michał Rudowicz <michal.rudowicz@fl9.eu> |
---|---|
date | Mon, 23 May 2011 12:49:48 +0200 |
parents | |
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.