HA - to je vlakno, ktere jsem docela hledal (mam problem najit cokoliv komplexnejsiho k digitalizaci)
Pracuju uz mnoho let jako IT architekt (specificky information architect) - tak zkusim nejak ve strucnosti to nejdulezitejsi (a omlouvam se za anglictinu - nekdy cesky vyraz vazne tezko hledat ...)
1) E2E princip - kazdy pozadovany system ma nejaky kontext - a reseni je od "zacatku" do "konce"
- v zasade i kdyz kazdy system muze byt pro uplne jiny ucel, tak neexistuje, ze od nejakeho bodu nevim, co se deje nebo nad tim nemam kontrolu
2) Architecture thinking (zpusob, jakym budete realizovat) a architecture principles (nejaka pravidla a principy, kterych se drzet) - IBM UMF, TOGAF
- pokud si predstavim system jako dum, tak neexistuje, abych realizoval bez znalosti nosnosti, tramu (co ja vim, nelibil se mi) a podobnych veci
- neexistuje, ze si udelam jen tak na dve cihly diru v rohu, nepovedu draty skrz vanu, nebudu mit elektricky obvod bez jistice a tak
3) Vytvorim model, zaznamenam pozadavky, prumyslove standardy a po aplikaci 3 principu - physical data, logical data (relations and metadata) a pak jako kdyby celkovy pohled z nadhledu a navrhnu strategii pro DWH; nasledne rozhodim jeste jako kdyby po vrstvach nad sebou - abych vedel, ze necpu kuprikladu cursor definovany pro aplikaci do db tabulky na Database / Aplication / Presentation (budete znat treba ze SAP/3 - to je ta trojka)
4) Architecture deliverables - no minimalne use case diagram, system context, deployment diagram, ER diagrams and class diagrams, sequence a mozna jine
5) ARCHITECTURE DECISIONS - strukturovane, oficialni (co to je, moznosti, proc jsem vybral tu, kterou jsem vybral)
6) zahrnu a zmapuju data - za me lepsi skoro vzdy TOP-DOWN approach (Global level->Industry level -> Sector level -> Specific level), same for data
- nemuzu mit nahravani dat do databaze s tim, ze "ono to nikdy neselze" + neoperuji se standalone soubory pokud to neni vylozene nutne (proprietary format totalne neexistuje, proprietary solution existuje pouze na bazi smlouvy a pruhlednosti interface, kde se styka s mym systemem a kontroly)
- vidim-li OPEN SOURCE zdroj, pozaduju podepsany doklad o podpore (zkontroluju, jestli sedi s mymi pozadavky napr. 24/7) a okamzite pisu do RISK ASSESMENT "PARTIAL SUPPORT + SOFTWARE LIFECYCLE MAY AFFECT DELIVERY" - to v pripade, ze ten sw + interface s nim je zlaty a nevidim zadny problem
7) Zajistim principy, ktere musi platit pro data - 3NF pro uplne prcky, vetsi DWH ma pouze 5NF tabulky (ID, FACT, EVIDENCE) a zajistim vztahy, navrhnu klice, ktere kontroluji, aby se nesmazal radek stylu - zustanou mi 2 zaznamy jmena knihy a zmizel autor z tabulky autoru - a minimalne standartni pravidla - data isolation, data validation, metadata, triggered events + dodrzuju naming convention logickym zpusobem, abych nemusel koukat do diagramu, ktere byvaji obrovske a stejne vedel, kde co mam. V DWH se nic nemaze, nikdy - zaznamy se pouze meni na active = y/n
- priklad: treba Siemens ma software, ktery neco dela na lince v tovarne pro kterou delam system - dohodne se package s definici datovych typu, polozek, case doruceni a odpovednosti, ze dorazi tak, jak je domluveno a zapise log - pak se nahraje do "staging area" (staging area je vzdy prazdna a vzdy se nahrava vse - ja osobne nechavam udelat export toho, co neproslo nekam do souboru a to pak nahravam do jine staging oblasti jako "unlimited string" nebo "CLOB" - pak se udelaji potrebne operace a kontroly (muzou se i logovat) - a pak se distribuuje do tabulek skutecneho datoveho skladu. Bud zde nebo uz ve stagingu generuju popisujici pole jako "loaded by", "timestamp" a "active = Y/N" a v cili na me cekaji "ID generated always as sequence", klice, ktere zarucuji integritu mezi jednotlivymi tabulkami, check constraints a definovana pole, kam generuju data - To cele se jmenuje ETL proces (ktery si pojmenuju) = Extract Transform Load
8) s aplication architektem proberu generovani tabulek pro packages, ktere pujdou do aplikace, udelame class diagramy a data marts pro reporting
9) krom user input managementu uz se nikde zadna data nemeni, nepridavaji, nemazou - proste se toho nedotyka 
10) konstantu v parametru mam pouze za predpokladu, ze je definovana a neda se ji vyhnout - vse je propojene dynamicky (JOIN - outer, left ..) nebo potom treba upravene az aplikaci, ale to je pomerne vzacne
... to jsem nepopsal vlastne jeste skoro nic - nemam jedinou funkcnost, jejiz kvalitu kontroluju pomoci KPI SCORES (key process identificator), realizuju funkcni pozadavky (co to jako dela) a realizuju / zapisuju splneni "non-functional" pozadavku (kapacita, performance, dostupnost, bezpecnost (pripadne auditovatelnost pro GxP, HIPAA a tak, dost chteji i GDPR - ono je to lepsi v architecture dokumentu (kde presne jsou PI data), spolehlivost, system management (treba monitoring, dobre misto pro popis, kde jsou klice, tokeny pro pristupy (data vault), portability, maintainability, specialni (treba document storage, data stream sources, JSON classification a dalsi) + industry standards + Derived tech specifications (napr. kdyz data typ je mena, tak "plain value" a pod.) + business & technical constraints
LOGICAL OPERATIONAL MODEL + PHYSICAL OPERATIONAL MODEL + SERVICE FLOWS DEFINITION ..... VIABILITY ASSESSMENT (Risk, Asumptions, Dependencies) - no a bud ja nebo PM jeste bokem odpovednosti a manualy, licencni pozadavky + SAAS, RACI matrix a Intellectual property - Solution design dokument miva vetsinou tak od 80 stranek nahoru, nekdy se stane ze hodne nahoru 
No hele, vic uz to zkratit fakt neslo - zadny z tech dobu neni ani v tom kousku preskocitelny. Chtel jsem hlavne taky udelat osvetu, jak vypada standartni reseni.
Pro vetsi reseni jsou dnes jakoze (samozrejme ne u nas) trendy Big data - jenze ... big data providers jaksi radi zapominaji rikat, ze to, ze si AI module poradi je vec jedna - ale ze ty data musi mit nejakou formu aby analytika nejak bezela, to uz nikde velkym pismem neni. A to, kolik stoji jeden analytik a ze bez nej jsi dost v haji to taky ne. A uz vubec ne, jak tvuj data lake bude vypadat za 5 let, kdyz prijde cas neco predelavat, protoze se zmenil svet - a ty jsi chudsi cca o 5 milionu a nemas vubec nic a budes muset vymyslet, jak si udrzet kontinuitu, protoze tvoje AI novym vecem nerozumi a scoring ma rozhozeny.
Na druhou stranu microservices jsou super, jenze neschopne poradne prace s kontextem dat - to je jak zkouset delat analyzu na OLTP databazi.