Professional Documents
Culture Documents
sémantiku)
Informace – interpretovaná data – mají sémantiku (např definujeme pojem binární číslo a sémantiku
toho jak jdou po sobě 1/0 a co to znamená)
Systém – množina prvků a vazeb mezi nimi, které jsou definovány na nějakém nosiči (nosič – množina
prvků systému ve vzájemných vztazích)
Dělení systémů podle nosiče – Fyzické – s nosičem s fyzickými zdroji (obchodní firma) X Informační
(obvykle modeluje nějaký fyzický systém)
Stav informačního systému – hodnoty dat, kde se musíme zabývat jejich persistencí a konzistencí
(splňování jistých pravidel o možných kombinacích hodnot údajů ve stavu)
Informační systém – otevřený systém, jehož nosič používá konceptuální zdroje – informace (nakládá
s nehmotnými zdroji)
Pyramidové schéma
Lokální síť - zavedení lokálního klienta, aplikace jsou na PC a databáze na speciálním serveru v rámci
lokální sítě
Monolitický systém – vyvíjí se a nasazuje jako jeden celek (typické pro 3L), snáze zvládnutelný vývoj,
testování, obtížnější a pomalejší nasazování nových verzí
Mikroslužby – aplikace je rozdělena na malé části (vlastní databáze, business logika, aplikační rozhraní
(síťové)) – typicky miniaturní tým pro každou část – nasazují se odděleně
Modelování – prováděno jistým typem systému pro řízení báze dat (relační/objektový model)
Protokol HTTP – aplikační protokol nad TCP/IP – komunikaci začíná klient – HTTP požadavek/odpověď
Metody HTTP – GET – získání dokumentu ; POST – zaslání dat ; PUT – nahrazení dokumentu ; DELETE –
smazání dokumentu; a další HEAD,CONNECT,OPTIONS,TRACE,PATCH
Správa sezení (session) – protokol HTTP je bezstavový, potřebujeme rozlišit požadavky pocházející od
stejných nebo různých klientů
Cookies – malý objem dat, který serverová aplikace může uložit na straně klienta (jméno a hodnota);
každá cookie má také cestu a expiraci – Server posílá v hlaviččce Set-Cookie: X;Y, Klient jen Cookie: X;Y
Doménový model – E-R diagram nebo diagram tříd (identifikace entit a vztahů mezi nimi) – je třeba
převést ještě na schéma databáze (normalizace)
Primární klíč – U všech tabulek, které figurují ve vztazích nebo je nutné řádky jednoznačně identifikovat
• Přirozený – např rodné číslo, ale je zase problém co se týče legislativy nebo GDPR
• Umělý – je nutné zajistit unikátnost, většinou counter nebo nějaký UUID algoritmus
Indexy – Pomocná datová struktura usnadňující vyhledávání podle hodnoty – B+ strom nad jedním nebo
více sloupci (automaticky nad primárními klíči)
Práce s databází
PHP Data objects – Abstrakce nad databázovým systémem, poskytuje standartní rozhraní pro základní
aplikace – toto rozhraní implementují ovladače pro jednotlivé konkrétní systémy (MS SQL, IBM, MySQL)
Připojení k databázi
Zaslání dotaz – dá se udělat jednorázový dotaz nebo opakovaný (připravení dotazu a pak execute)
Zpracování výsledků – pomocí fetch (načítá postupně řádky) nebo fetchAll který vezme všechno
Aplikační frameworky – rámcová řešení pro implementaci serverových aplikací; poskytují API (třídy a
metody) pro běžné úlohy a situace; vynucují pevnou strukturu aplikace; Tvůrce se může tak soustředit
pouze na tvorbu vlastního řešení – aplikační logika
Bootstraping – aktivace funkcionality při příchodu HTTP požadavku – typicky se všechny požadavky
směřují do jednoho souboru – v tom je potom takový rozcestník, který jednotlivé požadavky posílá na
příslušnou aplikační logiku
Model-View-Contoller
Dependency injection – framework zabezpečuje vytváření objektů; každá část specifikuje požadované
služby; Framework vytvoří a dodá instanci
Composer – většina frameworků ho používá pro vytvoření a správu projektu a instalaci závislostí
Strukturovaný datový typ = datová struktura = metadata
Struktura - dvojice jméno, hodnota obecně různých typů (prostě struct v céčku)
Kolekce – předem neomezený počet hodnot stejných datových typů (prostě pole v céčku); operace –
add, item, count, remove
Agregáty – takový popis nebo obecné informace/vlastnosti kolekce (pčoet prvků, max, min, sum,
průměr)
Objekt – Struktura s identifikací (OID) – každý objekt má tedy unikátní identifikaci; obvykle první
vlastností je právě OID
Data – konkrétní hodnota Metadata – jak vypadají data (formální popis struktury dat)
Meta-Metadata - jak vypadají metadata – relační: relace je kolekce struktur, SQL jako prostředek
definice metadat
Pak jsou tam věci jako – Databázové a konceptuální modely, ER diagram a objektový model – prostě
základy IDS
Objektově relační mapování (ORM) – databázová vrstva zajišťující automatické mapování objektů na
relace a zpět - program pracuje s objekty, ORM vrstva vytváří SQL dotazy, transofrmuje data; zajišťuje
konzistenci aplikace a schématu databáze
Serializace – proces konvertování datových struktur nebo stavů do formátu, který může být buď uložen
nebo přenášen síťovým přenosem
SOAP - standard webových API – Simple Object Access Protocol – rozšíření formátu zpráv; WSDL – web
service description language – umožňuje popsat a sdílet rozhraní služby v XML
REST – XML-RPC a SOAP jsou teoreticky nezávislé na HTTP; REST je navržen pro HTTP; zjednodušeuje
přenášená data; REST = Representational state transfer
Endpoint – URL, na které lze zaslat požadavek, reprezentuje zdroj, který má nějaký stav
•
• Endpointy pro volání funkcí
•
Stavové kódy HTTP – odpovídá výsledku nějaké operace
• 200 – OK, 201 – Created, 400 – Bad request, 403 – Forbidden, 404 – Not found, 500 – Internal
server error
Tlustý klient – aplikace (webová, mobilní, ... ), volá funkce aplikačního rozhraní a prezentační logika je na
klientské straně
Same-origin policy – bezpečnostní omezení v prohlížečích; Skript může posílat požadavky jen na zdroje
se stejným origin (schéma, hostname a port) jako má URL skriptu; je možné rozvolnit toto omezení na
cílovém serveru (V HTTP hlaviččce: Access-Control-Allow-Origin: *)
JWT Json web token – Řetězec je složen ze tří částí xxxxx.yyyyy.zzzzz – toto se kóduje pomocí base64
1. Klient kontaktuje autentizační server a dodá autentizační údaje – stejný server, jaký poskytuje
API nebo klidně úplně jiný
2. Autentizační server vygeneruje podepsaný JWT a vrátí klientovi
3. Klient předá JWT při každém volání API (Nejčastěji v HTTP hlaviččce Authorization)
Oauth – uživatel má účet na nějaké službe a chce nějaké aplikaci povolit přístup ke službě přes API, ale
nechce své přístupové údaje sdílet s aplikací – Dvě verze protokolu 1.0 (složitější, nezávislý na protokolu)
a 2.0 (Zjednodušeno, používá HTTPs)
Oauth Password Grant – Pokud uživatel může dát přístupové údaje aplikaci – ta je přímo klient dané
služby, mají stejného poskytovatele, Aplikace pošle POST požadavek na API obsahující přilašovací údaje
(API zase vrací Token)
Databázová integrita - databáze musí vyhovovat zadaným pravidlům – integritním omezením. Tato
omezení jsou nejčastěji součástí definice databáze a za jejich splnění odpovídá SŘDB
Referenční integrita – Prostě odkaz na primární klíč nějakého jiného prvku databáze
Databázová transakce - představuje jednotku práce vykonávanou v databázovém systému nad databází
a zpracovávanou souvislým a bezpečným způsobem nezávisle na jiných transakcích.
ACID - Atomičnost (každá transkace je dokončena celá nebo vůbec), Konzistence (správná reflexe stavu
reálného světa a dodržování omezujících pravidel), Izolovanost (souběžné provádění má totožný efekt
jako sekvenční), Trvanlivost (odolnost proti ztrátě již dokončených změn)