Changes for page 04. Technické informace

Last modified by Branislav ŠIŠKA on 2024/09/12 19:22

From version 6.1
edited by Branislav ŠIŠKA
on 2023/06/06 14:38
Change comment: There is no comment for this version
To version 9.1
edited by Branislav ŠIŠKA
on 2024/09/12 19:14
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,32 +1,22 @@
1 1  = {{id name="04.Technickéinformace-1.Hardware"/}}1. Hardware =
2 2  
3 -(% style="" %)
4 -Software Clindata běží na počítačovém clusteru umístěném v Institutu molekulární a translační medicíny (IMTM), Lékařské a stomatologické fakulty, Univerzity Palackého v Olomouci. Zařízení je zabezpečeno a pod dohledem globálního sledování.
3 +Software Clindata běží na serverech umístěných v Institutu molekulární a translační medicíny (IMTM), Lékařské a stomatologické fakulty, Univerzity Palackého v Olomouci. Zařízení je zabezpečeno a pod dohledem globálního sledování.
5 5  
6 -(% style="" %)
7 7  === {{id name="04.Technickéinformace-Popishardwaru"/}}**Popis hardwaru** ===
8 8  
9 -**Servery**
7 +**Server zapojený ve virtualizaci proxmox**
10 10  
11 -HPE DL385 Gen10 CTO Mod-X 8SFF Svr
9 +Paměť: 48 GB
12 12  
13 -8x HPE 16GB 2Rx8 PC4-2933Y-R
11 +Procesory: 8 jader
14 14  
15 -2x HPE DL385 Gen10 AMD EPYC 7302
16 -
17 -2x HPE 240GB SATA RI SFF SC DS SSD
18 -
19 19  (% style="color: rgb(55,65,81);" %)**Datová úložiště**
20 20  
21 -HP 3PAR data storage 700TB.
22 -
23 -HP EML tape library
24 -
25 25  (% style="color: rgb(55,65,81);" %)Objektové úložiště
26 26  
27 27  **Firewall**
28 28  
29 -HP F1000-S-EI VPN Firewall
19 +FortiGate 600E
30 30  
31 31  **~ **
32 32  
... ... @@ -45,10 +45,8 @@
45 45  
46 46  (% style="color: rgb(55,65,81);" %)(Aktuální znamená poslední dostupná verze daného prohlížeče)
47 47  
48 -(% style="" %)
49 49  === {{id name="04.Technickéinformace-Programovacíjazyk"/}}Programovací jazyk ===
50 50  
51 -(% style="" %)
52 52  Hlavním programovacím jazykem používaným pro vývoj aplikace Clindata je Java 8. Další technologie používané při vývoji jsou:
53 53  
54 54  * Spring Framework v5.
... ... @@ -62,22 +62,16 @@
62 62  * SQL
63 63  * Oracle database
64 64  
65 -(% style="" %)
66 66  === {{id name="04.Technickéinformace-Operačnísystém"/}}Operační systém ===
67 67  
68 -(% style="" %)
69 -Operační systém nainstalovaný na produkčních serverech je RedHat Enterprise Linux 7.4.
55 +Operační systém nainstalovaný na produkčních serverech je RedHat Enterprise Linux 9.4.
70 70  
71 -(% style="" %)
72 72  === {{id name="04.Technickéinformace-Proxyserver"/}}Proxy server ===
73 73  
74 -(% style="" %)
75 75  Jako brána z vnějšího světa do vnitřní aplikace běžící na produkčním serveru se používá Apache HTTP Server.
76 76  
77 -(% style="" %)
78 78  === {{id name="04.Technickéinformace-Aplikačníserver"/}}Aplikační server ===
79 79  
80 -(% style="" %)
81 81  Aplikace ClinData běží na Apache Tomcat, což je open-source Java Servlet Container vyvíjený nadací Apache Software Foundation.
82 82  
83 83  **~ **
... ... @@ -86,23 +86,21 @@
86 86  
87 87  === {{id name="04.Technickéinformace-DatabázeClindata"/}}Databáze Clindata ===
88 88  
89 -(% style="" %)
90 90  Databáze používaná pro ukládání dat ze softwaru Clindata je Oracle Database (obvykle označovaná jako Oracle RDBMS), kterou vyvíjí společnost Oracle Corporation. Verze databáze je 12.1. Standard Edition.
91 91  
92 -(% style="" %)
93 93  Oracle databáze běží na odděleném serveru založeném na Linuxu, který je chráněn firewallem před vnější sítí (Internetem). Tento databázový server není přístupný zvenčí organizace, ale pouze ze zapsaných vnitřních serverů (aplikační a záložní servery).
94 94  
95 95  = {{id name="04.Technickéinformace-4.Zálohy"/}}4. Zálohy =
96 96  
97 -(% style="" %)
98 98  Existují více úrovní archivace dat, které zajišťují bezpečnost dat a rychlé obnovení databáze. Data jsou archivována na úrovni databáze a operačního systému.
99 99  
100 100  1. Zálohy na úrovni databáze
101 101  Nástroj **RMAN** je nedílnou součástí Oracle databáze. Vytváří binární kopii celé databáze a ukládá ji do souborového systému. Nástroj RMAN je spuštěn každý týden. Soubory jsou uloženy interně na serveru databáze a jsou zkopírovány na dvě nezávislá záložní místa.
102 -**EXPDP/IMPDP** je datová pumpa, která exportuje data do textových záloh. Nástroj EXPDP je spuštěn každé 4 hodiny. Cílem zálohování je stejné jako u RMAN. Data jsou uložena na dvou nezávislých záložních místech.
81 +**EXPDP/IMPDP** je datová pumpa, která exportuje data do textových záloh. Nástroj EXPDP je spuštěn každých 24 hodin. Cílem zálohování je stejné jako u RMAN. Data jsou uložena na dvou nezávislých záložních místech.
103 103  **Redo Logy** jsou každý den archivovány do souborového systému.
104 104  1. Zálohy na úrovni operačního systému
105 -**IBM Tivoli Storage Manager** (TSM Admin) je firemní řešení od společnosti IBM pro zálohy a obnovu fyzických nebo virtuálních serverů. Záloha vytvořená pomocí TSM Admin zahrnuje redo logy, RMAN a EXPDP exporty. Spouští se každý den a záložní data jsou uložena na diskovém poli.
84 +Aplikační server je zálohován na úrovni operačního systému ve virtualizaci **Proxmox**.
85 +\\
106 106  
107 107  RMAN konfigurační soubor
108 108  
... ... @@ -135,19 +135,14 @@
135 135  
136 136  === {{id name="04.Technickéinformace-Zabezpečenépřipojení"/}}Zabezpečené připojení ===
137 137  
138 -(% style="" %)
139 139  Jelikož aplikace Clindata je webová aplikace, je nezbytné zajistit zabezpečenou komunikaci mezi serverem a klientovým počítačem. To je dosaženo pomocí komunikačního protokolu HTTPS, který je šifrován pomocí protokolu Transport Layer Security (TLS). Tento protokol je široce používán pro veškeré bezpečné transakce na internetu (platby, e-maily atd.) a je považován za bezpečný a nedekódovatelný. Chrání proti útokům prostředníka. Komunikace bez bezpečnostní vrstvy (HTTP) může být narušena útočníky, kteří ji mohou odposlouchávat nebo měnit.
140 140  
141 -(% style="" %)
142 142  === {{id name="04.Technickéinformace-Přesměrovánízabezpečení"/}}Přesměrování zabezpečení ===
143 143  
144 -(% style="" %)
145 145  Všechny požadavky uživatele přicházející prostřednictvím nezabezpečeného protokolu HTTP jsou automaticky přesměrovány na zabezpečený protokol HTTPS. Veškerá komunikace mezi klientem a serverem je zabezpečena a není možné se připojit k softwaru Clindata prostřednictvím nezabezpečeného spojení.
146 146  
147 -(% style="" %)
148 148  === {{id name="04.Technickéinformace-Certifikát"/}}Certifikát ===
149 149  
150 -(% style="" %)
151 151  Pro zabezpečenou komunikaci je vyžadován certifikát uložený na webovém serveru. Certifikát musí být podepsán důvěryhodnou certifikační autoritou. Server Clindata používá certifikát, který je digitálně podepsán autoritou TERENA.
152 152  
153 153  = {{id name="04.Technickéinformace-06.Autenzizaceaautorizace"/}}06. Autenzizace a autorizace =
... ... @@ -154,10 +154,8 @@
154 154  
155 155  === {{id name="04.Technickéinformace-Správauživatelů"/}}Správa uživatelů ===
156 156  
157 -(% style="" %)
158 158  Všichni uživatelé používající aplikaci Clindata musí být registrováni před přihlášením. Není možné získat neoprávněný přístup k serveru ani pro demonstrační účely. Existuje specializovaná aplikace pro správu uživatelů - nástroj IMTM Admin.
159 159  
160 -(% style="" %)
161 161  Nástroj Admin je zodpovědný za:
162 162  
163 163  * Správu institucí, společností, nemocnic a jejich oddělení. Může existovat neomezený počet úrovní organizací, například univerzita může mít strukturu univerzita-fakulta-oddělení-laboratoř. Každá úroveň organizace může získat odlišnou sadu oprávnění a rolí. Správa uživatelů. Každý uživatel je identifikován e-mailovou adresou jako přihlašovacím jménem a heslem.
... ... @@ -164,13 +164,10 @@
164 164  * Uživatelé jsou přiřazeni ke svým organizacím. Uživatelé mohou pracovat na více projektech s různými rolemi. To je umožněno pomocí uživatelských profilů. Počet profilů pro jednoho uživatele není omezen. Každý profil může mít odlišnou sadu oprávnění a rolí.
165 165  * Správa rolí a profilů.
166 166  
167 -(% style="" %)
168 168  Databáze Admin s uživatelskými údaji je uložena v Oracle databázi jako samostatné schéma. Přístup k tomuto schématu je omezen pouze pro správce. Server s Oracle databází je oddělen firewallem od veřejné sítě a není přístupný z internetu.
169 169  
170 -(% style="" %)
171 171  Nový účet uživatele může být vytvořen pouze administrátorem. Uživatel nemá možnost vytvořit si účet sám.
172 172  
173 -(% style="" %)
174 174  Následující kroky musí být dodrženy při vytváření nového účtu:
175 175  
176 176  * Nový uživatel požádá vlastníka projektu o vytvoření nového účtu.
... ... @@ -179,45 +179,33 @@
179 179  * Vlastník projektu zkontroluje nastavení účtu a schválí ho.
180 180  * Nový uživatel obdrží přihlašovací údaje a může se přihlásit.
181 181  
182 -(% style="" %)
183 183  === {{id name="04.Technickéinformace-Centrálníautentizačníslužba(CAS)"/}}Centrální autentizační služba (CAS) ===
184 184  
185 -(% style="" %)
186 186  Aplikace Clindata musí být propojena s daty z IMTM Admin k ovládání účtů, rolí a oprávnění. To se provádí integrací technologie CAS do softwaru ClinData. Technologie CAS se skládá z CAS serveru a CAS klienta. CAS server je zodpovědný za ověřování uživatelů a poskytování přístupu k aplikacím. CAS klienti chrání aplikace CAS a získávají identitu povolených uživatelů ze serveru CAS.
187 187  
188 188  = {{id name="04.Technickéinformace-07.Roleaoprávnění"/}}07. Role a oprávnění =
189 189  
190 -(% style="" %)
191 191  === {{id name="04.Technickéinformace-Omezenípřístupu"/}}Omezení přístupu ===
192 192  
193 -(% style="" %)
194 194  Přístup uživatele může být omezen ve dvou různých oblastech:
195 195  
196 196  * omezení přístupu k funkcionalitě ClinData
197 197  * omezení přístupu k datům uloženým v softwaru ClinData
198 198  
199 -(% style="" %)
200 200  Veškerá omezení jsou nastavena v nástroji IMTM Admin.
201 201  
202 -(% style="" %)
203 203  === {{id name="04.Technickéinformace-Omezenífunkcí"/}}Omezení funkcí ===
204 204  
205 -(% style="" %)
206 206  === {{id name="04.Technickéinformace-Oprávnění"/}}Oprávnění ===
207 207  
208 -(% style="" %)
209 209  Oprávnění k přístupu určují, ke kterým objektům v ClinData může uživatel prohlížet nebo je upravovat. Každá funkcionalita v softwaru ClinData je odrážena v odpovídajícím oprávnění, takže přístup ke všem funkcím je kontrolován. Každý uživatel nebo skupina uživatelů může mít přístup k přiděleným nebo omezeným oprávněním.
210 210  
211 -(% style="" %)
212 212  Na obrázku je zobrazeno schéma oprávnění v softwaru ClinData.
213 213  
214 -(% style="" %)
215 215  === {{id name="04.Technickéinformace-Role"/}}Role ===
216 216  
217 -(% style="" %)
218 218  Role jsou virtuální entity, které slouží jako kontejnery pro více oprávnění.
219 219  
220 -(% style="" %)
221 221  Existují předdefinované role a uživatelé nebo skupiny uživatelů mohou být jim přiřazeny. Nejčastěji používané role jsou:
222 222  
223 223  * admin systému ClinData - plný přístup ke všem funkcím v ClinData, žádná omezení, vytváření nových projektů
... ... @@ -226,13 +226,10 @@
226 226  * monitor dat projektu ClinData - přístup ke všem funkcím potřebným pro sledování studie, validaci a dokončení CRFs (formuláře pro sběr dat)
227 227  * prohlížeč dat projektu ClinData - pouze čtení vybraných dat
228 228  
229 -(% style="" %)
230 230  === {{id name="04.Technickéinformace-Omezenídat"/}}Omezení dat ===
231 231  
232 -(% style="" %)
233 233  Výchozí nastavení pro přístup k datům v softwaru ClinData je maximálně omezené. Uživatel vidí pouze data, která sám vložil. Výchozí nastavení neumožňuje vidět žádná data vložená jiným uživatelem. Přístup k ostatním datům musí být explicitně povolen.
234 234  
235 -(% style="" %)
236 236  Tato nastavení lze upravit:
237 237  
238 238  * uživatel vidí pouze svá data
... ... @@ -242,10 +242,8 @@
242 242  
243 243  === {{id name="04.Technickéinformace-Osobníúdaje"/}}Osobní údaje ===
244 244  
245 -(% style="" %)
246 246  Studie nebo registry mohou obsahovat osobní údaje. Přístup k těmto údajům může být omezen pomocí speciálního oprávnění.
247 247  
248 -(% style="" %)
249 249  Tato nastavení lze upravit:
250 250  
251 251  * uživatel vidí osobní údaje
... ... @@ -253,10 +253,8 @@
253 253  
254 254  = {{id name="04.Technickéinformace-8.Logování"/}}8. Logování =
255 255  
256 -(% style="" %)
257 257  Systém ClinData zaznamenává všechny události, které se v systému odehrávají. Administrátor může tyto záznamy procházet v uživatelsky přívětivé formě a analyzovat potenciální problémy, sledovat aktivity uživatelů atd.
258 258  
259 -(% style="" %)
260 260  Existují tři různé typy mechanismů pro zaznamenávání událostí:
261 261  
262 262  * Záznamy softwaru se provádějí na úrovni programovacího jazyka a jsou velmi podrobné. Soubory se záznamy obsahují údaje o vnitřním stavu celého systému v době události. Tento přístup slouží pro podrobnou analýzu problémů, které se v minulosti vyskytly.
... ... @@ -274,57 +274,40 @@
274 274  ** co bylo změněno
275 275  ** jaká je nová hodnota
276 276  
277 -(% style="" %)
278 278  Důležitou informací je, že systém ClinData neodstraňuje žádné záznamy. Každý záznam v databázi má systémový příznak AKTIVNÍ. Smazání řádku pouze nastaví tento příznak AKTIVNÍ na hodnotu false. Neaktivní řádky se nezobrazují ve softwaru ClinData, ale stále jsou uloženy v databázi.
279 279  
280 280  = {{id name="04.Technickéinformace-9.Vývojsoftwaru"/}}9. Vývoj softwaru =
281 281  
282 -(% style="" %)
283 283  === {{id name="04.Technickéinformace-Sledováníproblémů"/}}Sledování problémů ===
284 284  
285 -(% style="" %)
286 286  Jakýkoli problém nalezený ve softwaru ClinData je zdokumentován a vytvořen jako nový problém v softwaru JIRA. JIRA software je vyvíjen společností Atlassian a slouží jako nástroj pro sledování problémů. Nový problém je analyzován a je mu přiřazena priorita. Seznam problémů je řazen podle priorit a zpracováván vývojáři. Pokud je závažný problém opraven, je publikován ve nové verzi softwaru ClinData. Problém je také uzavřen jako vyřešený v JIRA.
287 287  
288 -(% style="" %)
289 289  === {{id name="04.Technickéinformace-Správazměn"/}}Správa změn ===
290 290  
291 -(% style="" %)
292 292  Všechny požadavky na změny plánované ve softwaru ClinData jsou uloženy v JIRA. Když přichází nový požadavek, je analyzován, provedena časová odhad a přiřazena priorita. Seznam problémů je řazen podle priorit a zpracováván vývojáři.
293 293  
294 -(% style="" %)
295 295  === {{id name="04.Technickéinformace-Verzování"/}}Verzování ===
296 296  
297 -(% style="" %)
298 298  Zdrojový kód softwaru ClinData je uložen v repozitáři GIT, který umožňuje sledování změn v souborech. Je možné procházet historii libovolného souboru se zdrojovým kódem v repozitáři. Každá změna je také zdokumentována, aby bylo snadné pochopit vývojový cyklus.
299 299  
300 -(% style="" %)
301 301  === {{id name="04.Technickéinformace-Revizekódu"/}}Revize kódu ===
302 302  
303 -(% style="" %)
304 304  Jakákoliv změna provedená ve zdrojovém kódu softwaru ClinData musí být zkontrolována jiným vývojářem. Tento proces se nazývá revize kódu. Tento proces minimalizuje počet chyb ve zdrojovém kódu, protože vše je dvojnásobně zkontrolováno. Pro revize kódu se používá software Bitbucket (vyvinutý společností Atlassian). Tento software brání vývojářům v používání neprokázaného kódu ve veřejných verzích softwaru ClinData.
305 305  
306 306  = {{id name="04.Technickéinformace-10.Zajišteníkvality"/}}10. Zajištení kvality =
307 307  
308 -(% style="" %)
309 309  === {{id name="04.Technickéinformace-Testovacíprostředí"/}}Testovací prostředí ===
310 310  
311 -(% style="" %)
312 312  Všechny nové verze softwaru ClinData musí být otestovány a ověřeny jako funkční a správné před jejich zveřejněním. Existuje zvláštní prostředí, které se používá k testování nové verze před jejím zveřejněním. Testovací prostředí musí být podobné produkčnímu prostředí, aby se předešlo problémům s konfigurací.
313 313  
314 -(% style="" %)
315 315  === {{id name="04.Technickéinformace-Unittestování"/}}Unit testování ===
316 316  
317 -(% style="" %)
318 318  Unit testování je metoda testování softwaru, při které jsou testovány jednotlivé části zdrojového kódu, aby se zjistilo, zda jsou vhodné k použití. Ve zdrojovém kódu softwaru ClinData existuje více než tisíc unit testů. Všechny kritické části zdrojového kódu jsou pokryty unit testem téměř na 100 %. Celkový zdrojový kód je pokryt unit testem více než 85 %. Jakýkoli problém v unit testování je blokující pro zveřejnění verze softwaru.
319 319  
320 -(% style="" %)
321 321  === {{id name="04.Technickéinformace-Testováníaplikace"/}}Testování aplikace ===
322 322  
323 -(% style="" %)
324 324  Celá aplikace je testována prostřednictvím průzkumného testování aplikace před jejím zveřejněním. Testování aplikace se provádí v testovacím prostředí. Jakýkoli problém při testování aplikace je blokující pro zveřejnění verze.
325 325  
326 -(% style="" %)
327 327  === {{id name="04.Technickéinformace-Zveřejnění"/}}Zveřejnění ===
328 328  
329 -(% style="" %)
330 330  Proces zveřejnění znamená, že nová verze softwaru ClinData je uvolněna a zpřístupněna uživatelům. Pro sestavení a zveřejnění nových verzí se používá software Bamboo (vyvinutý společností Atlassian). Jednotkové testování je také součástí procesu zveřejnění nové verze. V případě jakéhokoli problému v jednotkovém testování je celý proces zveřejnění přerušen a zodpovědným osobám je zasláno oznámení emailem.
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -153059345
1 +153059354