Architektura systému » Historie » Revize 22
Revize 21 (Ondřej Váně, 2020-03-24 10:51) → Revize 22/41 (Ondřej Váně, 2020-03-24 11:01)
h1. Architektura systému * Systému bude rozdělen do třech základních částí, které mezi sebou budou komunikovat pomocí REST API (JSON). ** Frontend - Angular, TypeScript ** Backend - Spring, Java ** Souborová databáze - Apache Solr * Každá jednotlivá část bude spuštěna v dockeru kontejneru. * Architektura systému je znázorněna na obrázku níže. !architecture.png! h1. Komunikační protokol v.1 * Jednotlivé zprávy budou zasílány ve fromátu JSON * Komunikace bude probíhat pomocí HTTP protokolu * Budou využívány návratové HTTP kódy stavů (200, 400, 500, atd.) - později bude upřesněno * Návrh komunikace na obrázku níže, !kom_protokol.png! * Struktura jednotlivých zpráv ** Query message: <pre><code class="json"> { "query": "hledaný výraz", "date": "čas odeslání dotazu" } </code></pre> ** Query to Solr message: <pre><code class="json"> { "query": "Pole pro vyhledávání : hledaný výraz" } </code></pre> ** Query result from Solr: <pre><code class="json"> { "IdDocument":"id dokumentu", "TextRegion":{ "IdDocument": "id dokumentu" "TextRegion": { "PlainText":"text region", "Coords":"koordináty regionu", "TextLine":[ line 1", "Coords": "koordináty" }, "TextLine": [ { "PlainText":"text line 1", "Coords": "koordináty" }, { "PlainText":"text line 1", "Coords": "koordináty" } ], "TextWord":[ { "PlainText":"text line", word 1", "Coords":"koordináty řádky", "Coords": "koordináty" }, { "TextWord":[ { "PlainText":"text word", "Coords":"koordináty slova" } word 2", ] } "Coords": "koordináty" ] } } ]} </code></pre> ** Query response: <pre><code class="json"> { "query": "hledaný výraz", "date": "čas odeslání dotazu" } </code></pre>