comparison 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
comparison
equal deleted inserted replaced
27:6a9e2b3b4398 28:d017e2ab3027
1 Koncepcja
2 =========
3
4 Projekt koncepcyjny
5 -------------------
6
7 Aplikacja składa się z trzech modułów:
8
9 * Strony klienta
10 * Serwera aplikacji
11 * Aplikacji rozproszonej
12
13 Moduły aplikacji
14 ----------------
15
16 Aplikacja rozproszona
17 ^^^^^^^^^^^^^^^^^^^^^
18
19 Aplikacja rozproszona składa się z komputera pełniącego rolę
20 mastera oraz przynajmniej dwóch komputerów pełniących rolę
21 slave.
22
23 Po pobraniu zadania w formacie CSV master przesyła komputerom pełniącym rolę
24 slave za pomocą metody broadcast fragmenty zadania. Po przetworzeniu
25 swojego fragmentu slave wysyła wynik do komputera pełniącego rolę
26 mastera, który w przypadku istnienia dalszych nieprzetworzonych
27 fragmentów zadania przesyła je do komputera slave. Jednocześnie
28 uaktualnia informacje o zadaniu na serwerze aplikacji.
29
30 W przypadku zakończenia zadania master przesyła całościowy wynik
31 do serwera aplikacji i informuje komputery pełniące rolę slave o
32 zakończeniu operacji.
33
34 Do komunikacji master-slave wykorzystywana jest technologia
35 MPICH.
36
37 Serwer aplikacji
38 ^^^^^^^^^^^^^^^^
39
40 Serwer aplikacji udostępnia łatwy w użyciu interfejs dla
41 aplikacji rozproszonej umożliwiający pobieranie i aktualizowanie
42 informacji w bazie danych przy pomocy zapytań typu GET i POST
43 w protokole HTTP.
44
45 Serwer aplikacji wykorzystuje język Python wraz z frameworkiem
46 Flask, natomiast do obsługi bazy danych wykorzystywany jest
47 Sqlite.
48
49 Z bazą danych komunikuje się tylko i wyłącznie serwer aplikacji.
50
51 Strona klienta
52 ^^^^^^^^^^^^^^
53
54 Strona klienta została napisana w języku HTML z użyciem CSS i
55 JavaScript. Jest ona udostepniana przez serwer aplikacji przy
56 użyciu protokołu HTTP. Strona klienta umożliwia dodawanie nowych
57 zadań oraz przeglądanie zadań w systemie, pokazując ich stan,
58 procent ukończenia i informację o wyniku.