Changes for page 04. Technické informace

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

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

Summary

Details

Page properties
Content
... ... @@ -1,22 +1,32 @@
1 1  = {{id name="04.Technickéinformace-1.Hardware"/}}1. Hardware =
2 2  
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í.
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í.
4 4  
6 +(% style="" %)
5 5  === {{id name="04.Technickéinformace-Popishardwaru"/}}**Popis hardwaru** ===
6 6  
7 -**Server zapojený ve virtualizaci proxmox**
9 +**Servery**
8 8  
9 -Paměť: 48 GB
11 +HPE DL385 Gen10 CTO Mod-X 8SFF Svr
10 10  
11 -Procesory: 8 jader
13 +8x HPE 16GB 2Rx8 PC4-2933Y-R
12 12  
15 +2x HPE DL385 Gen10 AMD EPYC 7302
16 +
17 +2x HPE 240GB SATA RI SFF SC DS SSD
18 +
13 13  (% style="color: rgb(55,65,81);" %)**Datová úložiště**
14 14  
21 +HP 3PAR data storage 700TB.
22 +
23 +HP EML tape library
24 +
15 15  (% style="color: rgb(55,65,81);" %)Objektové úložiště
16 16  
17 17  **Firewall**
18 18  
19 -FortiGate 600E
29 +HP F1000-S-EI VPN Firewall
20 20  
21 21  **~ **
22 22  
... ... @@ -35,8 +35,10 @@
35 35  
36 36  (% style="color: rgb(55,65,81);" %)(Aktuální znamená poslední dostupná verze daného prohlížeče)
37 37  
48 +(% style="" %)
38 38  === {{id name="04.Technickéinformace-Programovacíjazyk"/}}Programovací jazyk ===
39 39  
51 +(% style="" %)
40 40  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:
41 41  
42 42  * Spring Framework v5.
... ... @@ -50,16 +50,22 @@
50 50  * SQL
51 51  * Oracle database
52 52  
65 +(% style="" %)
53 53  === {{id name="04.Technickéinformace-Operačnísystém"/}}Operační systém ===
54 54  
55 -Operační systém nainstalovaný na produkčních serverech je RedHat Enterprise Linux 9.4.
68 +(% style="" %)
69 +Operační systém nainstalovaný na produkčních serverech je RedHat Enterprise Linux 7.4.
56 56  
71 +(% style="" %)
57 57  === {{id name="04.Technickéinformace-Proxyserver"/}}Proxy server ===
58 58  
74 +(% style="" %)
59 59  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.
60 60  
77 +(% style="" %)
61 61  === {{id name="04.Technickéinformace-Aplikačníserver"/}}Aplikační server ===
62 62  
80 +(% style="" %)
63 63  Aplikace ClinData běží na Apache Tomcat, což je open-source Java Servlet Container vyvíjený nadací Apache Software Foundation.
64 64  
65 65  **~ **
... ... @@ -68,12 +68,15 @@
68 68  
69 69  === {{id name="04.Technickéinformace-DatabázeClindata"/}}Databáze Clindata ===
70 70  
89 +(% style="" %)
71 71  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.
72 72  
92 +(% style="" %)
73 73  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).
74 74  
75 75  = {{id name="04.Technickéinformace-4.Zálohy"/}}4. Zálohy =
76 76  
97 +(% style="" %)
77 77  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.
78 78  
79 79  1. Zálohy na úrovni databáze
... ... @@ -114,14 +114,19 @@
114 114  
115 115  === {{id name="04.Technickéinformace-Zabezpečenépřipojení"/}}Zabezpečené připojení ===
116 116  
138 +(% style="" %)
117 117  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.
118 118  
141 +(% style="" %)
119 119  === {{id name="04.Technickéinformace-Přesměrovánízabezpečení"/}}Přesměrování zabezpečení ===
120 120  
144 +(% style="" %)
121 121  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í.
122 122  
147 +(% style="" %)
123 123  === {{id name="04.Technickéinformace-Certifikát"/}}Certifikát ===
124 124  
150 +(% style="" %)
125 125  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.
126 126  
127 127  = {{id name="04.Technickéinformace-06.Autenzizaceaautorizace"/}}06. Autenzizace a autorizace =
... ... @@ -128,8 +128,10 @@
128 128  
129 129  === {{id name="04.Technickéinformace-Správauživatelů"/}}Správa uživatelů ===
130 130  
157 +(% style="" %)
131 131  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.
132 132  
160 +(% style="" %)
133 133  Nástroj Admin je zodpovědný za:
134 134  
135 135  * 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.
... ... @@ -136,10 +136,13 @@
136 136  * 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í.
137 137  * Správa rolí a profilů.
138 138  
167 +(% style="" %)
139 139  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.
140 140  
170 +(% style="" %)
141 141  Nový účet uživatele může být vytvořen pouze administrátorem. Uživatel nemá možnost vytvořit si účet sám.
142 142  
173 +(% style="" %)
143 143  Následující kroky musí být dodrženy při vytváření nového účtu:
144 144  
145 145  * Nový uživatel požádá vlastníka projektu o vytvoření nového účtu.
... ... @@ -148,33 +148,45 @@
148 148  * Vlastník projektu zkontroluje nastavení účtu a schválí ho.
149 149  * Nový uživatel obdrží přihlašovací údaje a může se přihlásit.
150 150  
182 +(% style="" %)
151 151  === {{id name="04.Technickéinformace-Centrálníautentizačníslužba(CAS)"/}}Centrální autentizační služba (CAS) ===
152 152  
185 +(% style="" %)
153 153  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.
154 154  
155 155  = {{id name="04.Technickéinformace-07.Roleaoprávnění"/}}07. Role a oprávnění =
156 156  
190 +(% style="" %)
157 157  === {{id name="04.Technickéinformace-Omezenípřístupu"/}}Omezení přístupu ===
158 158  
193 +(% style="" %)
159 159  Přístup uživatele může být omezen ve dvou různých oblastech:
160 160  
161 161  * omezení přístupu k funkcionalitě ClinData
162 162  * omezení přístupu k datům uloženým v softwaru ClinData
163 163  
199 +(% style="" %)
164 164  Veškerá omezení jsou nastavena v nástroji IMTM Admin.
165 165  
202 +(% style="" %)
166 166  === {{id name="04.Technickéinformace-Omezenífunkcí"/}}Omezení funkcí ===
167 167  
205 +(% style="" %)
168 168  === {{id name="04.Technickéinformace-Oprávnění"/}}Oprávnění ===
169 169  
208 +(% style="" %)
170 170  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.
171 171  
211 +(% style="" %)
172 172  Na obrázku je zobrazeno schéma oprávnění v softwaru ClinData.
173 173  
214 +(% style="" %)
174 174  === {{id name="04.Technickéinformace-Role"/}}Role ===
175 175  
217 +(% style="" %)
176 176  Role jsou virtuální entity, které slouží jako kontejnery pro více oprávnění.
177 177  
220 +(% style="" %)
178 178  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:
179 179  
180 180  * admin systému ClinData - plný přístup ke všem funkcím v ClinData, žádná omezení, vytváření nových projektů
... ... @@ -183,10 +183,13 @@
183 183  * 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)
184 184  * prohlížeč dat projektu ClinData - pouze čtení vybraných dat
185 185  
229 +(% style="" %)
186 186  === {{id name="04.Technickéinformace-Omezenídat"/}}Omezení dat ===
187 187  
232 +(% style="" %)
188 188  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.
189 189  
235 +(% style="" %)
190 190  Tato nastavení lze upravit:
191 191  
192 192  * uživatel vidí pouze svá data
... ... @@ -196,8 +196,10 @@
196 196  
197 197  === {{id name="04.Technickéinformace-Osobníúdaje"/}}Osobní údaje ===
198 198  
245 +(% style="" %)
199 199  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í.
200 200  
248 +(% style="" %)
201 201  Tato nastavení lze upravit:
202 202  
203 203  * uživatel vidí osobní údaje
... ... @@ -205,8 +205,10 @@
205 205  
206 206  = {{id name="04.Technickéinformace-8.Logování"/}}8. Logování =
207 207  
256 +(% style="" %)
208 208  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.
209 209  
259 +(% style="" %)
210 210  Existují tři různé typy mechanismů pro zaznamenávání událostí:
211 211  
212 212  * 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.
... ... @@ -224,40 +224,57 @@
224 224  ** co bylo změněno
225 225  ** jaká je nová hodnota
226 226  
277 +(% style="" %)
227 227  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.
228 228  
229 229  = {{id name="04.Technickéinformace-9.Vývojsoftwaru"/}}9. Vývoj softwaru =
230 230  
282 +(% style="" %)
231 231  === {{id name="04.Technickéinformace-Sledováníproblémů"/}}Sledování problémů ===
232 232  
285 +(% style="" %)
233 233  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.
234 234  
288 +(% style="" %)
235 235  === {{id name="04.Technickéinformace-Správazměn"/}}Správa změn ===
236 236  
291 +(% style="" %)
237 237  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.
238 238  
294 +(% style="" %)
239 239  === {{id name="04.Technickéinformace-Verzování"/}}Verzování ===
240 240  
297 +(% style="" %)
241 241  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.
242 242  
300 +(% style="" %)
243 243  === {{id name="04.Technickéinformace-Revizekódu"/}}Revize kódu ===
244 244  
303 +(% style="" %)
245 245  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.
246 246  
247 247  = {{id name="04.Technickéinformace-10.Zajišteníkvality"/}}10. Zajištení kvality =
248 248  
308 +(% style="" %)
249 249  === {{id name="04.Technickéinformace-Testovacíprostředí"/}}Testovací prostředí ===
250 250  
311 +(% style="" %)
251 251  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í.
252 252  
314 +(% style="" %)
253 253  === {{id name="04.Technickéinformace-Unittestování"/}}Unit testování ===
254 254  
317 +(% style="" %)
255 255  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.
256 256  
320 +(% style="" %)
257 257  === {{id name="04.Technickéinformace-Testováníaplikace"/}}Testování aplikace ===
258 258  
323 +(% style="" %)
259 259  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.
260 260  
326 +(% style="" %)
261 261  === {{id name="04.Technickéinformace-Zveřejnění"/}}Zveřejnění ===
262 262  
329 +(% style="" %)
263 263  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 -153059350
1 +153059345