Architektura systému » Historie » Revize 21
Revize 20 (Ondřej Váně, 2020-03-24 10:50) → Revize 21/41 (Ondřej Váně, 2020-03-24 10:51)
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": ;TextRegion": { "PlainText":"text line 1", "Coords": Coords: "koordináty" }, "TextLine": TextLine: [ { "PlainText":"text PlainText:"text line 1", "Coords": Coords: "koordináty" }, { "PlainText":"text PlainText:"text line 1", "Coords": Coords: "koordináty" } ], "TextWord":[ TextWord:[ { "PlainText":"text PlainText:"text word 1", "Coords": Coords: "koordináty" }, { "PlainText":"text PlainText:"text word 2", "Coords": Coords: "koordináty" } ]} </code></pre> ** Query response: <pre><code class="json"> { "query": "hledaný výraz", "date": "čas odeslání dotazu" } </code></pre>