Architektura systému » Historie » Verze 21
Ondřej Váně, 2020-03-24 10:51
1 | 1 | Ondřej Váně | h1. Architektura systému |
---|---|---|---|
2 | 2 | Ondřej Váně | |
3 | 5 | Ondřej Váně | * Systému bude rozdělen do třech základních částí, které mezi sebou budou komunikovat pomocí REST API (JSON). |
4 | 6 | Ondřej Váně | ** Frontend - Angular, TypeScript |
5 | ** Backend - Spring, Java |
||
6 | ** Souborová databáze - Apache Solr |
||
7 | 7 | Ondřej Váně | * Každá jednotlivá část bude spuštěna v dockeru kontejneru. |
8 | 8 | Ondřej Váně | * Architektura systému je znázorněna na obrázku níže. |
9 | 3 | Ondřej Váně | |
10 | 4 | Ondřej Váně | !architecture.png! |
11 | 9 | Ondřej Váně | |
12 | 10 | Ondřej Váně | h1. Komunikační protokol v.1 |
13 | 11 | Ondřej Váně | |
14 | * Jednotlivé zprávy budou zasílány ve fromátu JSON |
||
15 | * Komunikace bude probíhat pomocí HTTP protokolu |
||
16 | * Budou využívány návratové HTTP kódy stavů (200, 400, 500, atd.) - později bude upřesněno |
||
17 | * Návrh komunikace na obrázku níže, |
||
18 | |||
19 | !kom_protokol.png! |
||
20 | 12 | Ondřej Váně | |
21 | * Struktura jednotlivých zpráv |
||
22 | ** Query message: |
||
23 | 14 | Ondřej Váně | <pre><code class="json"> |
24 | { |
||
25 | 15 | Ondřej Váně | "query": "hledaný výraz", |
26 | "date": "čas odeslání dotazu" |
||
27 | |||
28 | } |
||
29 | </code></pre> |
||
30 | ** Query to Solr message: |
||
31 | <pre><code class="json"> |
||
32 | { |
||
33 | 17 | Ondřej Váně | "query": "Pole pro vyhledávání : hledaný výraz" |
34 | 15 | Ondřej Váně | |
35 | } |
||
36 | </code></pre> |
||
37 | ** Query result from Solr: |
||
38 | <pre><code class="json"> |
||
39 | 19 | Ondřej Váně | { |
40 | 20 | Ondřej Váně | "IdDocument": "id dokumentu" |
41 | 21 | Ondřej Váně | "TextRegion": |
42 | 16 | Ondřej Váně | { |
43 | 20 | Ondřej Váně | "PlainText":"text line 1", |
44 | 21 | Ondřej Váně | "Coords": "koordináty" |
45 | 16 | Ondřej Váně | }, |
46 | 21 | Ondřej Váně | "TextLine": [ |
47 | 16 | Ondřej Váně | { |
48 | 21 | Ondřej Váně | "PlainText":"text line 1", |
49 | "Coords": "koordináty" |
||
50 | 16 | Ondřej Váně | }, |
51 | { |
||
52 | 21 | Ondřej Váně | "PlainText":"text line 1", |
53 | "Coords": "koordináty" |
||
54 | 16 | Ondřej Váně | } |
55 | ], |
||
56 | 21 | Ondřej Váně | "TextWord":[ |
57 | 16 | Ondřej Váně | { |
58 | 21 | Ondřej Váně | "PlainText":"text word 1", |
59 | "Coords": "koordináty" |
||
60 | 16 | Ondřej Váně | }, |
61 | { |
||
62 | 21 | Ondřej Váně | "PlainText":"text word 2", |
63 | "Coords": "koordináty" |
||
64 | 16 | Ondřej Váně | } |
65 | 19 | Ondřej Váně | ]} |
66 | 15 | Ondřej Váně | </code></pre> |
67 | |||
68 | ** Query response: |
||
69 | <pre><code class="json"> |
||
70 | { |
||
71 | "query": "hledaný výraz", |
||
72 | "date": "čas odeslání dotazu" |
||
73 | 14 | Ondřej Váně | |
74 | } |
||
75 | 13 | Ondřej Váně | </code></pre> |