Projekt

Obecné

Profil

Architektura systému » Historie » Verze 18

Ondřej Váně, 2020-03-24 10:49

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 18 Ondřej Váně
23 12 Ondřej Váně
** Query message:
24 14 Ondřej Váně
<pre><code class="json">
25
{ 
26 15 Ondřej Váně
	"query": "hledaný výraz", 
27
	"date": "čas odeslání dotazu" 
28
	
29
}
30
</code></pre>
31
32
** Query to Solr message:
33
<pre><code class="json">
34
{ 
35 17 Ondřej Váně
	"query": "Pole pro vyhledávání : hledaný výraz"
36 15 Ondřej Váně
	
37
}
38
</code></pre>
39
40
** Query result from Solr:
41
<pre><code class="json">
42 16 Ondřej Váně
IdDocumnet: "id dokumentu"
43
TextRegion: 
44
    {
45
    PlainText:"text line 1",
46
    Coords: "koordináty"
47
    },
48
TextLine: [ 
49
    {
50
        PlainText:"text line 1",
51
        Coords: "koordináty"
52
    },
53
    {
54
        PlainText:"text line 1",
55
        Coords: "koordináty"
56
    }
57
    ],
58
TextWord:[
59
     {
60
            PlainText:"text word 1",
61
            Coords: "koordináty"
62
      },
63
      {
64
            PlainText:"text word 2",
65
            Coords: "koordináty"
66
      }
67
 ]
68 15 Ondřej Váně
</code></pre>
69
70
** Query response:
71
<pre><code class="json">
72
{ 
73
	"query": "hledaný výraz", 
74
	"date": "čas odeslání dotazu" 
75 14 Ondřej Váně
	
76
}
77 13 Ondřej Váně
</code></pre>