Project architecture » Historie » Verze 3
Alex Konig, 2021-04-15 18:58
1 | 1 | Alex Konig | h1. Project architecture |
---|---|---|---|
2 | |||
3 | 2 | Alex Konig | The application consists of two parts |
4 | 1 | Alex Konig | |
5 | 2 | Alex Konig | * Server |
6 | * Client application |
||
7 | 1 | Alex Konig | |
8 | 2 | Alex Konig | h1. Server architecture |
9 | |||
10 | In the following text will be specified the communication between parts of the server application. |
||
11 | |||
12 | In the simple visualisation below are displayed the relevant classes and requests that take place between packages. |
||
13 | |||
14 | * Model asks parser for information acquired from data |
||
15 | * Parser asks data downloader for path to folder containing data |
||
16 | |||
17 | The path to data folder itself is specified from user as a command line argument upon launching the application. |
||
18 | |||
19 | 1 | Alex Konig | !basic_architecture.png! |
20 | |||
21 | h2. Model architecture |
||
22 | |||
23 | h2. Interface model-parser |
||
24 | |||
25 | 2 | Alex Konig | Handing over information in lists containing separate entries. |
26 | |||
27 | Method Parse() enables specifying the interval by which to divide the days. By default parses one day as one entry. |
||
28 | |||
29 | 3 | Alex Konig | For example if a day is divided with a 3h interval for each day are created entries for the following times |
30 | 1 | Alex Konig | |
31 | 3 | Alex Konig | * 7-10 |
32 | * 10-13 |
||
33 | * 13-16 |
||
34 | * 16-19 |
||
35 | 1 | Alex Konig | |
36 | h2. Parser architecture |
||
37 | |||
38 | 3 | Alex Konig | Output from parser is relatively universal, The one thing that is not are zcu specific building tags. Those are noted in TagInfo and could be replaced by different ones. |
39 | 1 | Alex Konig | |
40 | 3 | Alex Konig | Interesting classes to note are: |
41 | 1 | Alex Konig | |
42 | 3 | Alex Konig | h3. Csv loader |
43 | 1 | Alex Konig | |
44 | 3 | Alex Konig | Class responsible for loading input data files into memory. Can be swapped for a class processing different types of files as long as it provides the same methods. |
45 | |||
46 | h3. TagInfo |
||
47 | |||
48 | Class used for mapping tags. Can be easily modified for different input data. |
||
49 | |||
50 | 1 | Alex Konig | |
51 | !parser_architecture.png! |
||
52 | |||
53 | 2 | Alex Konig | h2. Interface parser-downloader |
54 | 1 | Alex Konig | |
55 | 2 | Alex Konig | Parser asks for folder with data files. |
56 | |||
57 | 1 | Alex Konig | h2. Loader architecture |
58 | 2 | Alex Konig | |
59 | Has to be able to handle request signaling dowload of new data, and requests for path to folder with data. |
||
60 | |||
61 | h1. Client application architecture |
||
62 | |||
63 | |||
64 | |||
65 | h1. Communication server-client |