Slide 1

Veľkosť: px
Začať zobrazovať zo stránky:

Download "Slide 1"

Prepis

1 Vrstvy internetových a intranetových systémov RNDr. Ľubor Šešera, PhD

2 IS: Architektúra na báze vrstiev (1) Hlavný prístup k tvorbe inform. systémov (IS): Tvorba systému na báze vertikálnych vrstiev (Tiers vs. layers) Výhody vrstiev: Dekompozícia zložitosti systému Časti majú presne definované rozhrania Vrstvy môžu byť založené na štandardoch Zvyšujú opakovanú použiteľnosť Element na nižšej vrstve na viac. miestach vyššej vrstvy Umožňujú realizáciu rôznymi softvérovými prostriedkami Umožňujú prevádzku jednotlivých vrstvy na inom počítači Rozdelenie zodpovednosti vo vývojom tíme 2

3 IS: Architektúra na báze vrstiev (2) Nevýhody vrstiev: Nezapúzdrujú dobre všetky veci. Zmena v niektorej úrovni si niekedy vyžiada šírenie zmien. Môžu si vyžiadať netriviálne transformácie dát medzi vrstvami Tvorba vrstiev znižuje výkonnosť. 3

4 IS: Architektúra na báze vrstiev - história Do 90-tych rokov sa vrstvy v IS príliš nepoužívali V 90-tych rokoch: Systémy typu klient-server 2 vrstvy: klient a server Pozor: architekt. štýl klient-server je všeobecnejší Vyšlo z HW: PC v LAN a centrálny počítač Klient: graf. používateľský interfejs +aplikačný kód Server: relačná databáza Prostriedky: Visual Basic, Powerbuilder, Delphi,... Výhodné ak IS iba jednoduché zobrazovanie a jednoduchá aktualizácia dát aplikačný kód bol súčasťou obrazoviek problém spoločného kódu pre viacero obrazoviek a komplexnej business logiky 4

5 IS: Architektúra na báze vrstiev - história Objektovo-orientované programovanie prinieslo 3 vrstvovú architektúru model-view-controler v Smalltalku málo rozšírené, nie pre distrib. architektúru Skutočná zmena až nástupom internetu potreba využívania internetových prehliadačov je nákladné a zdĺhavé sťahovanie aplikačnej logiky z centra (+ bezpečnosť) preto sa aplikačná logika oddeľuje od prezentačnej časti a umiestňuje na server 5

6 IS: Architektúra na báze vrstiev - história Ďalšie faktory Bolestivá zmena existujúcich systémov z dôvodu prepletenia aplikačnej a prezentačnej vrstvy Ďalšie typy prezentačnej vrstvy, napríklad rozhrania pre mobilné zariadenia Jednoduchšia administrácia Na PC je iba internetový prehliadač Rozširovanie jazyka Java Nie je natoľko zviazaný s jazykom SQL a je vhodnejší pre vývoj aplikačnej logiky 6

7 Vrstvy moderných IS 1. Prezentačná vrstva Prístup používateľa k systému 2. Aplikačná vrstva Výpočtová časť systému 3. Dátová vrstva Trvalé (perzistentné) uchovávanie dát v databáze + Medzivrstvy 1.5 (Aplikačná) Servisná vrstva 2.5 Dátová servisná vrstva 7 (vrstva dátových služieb)

8 Vrstvy moderných IS Nie sú vrstvy abstrakcie, ale viacúrovňový architekt. štýl klient-server cmp 3.1-Vrstv y Prezentačná vrstva. Servisná vrstva. Aplikačná vrstva. Vrstva dátových služieb. Dátová vrstva. 8

9 Dôvody odčlen. prezentačnej vrstvy Používateľské rozhranie sa zvyčajne mení častejšie ako aplikačná logika Tie isté dáta zobrazovať rôznym spôsobom Rôzne časti prezentačnej vrstvy môžu využívať rovnaké funkcie aplikačnej vrstvy Rôzne technológie HTML versus Java Príklad rozdelenia prezentačná domén. vrstva Zobrazenie neplatičov červenou Aplikačná vrstva bool. funkcia: platič-neplatič Prezentačná vrstva farebné zobrazenie 9

10 Základné typy architektúr Jednoduchá PV spojená s AV, bez SV, jedn. DS Jedn. PV, jedn. AV, bez SV, jedn. DS Jedn. PV, jedn. AV, bez SV, komplexná DS Komplexná PV, jedn. AV, bez SV, komplexná DS Jednoduchá PV, komplex. AV, so SV, komplex. DS Komplexná PV, komplex. AV, so SV, komplex. DS 10

11 Fyzické vrstvy Internetový systém s tenkým klientom: dátová vrstva je na 1 HW serveri, AV a PV na inom HW serveri Internetový systém s poloťažkým klientom: PV je rozdelená medzi server a PC Internetový systém s oddeleným prezentačným a aplikačným serverom Intranetový systém s ťažkým klientom: PV je na PC Systém s rozdelenou aplikačnou vrstvou časť AV je v uložených procedúrach na DB serveri Systém so spoločným aplikačným a DB serverom 11

12 J2EE (1999) sada špecifikácií 1. Java Servlet, verzia JavaServer Pages (JSP), verzia Enterprise JavaBeans (EJB), verzia Java Message Service (JMS), verzia Java Naming and Directory Interface (JNDI), v JavaBeans Activation Framework (JAF), verzia Java Transaction API (JTA), verzia Java Transaction Service (JTS), verzia Java Database Connectivity (JDBC), verzia JavaMail API, verzia 1.1

13 J2EE / JEE Štandard J2EE bol priebežne (cca v trojročných intervaloch) aktualizovaný Najmä problémy so špecifikáciou EJB EJB 2.0 (2001) + lokálne volania metód EJB 3.0 (2006) zmena mapovania na relačné DB, pomocou Java Persistence API (JPA) Doplnenie ďalších špecifikácií, napr. Web Services for J2EE Využitie XML (JAXP a ďalšie) Novšia prezent. vrstva (Java Server Faces, JSF) (2006) nový názov Java EE verzia 5 (2009) JEE verzia 6 13

14 Základné architektúry v JEE 1. Implementácia bez EJB a bez JPA 2. Implementácia bez EJB a s ORM/JPA 3. Implementácia s EJB a s JPA 14

15 Architektúra v JEE bez EJB a bez JPA cmp 3.3 Vrstv y v JEE - alt. 1 «JSP,POJO» Prezentačná a aplikačná vrstva «JDBC» Vrstva dátových služieb. «SQL» Dátová vrstva 15

16 Architektúra v JEE bez EJB a s JPA cmp 3.3 Vrstv y v JEE - alt. 1 «JSF,JSP» Prezentačná vrstva «POJO» Aplikačná vrstva. «JPA» Vrstva dátových služieb «SQL» Dátová vrstva 16

17 Architektúra v JEE s EJB a s JPA cmp 3.5 Vrstv y v JEE - alt. 3 «JSF,JSP» Prezentačná vrstva «EJB» Aplikačná vrstva «SQL» Dátová vrstva «Session EJB» Servisná vrstva «Entity EJB» Doménová vrstva «JPA» Vrstva dátových služieb 17

18 Bankový systém príklad Jednoduchý príklad časti bankového systému účet klienta operácie s účtom: vklad, výber, prevod cez viacero kanálov: pokladník, call centrum, internet banking, mobil banking,... pri operáciách sa vyrubujú poplatky predpokladajme okamžite (nie dávkovo) pri operácii môže byť viacero poplatkov predpokladajme, že klient nemá balík služieb nad operatívnou úrovňou je metaúroveň typy účtov, operácií, poplatkov so vzájomnými vzťahmi sadzby poplatkov oddelené od typov poplatkov rôzne spôsoby výpočtu poplatkov fixný, percentuálny, percentuálny s ohraničením, hladinový,... neuvažujeme integráciu s inými systémami

19 Typ Uctu kod nazov TypPoplatku kod nazov TypOperacie iductu stavuctu Ucet idsadzby sposobvypoctu sadzba minsadzba maxsadzba sumaoperacieod sumaoperaciedo platnostod platnostdo SadzbaPoplatku idoperacie datum suma protiucet bankaprotiuctu Operacia. idpoplatku sumapoplatku Poplatok kodpoplatku * 1 * * kodoperacie * 1 idoperacie * 1 typuctu * 1 idsadzby * 1 * * iductu * 0..1

20 Aplikačná vrstva 20

21 Vzory pre aplikačnú a servisnú vrstvu Transakčný scenár procedurálny spôsob návrhu systému Doménový model objektovo orientovaný návrh systému Servisná vrstva Často dopĺňa Doménový model Rozhranie + špecifická a technická funkcionalita Príklad: Vytvorenie operácie vytvorenie inštancie operácie vypočítanie a zaznamenanie poplatkov

22 Transakčný scenár Procedúra, ktorá: 1. Preberie vstupy z prezentačnej vrstvy 2. Vykoná príslušné (netriviálne) kontroly a výpočty 3. Vyvolá vrstvu dátových služieb na získanie alebo uloženie dát 4. Výsledok vráti prezentačnej vrstve 22

23 Transakčný scenár Jeden Transakčný scenár pre každú akciu používateľa Zvyčajne tiež predstavuje jednu databázovú transakciu Odtiaľ názov vzoru Výhody: Priamočiara realizácia Nevýhody: Sklon k duplikovaniu kódu Horšia údržba a rozširovanie kódu 23

24 Transakčný scenár Prezentačná vrstva posiela transferový objekt (TO) Aplikačná vrstva Trieda transakčných scenárov pre Služby operácií Výpočet poplatkov funkcia využívaná viacerými transakčnými skriptami Vrstva dátových služieb napr. Brána k tabuľke obaľuje príkaz SELECT Príklad neskôr

25 Transakčný scenár class SluzbyOperacii { public vytvoroperaciu (TO toperacia) { try { ResultSet operacie = operaciatablegateway.vytvoroperaciu (TO toperacia); try { operacia.next(); Long idoperacie = operacia.getlong(1); String kodoperacie = toperacia.getkodoperacie(); BigDecimal sumaoperacie = toperacia.getsuma(); ResultSet typypoplatkov = typpoplatkutablegateway. najditypypoplatkov(kodoperacie); 25

26 Transakčný scenár while (typypoplatkov.next()) { String kodpoplatku = typypoplatkov.getstring ( kodpoplatku ); ResultSet vysledoksql = sadzbapoplatkutablegateway. najdisadzbu(kodpoplatku, new Date(),sumaOperacie); while (vysledoksql.next()) { Long idsadzby = new Long (vysledoksql.getlong(1)); String sposobvypoctu = vysledoksql.getstring(2); BigDecimal sadzba = vysledoksql.getbigdecimal(3);... BigDecimal vyskapoplatku = sluzbypoplatkov.vypocitajpoplatok ( sposobvypoctu, sadzba, minsadzba, ); poplatoktablegateway.vytvorpoplatok (idsadzby, ) } } } catch (SQLException e { }

27 Transakčný scenár public class SluzbyPoplatkov { public BigDecimal vypocitajpoplatok (SadzbaPoplatku sadzbapoplatku, BigDecimal sumaoperacie) { String sposobvypoctu = sadzbapoplatku.getsposobvypoctu(); BigDecimal sadzba = sadzbapoplatku.getsadzba(); BigDecimal minsadzba = sadzbapoplatku.getminsadzba(); BigDecimal maxsadzba = sadzbapoplatku.getmaxsadzba(); if (sposobvypoctu.equals( fixny )) { return sadzba; } else if (sposobvypoctu.equals( percentualny )) { return sumaoperacie.multiply(sadzba); 27

28 Transakčný scenár } } } else if (sposobvypoctu.equals( percentualnyohran )) { BigDecimal vyskapoplatku = sumaoperacie.multiply(sadzba); if (vyskapoplatku.compareto(minsadzba) < 0) { return minsadzba; } else if (vyskapoplatku.compareto(maxsadzba) > 0) { return maxsadzba; } else { return vyskapoplatku; } } 28

29 Doménový model Protipól Transakčného scenára Systém je štrukúrovaný dátovo Prirodzenejšie reprezentuje aplikačnú oblasť Transakčný scenár predstavuje viac algoritmický pohľad na realitu Lepšie podporuje rozširovateľnosť systému Dedenie, polymorfizmus, techniky návrhových vzorov 29

30 Doménový model Typy doménových modelov Jednoduchý podobný relačnému modelu Komplexný výrazne bohatší ako relačný model V minulosti: problém objektovo-relačného mapovača Tieto boli drahé (napr. TopLink) Viedlo k obchádzaniu ORM a následne k Transakčnému scenáru alebo Jednoduchému Doménovému modelu V súčasnosti nástroje ORM zdarma + JPA 30

31 Doménový model príklad TypUctu * * TypPoplatku kod nazov * * TypOperacie 1 kodpoplatku * SadzbaPoplatku idsadzby sposobvypoctu sadzba minsadzba maxsadzba sumaoperacieod sumaoperaciedo platnostod platnostdo 1 typuctu kod nazov 1 idsadzby * Ucet 1 kodoperacie * Operacia * Poplatok iducet stavuctu 0..1 iductu * idoperacie datum suma protiucet bankaprotiuctu 1 idoperacie * idpoplatku sumapoplatku

32 Doménový model príklad rozšíriteľnosť aj pre ďalšie operácie Operacia idoperacie datum suma protiucet bankaprotiuctu PrenajomBezpSchranky cisloschranky zacprenajmu koniecprenajmu poistnasuma

33 Doménový model príklad Rozšíriteľnosť sadzieb poplatkov Dedenie, polymorfizmus Rozšíriteľnosť spôsobu výpočtu poplatkov vzor Strategy

34 Doménový model príklad SadzbaPoplatku idsadzby sadzba sposobvypoctu platnostod sadzba platnostdo minsadzba maxsadzba vypocitajpoplatok() sumaoperacieod sumaoperaciedo platnostod platnostdo * PoplatokFixny 1 PoplatkovaFunkcia vypocitajpoplatok() PoplatokPercent PoplatokPercentOhraniceny vypocitajpoplatok() vypocitajpoplatok() vypocitajpoplatok() SadzbaPoplatkuOhranicena minsadzba maxsadzba vypocitajpoplatok() SadzbaPoplatkuHladinova sumaoperacieod sumaoperaciedo vypocitajpoplatok()

35 Organizácia výpočtu Funkčná dekompozícia je nahradená dátovou dekompozíciou s delegovaním zodpovednosti Pokladník Klient Operacia TypOperacie TypPoplatku SadzbaPoplatku PoplatkovaFunkcia vkladhotovosti vytvoroperaciu... vypocitajpoplatky... vypocitajpoplatok vypocitajpoplatok vypocitajpoplatok

36 Doménový model príklad public class Operacia { private TypOperacie typoperacie; private Set poplatky;... public TypOperacie gettypoperacie() { } public Set getpoplatky() { } public void vypocitajpoplatky() { gettypoperacie().vypocitajpoplatky(this); } public static void vytvoroperaciu(to operaciato) { Operacia operacia = new Operacia(operaciaTO); operacia.vypocitajpoplatky(); // uloženie zmeny objektu a jeho asoc. objektov do DB operacia.save(); } }

37 Doménový model príklad public class TypOperacie { public void vypocitajpoplatky(operacia operacia) { for (TypPoplatku typpoplatku : gettypypoplatkov()) { typpoplatku.vypocitajpoplatok(operacia); } } } public class TypPoplatku { public void vypocitajpoplatok(operacia operacia) { SadzbaPoplatku sadzbapoplatku = getaktualnasadzbapoplatku(operacia); sadzbapoplatku.vypocitajpoplatok(operacia); } }

38 Doménový model príklad public class SadzbaPoplatku { public void vypocitajpoplatok(operacia operacia) { BigDecimal sumapoplatku = getpoplatkovafunkcia().vypocitajpoplatok (this, operacia.getsuma()) Poplatok poplatok = new Poplatok(this, sumapoplatku); operacia.addpoplatok(poplatok); } }

39 Doménový model príklad interface PoplatkovaFunkcia { public vypocitajpoplatok (SadzbaPoplatku sadzbapoplatku, BigDecimal sumaoperacie); } class PoplatokFixny implements PoplatkovaFunkcia { public vypocitajpoplatok(sadzbapoplatku sadzbapoplatku, BigDecimal sumaoperacie) { return sadzbapoplatku.getsadzba(); } } class PoplatokPercentualny implements PoplatkovaFunkcia { public vypocitajpoplatok (SadzbaPoplatku sadzbapoplatku, BigDecimal sumaoperacie) { BigDecimal percent = sadzbapoplatku.getsadzba(); return sumaoperacie.multiply(percent); } }

40 Doménový model príklad class PoplatokPercentualnyOhraniceny implements PoplatkovaFunkcia { public vypocitajpoplatok(sadzbapoplatku sadzbapoplatku, BigDecimal sumaoperacie) { BigDecimal percent = sadzbapoplatku.getsadzba(); BigDecimal minsadzba = sadzbapoplatku.getminsadzba(); BigDecimal maxsadzba = sadzbapoplatku.getmaxsadzba(); BigDecimal vyskapoplatku = sumaoperacie.multiply(percent); if (vyskapoplatku.compareto(minsadzba) < 0) return minsadzba; else if (vyskapoplatku.compareto(maxsadzba) > 0) return maxsadzba; else return vyskapoplatku; } }

41 Servisná vrstva Doménový model by mal obsahovať doménové objekty a pravidlá týkajúce sa príslušnej oblasti Množstvo kódu, ktoré sú špecifické pre príslušý systém: Use cases, workflow a integráciu s inými syst. Plus technický kód samotnej aplikácie riadenie transakcií, auditovanie, autentifikáciu, Znižuje opakovanú použiteľnosť 41

42 Úlohy Servisnej vrstvy Odčleňuje špecifickú logiku od všeobecnej doménovej logiky Obsahuje technický kód, napríklad pre riadenie transakcií Rozhranie aplikačnej vrstvy vo forme Fasády Zapúzdruje elementy a umožňuje ich opakované použitie Uľahčuje integráciu systémov Napr. Zabalenie do webovej služby 42

43 Typy Servisnej vrstvy 1. Fasáda doménového modelu = tenká Fasáda Doménového modelu 2. Operačný scenár obsahuje aj implementáciu aplikačnej logiky Zvyčajne nie samostatná vrstva, ale podvrstva aplikačnej vrstvy 43

44 Typy Servisnej vrstvy cmp 3.9 Operačný scenár Aplikačná vrstva.. Prezentačná vrstva. Servisná vrstva. Doménová vrstva. Vrstva dátových služieb. Dátová vrstva. 44

45 Spôsob realizácie v public interface OperaciaSluzby { void vytvoroperaciu (TO operaciato) ; } 45

46 Spôsob realizácie v public class OperacieServiceBean implements OperacieService private EntityManager entitymanager; public void vytvoroperaciu (TO operaciato) { try { Operacia operacia = new Operacia (operaciato); operacia.vypocitajpoplatky();... entitymanager.persist (operacia); if (operacia.getucet().issmsnotificationenabled()) { getsmsservice().sendsms (operacia.createnotificationsms()); } } catch (Exception ex) { throw new EJBException (ex.getmessage()); } } } 46

47 Servisná vrstva Výhody prispieva k rozšíriteľnosti a znovupoužiteľnosti doménová vrstva väčšia šanca znovupoužiteľnosti servisná vrstva špecifický kód (malá znovupoužiteľnosť) Nevýhody oddelenie vrstiev je intelektuálne náročné extrém: doménová vrstva iba atribúty a aplikačná funkcionalita je v servisnej vrstve

48 Vrstva dátových služieb 48

49 Odlišnosti OO modelu a R-modelu Tradič. dátový zdroj relačná databáza objektový a relačný svet štruktúrujú dáta rôznym spôsobom Hlavné rozdiely OO a RDB modelu 1. Spájanie súvisiacich dát: Komplexné objekty. RDB iba n-tice (záznamy) a z nich multimnožiny (tabuľky) OO model aj zoznamy (list), polia,... OO komplexné objekty je možné skladať

50 Odlišnosti OO modelu a R-modelu Identita objektov. RDB: záznam je určený svojím primárnym kľúčom) OO model: objekt má identifikátor 2. Spájanie dát s funkciami Zapúzdrenie dát RDB: procedúry pristupujú priamo k dátovým štruktúram (databázovým tabuľkám) OO model: ukrývanie dát Zmena vnútornej dátovej štruktúry tak štatisticky zasiahne iba menšiu časť kódu

51 Odlišnosti OO modelu a R-modelu Typy objektov RDB: preddefinovaná množina atomických typov čísla, bitové a znakové reťazce, dátum a čas Komplexné objekty, t. j. záznamy sú beztypové -> run-time chyby OO model: deklarácia typov aj pre komplexné objekty Rozšíriteľnosť základných typov RDB: tabuľka je zabudovaná štruktúra údajov s pevnou množinou príkazov OO model: vývojár si definuje vlastné typy spolu s operáciami

52 Odlišnosti OO modelu a R-modelu Dedenie RDB: nie OO model: možná hierarchia typov s dedením atribútov a metód Polymorfizmus RDB: nie OO model: prekrývanie + inkluzívny polymorfizmus Inkluzívny polym. = všade tam, kde sa vyžaduje objekt nadtypu je možné použiť objekt podtypu

53 Odlišnosti OO modelu a R-modelu 3. Manipulácia s dátami Sekvenčný verzus množinový prístup RDB: množinové operácia (SQL) Spájanie dát: operácia Table join OO model: sekvenčný prístup Spájanie dát: operácia navigácie (prechádzanie cez smerníky) Otázka: OO dopytovacieho jazyka napr. JPQL

54 Kategórie vzorov (Fowler) 1. Architektonické vzory dátových služieb Stanovujú základný spôsob komunikácie aplikačnej a dátovej vrstvy 2. Štrukturálne vzory pre ORM Spôsob mapovania špecifických OO čŕt Asociácie, dedenie,... Vynecháme v tejto prednáške 3. Vzory správania pre ORM Spôsob, ako sa objekty čítajú z databázy a ukladajú do databázy Vynecháme v tejto prednáške

55 Archit. vzory vrstvy dátových služieb Alternatívy Brána do tabuľky (Table Data Gateway) Brána do riadku tabuľky (Row Data Gateway) Vynecháme v prednáške Aktívny záznam (Active Record) Vynecháme v prednáške Prostriedok pre objektovo-relačné mapovanie (Object-Relational Mapper, ORM) 55

56 Použitie JDBC JDBC = rozhranie jazyka Java na relačné databázy Príkazy sú nezávislé od konkrétneho výrobcu RDBMS Služby: Oracle, MS SQL Server, DB2, MySQL a iné Vytvorenie spojenia (connection) na RDB Odoslanie SQL príkazu INSERT, UPDATE, DELETE,... Spracovanie výsledku SQL príkazu JDBC Result Set + kurzor 56

57 Brána do tabuľky Objekt vo vrstve dátových služieb, ktorý zapúzdruje všetok prístup k jednej DB tabuľke Jeden objekt slúži pre všetky záznamy tabuľky, s ktorými sa pracuje Úlohy: Zapúzdriť operácie SELECT, INSERT, UPDATE, DELETE Dosadiť do SQL príkazu potrebné argumenty Vyvolať vykonanie SQL príkazu Vrátiť výsledok (v tvare ResultSet) 57

58 Brána do tabuľky - príklad public class SadzbaPoplatkuTableGateway { private static final String sadzbapoplatkuselect = SELECT + STLPCE + FROM SadzbyPoplatkov + WHERE kodpoplatku =? + AND? >= platnostod AND? <= platnostdo + AND (sumaoperacieod IS NULL OR sumaoperacieod <=?) + AND (sumaoperaciedo IS NULL OR sumaoperaciedo >?) ; private static final String STLPCE = idsadzby, sposobvypoctu, sadzba, platnostod, + platnostdo, minsadzba, maxsadzba, + sumaoperacieod,sumaoperaciedo ; 58

59 Brána do tabuľky príklad (pokr.) public static ResultSet najdisadzbu (String kodpoplatku, Date datum, BigDecimal sumaoperacie) { Connection dbconnection = DriverManager.getConnection( ); PreparedStatement prikaz = dbconnection.preparestatement(sadzbapoplatkuselect); prikaz.setstring(1, kodpoplatku); prikaz.setdate(2, datum); prikaz.setdate(3, datum); prikaz.setbigdecimal(4, sumaoperacie); prikaz.setbigdecimal(5, sumaoperacie); ResultSet vysledok = prikaz.executequery(); return vysledok; } 59

60 Brána do tabuľky príklad (pokr.) ResultSet vysledoksql = sadzbapoplatkutablegateway.najdisadzbu( kodpoplatku, new Date(), sumaoperacie); while (vysledoksql.next()) { Long idsadzby = new Long (vysledoksql.getlong(1)); String sposobvypoctu = vysledoksql.getstring(2); BigDecimal sadzba = vysledoksql.getbigdecimal(3); BigDecimal minsadzba = vysledoksql.getbigdecimal(4); BigDecimal maxsadzba = vysledoksql.getbigdecimal(5);... BigDecimal vyskapoplatku = sluzbypoplatkov.vypocitajpoplatok (sposobvypoctu, sadzba, minsadzba, maxsadzba, sumaoperacie); 60

61 Prostriedok pre ORM RDB a OO model: podobnosť aj odlišnosť Podobné: Trieda Tabuľka, Atribút Stĺpec Odlišné Identifikácia objektov, komplexné objekty, dedenie,... Prostriedok pre ORM Umožňuje deklaratívne (meta-jazyk) definovať určité transformácie OO modelu do RDB 61

62 História ORM Najprv samostatné nástroje TopLink pre Smalltalk (The Object People) TopLink pre Java ( ) Od roku 2002 patrí firme Oracle Hibernate (2001, open source) JBoss Red Hat Súčasť aplikačných serverov: EJB 1.x a 2.x - vlastný mechanizmus mapovania OO na RDB (ťažkopádny) EJB 3.0 obsahuje JPA (Java Persistence API) Vychádza z Hibernate a TopLink 62

63 Automatický ORM Vstupom je súbor pre metadátové mapovanie, ktorý špecifikuje, ako sa jednotlivé atribúty tried mapujú na jednotlivé stĺpce DB tabuliek. Súbor = tzv. Deployment descriptor (orm.xml) 63

64 Deployment descriptor v JPA <entity-mappings version= 2.0 > <persistence-unit-metadata> <persistence-unit-defaults> <schema>bankovypriklad</schema> </persistence-unit-defaults> </persistence-unit-metadata> 64

65 Deployment descriptor v JPA <named-native-query name= sadzbapoplatkuselect > <query> SELECT idsadzby, sposobvypoctu, sadzba, platnostod, platnostdo, minsadzba, maxsadzba, sumaoperacieod,sumaoperaciedo FROM SadzbyPoplatkov WHERE kodpoplatku =? AND? >= platnostod AND? <= platnostdo AND (sumaoperacieod IS NULL OR sumaoperacieod <=?) AND (sumaoperaciedo IS NULL OR sumaoperaciedo >?) </query> </named-native-query> 65

66 Deployment descriptor v JPA <entity name= SadzbaPoplatku class= SadzbaPoplatku > <table name= SadzbyPoplatkov /> <attributes> <id name= idsadzby > <column name= idsadzby > </id> <basic name= sposobvypoctu > <column name= sposobvypoctu > </basic> <basic name= sadzba > <column name= sadzba > </basic> <basic name= platnostod > <column name= platnostod > </basic>... </attributes> </entity> </entity-mappings> 66

67 Anotácie v JPA (name= SadzbyPoplatkov ) public class (name= idsadzby ) public Long (name= sposobvypoctu ) String sposobvypoctu; (name= sadzba ) BigDecimal sadzba;... 67

68 Anotácie v JPA (pre atribúty) public class SadzbaPoplatku public Long idsadzby; String sposobvypoctu; BigDecimal sadzba; BigDecimal minsadzba; BigDecimal maxsadzba; BigDecimal sumaoperacieod; BigDecimal sumaoperaciedo; Date platnostod; Date platnostdo;... } 68

69 Anotácie v JPA (pre (name= Ucet ) public class Ucet { private String iductu; private (name= idsadzby ) public String getiductu() {return iductu;} public void setiductu (String iductu) {this.iductu = iductu;} (name= stavuctu ) public String getstavuctu() {return stavuctu;} public void setstavuctu (String stavuctu) {this.stavuctu = stavuctu;} 69

70 Anotácie vs. Deployment descriptor Výhody anotácií Všetko na jednom mieste (pri malých modeloch) Kontroly pri kompilácii Nevýhody anotácií Drôtovanie schémy DB do aplikačného kódu Zneprehľadňuje kód (pri väčších modeloch) Rekompilácia pri zmenách 70

71 JPA EntityManager ORM zabezpečuje objekt typu EntityManager public void persist (Object entity) uloží objekt do databázy a zoberie ho do svojej správy; public <T> T merge (T entity) pridá existujúci objekt medzi objekty, ktoré spravuje daný EntityManager a následne tak zabezpečí jeho zápis do databázy; public void remove (Object entity) vymaže objekt z databázy; public void refresh (Object entity) obnoví objekt hodnotami z databázy; 71

72 JPA EntityManager public <T> T find (Class<T> entityclass, Object primarykey) vyhľadá objekt v databáze podľa primárneho kľúča; public Query createquery (String jpqlstring) vytvorí dynamický dopyt v tvare JPQL; public Query createnamedquery (String name) vytvorí inštanciu dopytu na základe definovaného pomenovaného dopytu; public Query createnativequery (String sqlstring) vytvorí dynamický dopyt v tvare SQL; 72

73 JPA EntityManager Neobsahuje metódu update Ak je objekt v správe, EntityManager dokáže automaticky rozpoznať, že sa objekt zmenil a pred ukončením transakcie aktualizovať zodpovedajúci záznam v databáze 73

74 JPA príklady Vytvorenie účtu: Ucet ucet = new Ucet(); ucet.setiductu ( ); ucet.setstavuctu ( otvoreny ); entitymanager.persist (ucet); Vyhľadanie podľa primárneho kľúča: String cislouctu = ; Ucet ucet = entitymanager.find (Ucet.class, cislouctu); Vymazanie účtu: entitymanager.remove (ucet); entitymanager.remove (entitymanager.merge(ucet)); Ak nie je v správe 74

75 Dátová navigácia a OO dopyty RDB poskytujú SQL OO dopyt Využitie bohatých vlastností SQL plus Kolekcia typov. objektov vs. množina záznamov Získavanie asociovaných objektov navigáciou (bodková notácia) V histórii viac pokus o OO dopytovací jazyk Nedosiahli rozšírenosť SQL JPA: Jazyk JPQL (Java Persistence Query Language) 75

76 JPQL Plne objektovo orientovaný dopytovací jazyk Na rozdiel od JDBC: dopyt nie je znakový reťazec, ktorému rozumie iba RDBMS, ale veta v jazyku, ktorej rozumie procesor dopytov => kontroly Príklad dopytu s navigáciou: Poplatky k danému účtu SELECT p FROM Poplatok p WHERE p.operacia.ucet LIKE?1 76

enum

enum Objektovo orientované programovanie (enumeračné typy) 8. prednáška (3. časť) Vladislav Novák FEI STU v Bratislave 4.11.2014 (úprava 10.11. na str. 1, 3, 5) Enumeračné typy (Vymenované typy) Enumeračný

Podrobnejšie

PowerPoint Presentation

PowerPoint Presentation 3. Biznis logika a používateľské rozhrania 30. 09. 2013 ÚINF/PAZ1c (Róbert Novotný) Plán na dnes 1. generátor náhodného citátu 1. o biznis logike 2. cesta k trojvrstvovým aplikáciám 2. ďalšie okná do aplikácie:

Podrobnejšie

DediĊnosť

DediĊnosť Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY Dedičnosť v jazyku C# Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond OOP rekapitulácia Trieda je základná jednotka objektového programovania

Podrobnejšie

Microsoft PowerPoint - OOP_prednaska_10.pptx

Microsoft PowerPoint - OOP_prednaska_10.pptx Creational Design Patterns Lecture #10 doc. Ing. Martin Tomášek, PhD. Department of Computers and Informatics Faculty of Electrical Engineering and Informatics Technical University of Košice 2018/2019

Podrobnejšie

gis5 prifuk

gis5 prifuk Úrovne implementácie vektorového GIS. Eva Mičietová Univerzita Komenského v Bratislave Prírodovedecká fakulta Katedra kartografie, geoinformatiky a diaľkového prieskumu zeme Email: miciet@fns.uniba.sk

Podrobnejšie

PowerPoint Presentation

PowerPoint Presentation @ λ UINF/PAZ1c epizóda 8 framework vs. knižnica Knižnica vs. Framework Knižnica množina tried a ich metód, ktoré vytvoríme/zavoláme a oni pre nás niečo spravia Framework program, ktorému podhodíme

Podrobnejšie

iot business hub whitepaper isdd_em_New.pdf

iot  business hub whitepaper isdd_em_New.pdf IoT Business Hub I.S.D.D. plus, s.r.o. Pažítková 5 821 01 Bratislava 27 Slovenská republika 1 IoT Business Hub Univerzálna platforma, pre vaše dáta z akýchkoľvek IoT zariadení prostredníctvom IoT siete

Podrobnejšie

Objektovo orientované programovanie

Objektovo orientované programovanie Objektovo orientované programovanie (Inštalácia prostredia a vytvorenie jednoduchého programu) Vladislav Novák FEI STU v Bratislave 23.9.2014 Obsah Úvod... 1 Java (Java Development Kit)... 1 Inštalácia

Podrobnejšie

História

História Fakulta riadenia a informatiky ŽU Množiny Pojmy zavedené v 8. prednáške N-rozmerné polia Dvojrozmerné polia matica definícia typ[][] premenna inicializácia new typ[pocetriadkov][pocetstlpcov] práca s prvkami

Podrobnejšie

Princípy tvorby softvéru Programovacie paradigmy

Princípy tvorby softvéru   Programovacie paradigmy Princípy tvorby softvéru lukotka@dcs.fmph.uniba.sk www.dcs.fmph.uniba.sk/~lukotka M-255 PTS - ƒo to je programovacia paradigma A programming paradigm is a style, or way, of programming. Paradigm can also

Podrobnejšie

Katalóg služieb OTPdirekt-retail

Katalóg služieb OTPdirekt-retail ELEKTRONICKÉ BANKOVNÍCTVO Katalóg služieb systému OTPdirekt (individuálni klienti) OTP Banka Slovensko, a.s. poskytuje služby elektronického bankovníctva prostredníctvom systému OTPdirekt v moduloch: Call

Podrobnejšie

GEODETICKÝ A KARTOGRAFICKÝ ÚSTAV BRATISLAVA Chlumeckého 4, Bratislava II Obsah 1. Export údajov ZBGIS do CAD formá

GEODETICKÝ A KARTOGRAFICKÝ ÚSTAV BRATISLAVA Chlumeckého 4, Bratislava II     Obsah 1. Export údajov ZBGIS do CAD formá GEODETICKÝ A KARTOGRAFICKÝ ÚSTAV BRATISLAVA Chlumeckého 4, 827 45 Bratislava II www.gku.sk, www.geoportal.sk Obsah 1. Export údajov ZBGIS do CAD formátu (DGN, DXF) pomocou Konverznej služby... 2 Konverzia

Podrobnejšie

Identity Lifecycle Management

Identity Lifecycle Management MPI tutoriál (21.3.2011) MPI Message Passing Interface 1 Systémy s distribuovanou pamäťou Autonómne procesory s vlastnou pamäťou prepojené komunikačnou sieťou Komunikácia realizovaná posielaním správ Procesory

Podrobnejšie

SAEAUT SNMP OPC Server

SAEAUT SNMP OPC Server SAEAUT SNMP OPC Server Monitoring a riadenie s využitím SNMP protokolu a prepojenie s inými systémami cez OPC. SAE Automation, s.r.o., Nová Dubnica Interoperabilita pre Vaše zariadenia a softvérové aplikácie

Podrobnejšie

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra

Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Pra Úroveň strojového kódu procesor Intel Pentium Pamäťový operand Adresovanie pamäte Priama nepriama a indexovaná adresa Práca s jednorozmerným poľom Praktické programovanie assemblerových funkcií Autor:

Podrobnejšie

7/1/2015 Úvod do databáz, skúškový test, max 25 bodov, 90 min

7/1/2015 Úvod do databáz, skúškový test, max 25 bodov, 90 min 19/1/2017 Úvod do databáz, skúškový test, max 60 bodov 1. Uvažujte databázu bez duplikátov a null hodnôt: lubipijan, Alkohol, navstivilidn, Pijan, Krcma, vypilidn, Alkohol, Mnozstvo. Platí: Idn Pijan,

Podrobnejšie

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Zoznam číselníkov používaných pre dátové rozhranie CKS pre zber údajov od

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Zoznam číselníkov používaných pre dátové rozhranie CKS pre zber údajov od Strana 1 z 7 F-200-7- Zoznam číselníkov používaných pre dátové rozhranie CKS pre zber údajov od poskytovateľov ústavnej zdravotnej starostlivosti zaradených do systému financovania podľa DRG Strana 2 z

Podrobnejšie

Slovenská technická univerzita v Bratislave

Slovenská technická univerzita v Bratislave Slovenská technická univerzita v Bratislave FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Ilkovičova 3, 812 19 Bratislava Tímový projekt Ponuka Webové stránky pre cestovnú kanceláriu Tím 12: Bc. Marian

Podrobnejšie

Microsoft Word - Priloha_1.docx

Microsoft Word - Priloha_1.docx Obsah 1 Úvod... 1 2 Hlavné menu verejnej časti ITMS2014+... 1 3 Zoznam ŽoNFP na verejnej časti ITMS2014+... 2 3.1 Vyhľadávanie ŽoNFP... 2 3.2 Horná lišta zoznamu ŽoNFP... 2 3.3 Stĺpce zoznamu ŽoNFP...

Podrobnejšie

Microsoft PowerPoint - ITAPA07 Integracna platforma MF SR

Microsoft PowerPoint - ITAPA07 Integracna platforma MF SR Integračná platforma v systéme riadenia verejných financií Peter Augustín CEE Public Finance Competence Center lead Hewlett Packard Slovakia Erik Minarovič Vedúci oddelenia projektového riadenia Ministrerstvo

Podrobnejšie

Georeceive a Geoshopping

Georeceive a Geoshopping Georeceive a Geoshopping Nové elektronické služby digitálnej mapy Ing. Ján Nývlt Magistrát Hl. m. SR Bratislavy Motivácia Všeobecne záväzné nariadenie Hl. m. SR Bratislavy č. 1/1995 o digitálnej technickej

Podrobnejšie

eKasa

eKasa Používateľská príručka Systém ekasa ekasa zóna (Portál podnikateľa - Účtovník) OBSAH Základné informácie o spoločnosti... 3 História zmien... 4 Obsah... 2 1 E-kasa zóna portál podnikateľa... 3 1.1 O aplikácii...

Podrobnejšie

Aktion.NEXT Novinky vo verzii 1.9

Aktion.NEXT Novinky vo verzii 1.9 Aktion.NEXT Novinky vo verzii 1.9 Windows aplikácia Nové moduly a funkcionalita Prídavné moduly rozširujú systém Aktion.NEXT o dodatočné agendy a funkcie. Môže sa jednať o úplne novú funkcionalitu, ktorá

Podrobnejšie

Integrácia Čo je SOA? Peter Rybár Daniel Buchta Jozef Sivek

Integrácia Čo je SOA? Peter Rybár Daniel Buchta Jozef Sivek Integrácia Čo je SOA? Peter Rybár Daniel Buchta Jozef Sivek Integrácia Systémová Integrácia Spájanie komponentov do jedného systému aby fungoval ako celok. Integrácia v IT Spájanie rôznych softvérových

Podrobnejšie

Slovenská technická univerzita v Bratislave FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Ilkovičova 3, Bratislava Tímový projekt Ponuka Grafi

Slovenská technická univerzita v Bratislave FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Ilkovičova 3, Bratislava Tímový projekt Ponuka Grafi Slovenská technická univerzita v Bratislave FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Ilkovičova 3, 812 19 Bratislava Tímový projekt Ponuka Grafická podpora vyhľadávania znalostí v dokumentoch Tím

Podrobnejšie

Databázy (1) - Prednáška 03

Databázy (1) - Prednáška 03 Databázy (1) Prednáška 03 Alexander Šimko simko@fmph.uniba.sk Contents I JOIN a UPDATE, DELETE a INSERT Section 1 INNER JOIN INNER JOIN motivácia films id name year price 1 Léon: The Professional 1994

Podrobnejšie

Architektúra a návrh Zdôvodnenie navrhnutej architektúry Systém si architektonicky môžeme rozdeliť na viacero vrstiev. Najpodstatnejšie je oddelenie z

Architektúra a návrh Zdôvodnenie navrhnutej architektúry Systém si architektonicky môžeme rozdeliť na viacero vrstiev. Najpodstatnejšie je oddelenie z Architektúra a návrh Zdôvodnenie navrhnutej architektúry Systém si architektonicky môžeme rozdeliť na viacero vrstiev. Najpodstatnejšie je oddelenie zobrazovacej logiky od celého systému, aby bolo možné

Podrobnejšie

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Informačný systém pre materské školy Bakalárska práca 2019 Monika Vlčková

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Informačný systém pre materské školy Bakalárska práca 2019 Monika Vlčková UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Informačný systém pre materské školy Bakalárska práca 2019 Monika Vlčková UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY,

Podrobnejšie

EURÓPSKA KOMISIA V Bruseli C(2018) 6560 final ANNEX 1 PRÍLOHA k vyoknávaciemu rozhodnutiu Komisie, ktorým sa stanovuje metodika monitorov

EURÓPSKA KOMISIA V Bruseli C(2018) 6560 final ANNEX 1 PRÍLOHA k vyoknávaciemu rozhodnutiu Komisie, ktorým sa stanovuje metodika monitorov EURÓPA KOMISIA V Bruseli 11. 10. 2018 C(2018) 6560 final ANNEX 1 PRÍLOHA k vyoknávaciemu rozhodnutiu Komisie, ktorým sa stanovuje metodika monitorovania a pokyny na podávanie správ členskými štátmi v súlade

Podrobnejšie

User:Andrej Sedlacek

User:Andrej Sedlacek User:Andrej Sedlacek Zadanie Zadaním pre tento projekt je vytvoriť nástroj pre fazetové vyhľadávanie v rámci media monitoring SAV, ktoré bude obsahovať fazety podľa výskytov daných ľudí v e-mailoch a podľa

Podrobnejšie

Microsoft PowerPoint - SLIDES_02DTD.ppt

Microsoft PowerPoint - SLIDES_02DTD.ppt Validácia dokumentov Document Type Definition základné pojmy základné bloky dokumentu z pohadu deklarácia elementov deklarácia atribútov Validácia overenie platnosti dokumentu voi (nejako zapísaným) pravidlám

Podrobnejšie

Úvod do mobilného operačného systému ANDROID

Úvod do mobilného operačného systému ANDROID Pavol Bisták Vlastnosti mobilných operačných systémov Slúžia pre chytré telefóny, tablety, PDA, iné mobilné zariadenia (herné prístroje, mobilnú TV,...) Menšie rozmery displeja (rozlíšenie), zmena orientácie

Podrobnejšie

eKasa

eKasa Používateľská príručka Systém ekasa ekasa zóna (Portál podnikateľa - Prevádzkar) OBSAH Základné informácie o spoločnosti... 3 História zmien... 4 Obsah... 2 1 E-kasa zóna portál podnikateľa... 3 1.1 O

Podrobnejšie

STRUČNÝ NÁVOD KU IP-COACHU

STRUČNÝ NÁVOD KU IP-COACHU STRUČNÝ NÁVOD KU COACHU 5 Otvorenie programu a voľba úlohy na meranie Otvorenie programu Program IP- COACH na meranie otvoríme kliknutím na ikonu na obrazovke: Obr.1 Voľba úlohy na meranie Po kliknutí

Podrobnejšie

PowerPoint Presentation

PowerPoint Presentation Využitie web služieb na vývoj online aplikácií Katarína Žáková Slovenská technická univerzita v Bratislave Fakulta elektrotechniky a informatiky Ústav automobilovej mechatroniky katarina.zakova@stuba.sk

Podrobnejšie

midterm2014_1

midterm2014_1 Midterm 2014 Meno a priezvisko: obsahuje 5 príkladov, spolu 31>25 bodov skupina: 1) [8 bodov] Zistite, čo počíta nasledujúca funkcia foo pre n>=0. Hint: foo(1000) = 1. static long foo(long n) { return

Podrobnejšie

INTERNET BANKING Ako zrealizovať hromadný prevod VŠETKO, ČO JE MOŽNÉ with.vub.sk, Bank of

INTERNET BANKING Ako zrealizovať hromadný prevod VŠETKO, ČO JE MOŽNÉ   with.vub.sk, Bank of INTERNET BANKING Ako zrealizovať hromadný prevod VŠETKO, ČO JE MOŽNÉ www.vub.sk, with.vub.sk, 0850 123 000 Bank of VYNOVENÝ INTERNET BANKING Nový moderný dizajn Dostupnosť zo všetkých zariadení Prehľad

Podrobnejšie

Informačný systém pre externú časť a písomnú formu internej časti maturitnej skúšky Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská prír

Informačný systém pre externú časť a písomnú formu internej časti maturitnej skúšky Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská prír Informačný systém pre EČ a PFIČ maturitnej skúšky Užívateľská príručka pre opravný termín EČ a PFIČ Máj 2019 Obsah 1. ZÁKLADNÉ POKYNY... 3 2. ÚDAJE O ŠKOLE... 4 2.1 KONTROLA A ZMENA ÚDAJOV... 4 2.2 ZMENA

Podrobnejšie

SK_mTransfer_Okamzita_notifikacia_ indd

SK_mTransfer_Okamzita_notifikacia_ indd mtransfer Okamžitá notifikácia o mtransfere Dokumentácia pre externého partnera vložka číslo: 1503/B, IČO: 36 819 638, DIČ: 2022429156, IČ DPH: SK 2022429156 tel. č.: +421 2 68 23 03 01, fax: +421 2 68

Podrobnejšie

Ness Technologies, Inc. Česká republika

Ness Technologies, Inc. Česká republika Portálové riešenia v regionálnej samospráve APIR Administratívny portál inteligentného regiónu Konferencia efocus 2008 Trendy, stratégie a IT technológie pre roky 2008 až 2010 5. marec 2008, Technopol,

Podrobnejšie

Komunikácia deklarantských SW s IS CEP Bratislava OPIS je spolufinancovaný z ERDF

Komunikácia deklarantských SW s IS CEP Bratislava OPIS je spolufinancovaný z ERDF Komunikácia deklarantských SW s IS CEP 13. 3. 2015 Bratislava Obsah Relevantné služby pre elektronické colné konanie Používanie týchto služieb Elektronická komunikácia systémov Relevantné služby Podanie

Podrobnejšie

Microsoft Word - 11_Distribuované spracovanie dát nad MapReduce architektúrou _Hadoop a Hive_

Microsoft Word - 11_Distribuované spracovanie dát nad MapReduce architektúrou _Hadoop a Hive_ Distribuované spracovanie dát nad MapReduce architektúrou (Hadoop a Hive) Martin Šeleng Ústav Informatiky, Slovenská Akadémia Vied, Dúbravská cesta 9, 845 07 Bratislava, Slovakia martin.seleng@savba.sk

Podrobnejšie

MO_TČOZ_TLY_2018_2019

MO_TČOZ_TLY_2018_2019 % % Spojená škola Tvrdošín Stredná priemyselná škola informačných technológií Ignáca Gessaya Školský rok: 2018/2019 Okruhy tém Teoretická časť odbornej zložky maturitnej skúšky Študijný odbor: 3918 M technické

Podrobnejšie

Microsoft Word - Manažment_tagov_tim24_tema12_2017.docx

Microsoft Word - Manažment_tagov_tim24_tema12_2017.docx Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Ilkovičova 2, 842 16 Bratislava 4 Manažment tagov Tím 24 Študijný program: Inteligentné softvérové systémy, Internetové

Podrobnejšie

s sol

s sol 15/1/2009 Úvod do databáz, skúškový test, max 25 bodov, 90 min 0. Súhlasím so zverejnením výsledku môjho testu vo forme [Meno, Výsledok] na webstránke prednášky. ÁNO (1), NIE (0). ÁNO 1. Daná je databáza:

Podrobnejšie

Používateľská príručka Obsah Používateľská príručka... 1 Administrácia servera... 2 FTP... 2 Remote Desktop... 3 Administrácia databáze:... 3 Spusteni

Používateľská príručka Obsah Používateľská príručka... 1 Administrácia servera... 2 FTP... 2 Remote Desktop... 3 Administrácia databáze:... 3 Spusteni Používateľská príručka Obsah Používateľská príručka... 1 Administrácia servera... 2 FTP... 2 Remote Desktop... 3 Administrácia databáze:... 3 Spustenie web servera... 4 OPC WEB LAB aplikácia... 5 Inštalácia

Podrobnejšie

Operačné systémy Prednáška č. 2 Windows 95 Windows 95 má povesť ľahko ovládateľného systému pre užívateľov a ťažkého systému pre programátorov. Začiat

Operačné systémy Prednáška č. 2 Windows 95 Windows 95 má povesť ľahko ovládateľného systému pre užívateľov a ťažkého systému pre programátorov. Začiat Operačné systémy Prednáška č. 2 Windows 95 Windows 95 má povesť ľahko ovládateľného systému pre užívateľov a ťažkého systému pre programátorov. Začiatočníci sú často zmätení architektúrou Windows a štruktúrou

Podrobnejšie

Funkcionálne programovanie Cvičenie 9 Funkcionálne programovanie v Jave Sergej Chodarev 22. november 2017 Technická Univerzita v Košiciach

Funkcionálne programovanie Cvičenie 9 Funkcionálne programovanie v Jave Sergej Chodarev 22. november 2017 Technická Univerzita v Košiciach Funkcionálne programovanie Cvičenie 9 Funkcionálne programovanie v Jave Sergej Chodarev 22. november 2017 Technická Univerzita v Košiciach Funkcie vyššieho rádu Ako v Jave implementovať funkciu, ktorá

Podrobnejšie

eKasa

eKasa Virtuálna Registračná Pokladnica Modul OPD Android OBSAH Základné informácie o spoločnosti... Chyba! Záložka nie je definovaná. História zmien... Chyba! Záložka nie je definovaná. Obsah... 3 1 Systém e-kasa

Podrobnejšie

Java a JEE Peter Girovský IBM

Java a JEE Peter Girovský IBM Java a JEE Peter Girovský IBM Obsah Čo je to JEE (J2EE)? WebSphere Application Server (WAS) WebSphere Application Server Network Deployment koncept Vysoká dostupnosť aplikácií a služieb v JEE svete JEE

Podrobnejšie

Identity Lifecycle Management

Identity Lifecycle Management 9. prednáška (13.11.2017) Budujeme triedy alebo Murovanie v OOP 1 DVDčka 2 Cieľ: pohodlná správu zbierky DVD-čiek. Vyžadovaná funkcionalita: vieme vložiť info o novom DVD odstrániť DVD (napríklad sa poškodilo

Podrobnejšie

NSK Karta PDF

NSK Karta PDF Názov kvalifikácie: Architekt informačných systémov Kód kvalifikácie U2511002-01348 Úroveň SKKR 6 Sektorová rada IT a telekomunikácie SK ISCO-08 2511002 / IT architekt, projektant SK NACE Rev.2 J INFORMÁCIE

Podrobnejšie

Snímka 1

Snímka 1 Implementácia národných projektov Úradu geodézie, kartografie a katastra SR v rámci OPIS Slavomír Božoň Úrad geodézie, kartografie a katastra SR IT Summit 2011, 6. október 2011 Identifikácia projektov

Podrobnejšie

MANUAL_PRE_UVODNU_PRACU_S_AIS

MANUAL_PRE_UVODNU_PRACU_S_AIS MANUÁL PRE ÚVODNÚ PRÁCU S AKADEMICKÝM INFORMAČNÝM SYSTÉMOM Link na prístup do AIS2: https://ais2.euba.sk/ais/start.do Prístup cez univerzitnú stránku https://www.euba.sk Prihlasovanie do AIS login: číslo

Podrobnejšie

03_ControlFlow.dvi

03_ControlFlow.dvi 1 Riadenie toku programu Príkazy v Matlabe na kontrolu toku programu fungujú veľmi podobne ako v iných programovacích jazykoch. Zoznam: IF (IF-END, IF-ELSE-END, IF-ELSEIF-ELSE-END), SWITCH-CASE, FOR cykly,

Podrobnejšie

0022-vub-mobilne-tokeny-200x200-v03.indd

0022-vub-mobilne-tokeny-200x200-v03.indd MOBILNÝ TOKEN Sprievodca aktiváciou a používaním VŠETKO, ČO JE MOŽNÉ www.vub.sk, 0850 123 000 Bank of 1. ČO JE MOBILNÝ TOKEN Mobilný Token je aplikácia v mobilnom telefóne, ktorá umožňuje jednoducho potvrdzovať

Podrobnejšie

Manuál aplikácie eoev

Manuál aplikácie eoev Manuál aplikácie eoev Obsah Zmeny v dokumente... 3 Informácie o aplikácii... 4 Určenie... 4 Funkcie... 4 Požiadavky... 4 Inštalácia aplikácie... 5 Používanie aplikácie... 6 Spustenie... 6 Popis hlavného

Podrobnejšie

Portál VŠ a CEP

Portál VŠ a CEP Portál VŠ a jeho zjednocovacia úloha RNDr. Darina Tothová, PhD. Ing. Ľuboš Magát Ing. Juraj Fabuš, PhD., Ing. Jozef Koricina EUNIS - SK KĽÚČOVÉ SYSTÉMY VYSOKEJ ŠKOLY akademický informačný systém, ekonomický

Podrobnejšie

Microsoft Word Nextra_ADSLink.doc

Microsoft Word Nextra_ADSLink.doc Nextra ADSLink Nové služby Nextra ADSLink umožňujú zákazníkom pripojiť sa na internet prostredníctvom technológie ADSL. Technológia ADSL efektívne využíva existujúce telefónne siete, bez dramatických zásahov

Podrobnejšie

Resolution

Resolution Nastavenie rozlíšenia obrazovky Kvôli podstate technológie displeja z tekutých kryštálov (LCD) je rozlíšenie obrazu vždy pevne stanovené. Najlepší výkon zobrazenia dosiahnete nastavením rozlíšenia obrazovky

Podrobnejšie

INTERNET BANKING Práca s tokenom VŠETKO, ČO JE MOŽNÉ with.vub.sk, Bank of

INTERNET BANKING Práca s tokenom VŠETKO, ČO JE MOŽNÉ   with.vub.sk, Bank of INTERNET BANKING Práca s tokenom VŠETKO, ČO JE MOŽNÉ www.vub.sk, with.vub.sk, 0850 123 000 Bank of VYNOVENÝ INTERNET BANKING Nový, moderný dizajn Dostupnosť zo všetkých zariadení Prehľad o svojich financiách

Podrobnejšie

Pravidlá bezpečnosti pre majiteľov certifikátov certifikačnej autority DÔVERA zdravotná poisťovňa, a. s. Verzia 1.1 Platí od

Pravidlá bezpečnosti pre majiteľov certifikátov certifikačnej autority DÔVERA zdravotná poisťovňa, a. s. Verzia 1.1 Platí od Pravidlá bezpečnosti pre majiteľov certifikátov certifikačnej autority DÔVERA zdravotná poisťovňa, a. s. Verzia 1.1 Platí od 1.1. 2011 Obsah 1 Úvod... 3 2 Bezpečnostné pravidlá pre majiteľov certifikátov

Podrobnejšie

portál scientia.sk

portál scientia.sk P o r t á l s c i e n t i a. s k rok prvý Marián Vaňo, Centrum VTI SR Brána III, CVTI SR, 9.11.2011 Podporujeme výskumné aktivity na Slovensku / Projekt je spolufinancovaný zo zdrojov EÚ čo je scientia.sk

Podrobnejšie

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto

Tue Oct 3 22:05:51 CEST Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, kto Tue Oct 3 22:05:51 CEST 2006 2. Začiatky s jazykom C 2.1 Štruktúra programu Štruktúra programu by sa dala jednoducho popísať nasledovnými časťami, ktoré si postupne rozoberieme: dátové typy príkazy bloky

Podrobnejšie

Používateľský manuál EZP

Používateľský manuál EZP E V I D E N C I A Z Á V E R E Č N Ý C H P R Á C (používateľský manuál) MOTIVÁCIA A HLAVNÉ ÚLOHY PRE MODUL ZBERU ZP Modul EZP rieši problém nárazového zberu ZP 1 na univerzite. Keďže výsledky kontroly originality

Podrobnejšie

PowerPoint Presentation

PowerPoint Presentation KNOW WHERE IT IS Riešenie na evidenciu a inventarizáciu hmotného a nehmotného majetku Facility Management Days 2019 Hotel TATRA 04.06.2019 Ing. Miroslav Blažovský Sales Manager Obsah O spoločnosti Problémy/Riešenie

Podrobnejšie

Manažment v Tvorbe Softvéru 2018/2019

Manažment v Tvorbe Softvéru 2018/2019 (dokonč.) MTS 2018/19 I. M. rozsahu projektu II. M. rozvrhu projektu III. M. nákladov projektu rozsahu rozvrhu Definovanie činností nákladov Získanie požiadaviek Zoradenie činností Odhad trvania činností

Podrobnejšie

Databázy (1) - Prednáška 04

Databázy (1) - Prednáška 04 Databázy (1) Prednáška 04 Alexander Šimko simko@fmph.uniba.sk Contents I Množinové operácie UPSERT Množinové operácie Section 1 Množinové operácie Množinové operácie Množinové operácie Motivácia Chceme

Podrobnejšie

Microsoft Word - prirucka_katedry_nova

Microsoft Word - prirucka_katedry_nova Práca v systéme BUXUS Príručka pre katedrových redaktorov Michal Minarik michal.minarik@stuba.sk 2 Obsah Prihlásenie do systému BUXUS... 3 Prihlasovacie údaje... 3 Prihlasovacia obrazovka... 3 Úvodné menu...

Podrobnejšie

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre externý subjekt FR SR Strana 1 z 11 Dátové rozhranie

Úrad pre dohľad nad zdravotnou starostlivosťou Žellova 2, Bratislava Dátové rozhranie pre externý subjekt FR SR Strana 1 z 11 Dátové rozhranie Strana 1 z 11 Dátové rozhranie - dávka 568 Popis dávky: Oznámenie FR SR o a) vymeriavacích základoch fyzických osôb podľa 13 a údajov pre vykonanie ročného zúčtovania poistného podľa 19 zákona č. 580/2004

Podrobnejšie

Finančné riaditeľstvo Slovenskej republiky 12/ORP/2019/IM Postup pre overenie pravosti pokladničného dokladu Informácia je určená pre subjekty (zákazn

Finančné riaditeľstvo Slovenskej republiky 12/ORP/2019/IM Postup pre overenie pravosti pokladničného dokladu Informácia je určená pre subjekty (zákazn Finančné riaditeľstvo Slovenskej republiky 12/ORP/2019/IM Postup pre overenie pravosti pokladničného dokladu Informácia je určená pre subjekty (zákazníkov), ktorým bol vyhotovený pokladničný doklad z pokladnice

Podrobnejšie

Snímka 1

Snímka 1 PF UPJŠ v Košiciach Moyzesova 16, 041 54 Košice www.science.upjs.sk Informatika na UPJŠ v Košiciach alebo Ako to vidíme my Doc. RNDr. Gabriel Semanišin, PhD. Univerzita P.J. Šafárika, Prírodovedecká fakulta

Podrobnejšie

Výnimky

Výnimky Objektovo orientované programovanie (výnimky) 7. prednáška Vladislav Novák FEI STU v Bratislave 28.10.2014 (oprava 4.11 na str. 9) Obsah Výnimky (exceptions)... 1 Zachytenie a spracovanie výnimiek... 2

Podrobnejšie

Návod na obsluhu CompactIO 1

Návod na obsluhu CompactIO 1 Návod na obsluhu CompactIO 1 Rozmery Popis panelov Zapojenie digitálnych vstupov a releolých kontaktov 2 Popis výrobku CompactIO je modul pre vzdialené ovládanie. Poskytuje vstavanú podporu pre priemyselné

Podrobnejšie

Prezentácia programu PowerPoint

Prezentácia programu PowerPoint Interaktívne 2D/3D aplikácie Unity II ERIK KUČERA MULTIMÉDIA A TELEMATIKA PRE MOBILNÉ PLATFORMY PREDNÁŠKA 6 Prehľad pojmov vo svete enginov ERIK KUČERA MULTIMÉDIA A TELEMATIKA PRE MOBILNÉ PLATFORMY PREDNÁŠKA

Podrobnejšie

eKasa

eKasa Používateľská príručka Systém ekasa ekasa zóna (Portál podnikateľa - Technik) OBSAH Základné informácie o spoločnosti... 3 História zmien... 4 Obsah... 2 1 E-kasa zóna portál podnikateľa... 3 1.1 O aplikácii...

Podrobnejšie

Matej Kendera - PDF, word, lucene, java

Matej Kendera - PDF, word, lucene, java Matej Kendera - PDF, word, lucene, java Indexovanie PDF a Word dokumentov na disku - Konvertovanie dokumentov do systému - Spracovanie dokumentov - Využitie Lucene, na indexáciu a vyhľadanie podobných

Podrobnejšie

Stravné - přecenění

Stravné - přecenění Vytvorenie a nastavenie novej kategórie pre Obedy zadarmo pre Materskú školu Platí pre verziu programu Stravné 4.61 a 4.62 POZOR! Postup pre jedálne ZÁKLADNÝCH ŠKÔL, ktoré majú povinnosť sledovať dotácie

Podrobnejšie

Novinky v OpcDbGateway 5.0

Novinky v OpcDbGateway  5.0 Čo je OpcDbGateway Softvér pre integráciu aplikácii SAE Automation, s.r.o., Nová Dubnica Interoperabilita pre Vaše zariadenia a softvérové aplikácie Obsah Úvod Na čo sa využíva Funkcionalita Integrácia

Podrobnejšie

Prezentácia programu PowerPoint

Prezentácia programu PowerPoint Praktické skúsenosti s použitím rôznych metód sledovania teploty PharmDr Daniela Jenisová 6.12.2016 Conforum Workshop Monitorovanie teploty Podľa smerníc pre prepravu farmaceutických produktov je nutné

Podrobnejšie

IT NEWS

IT NEWS Objednávanie cez e-shop pre firmy (B2B) Jún 2019 Vypracoval: RNDr. Andrea Allárová, e-commerce manager Prihlásenie na stránku Pred prvým prihlásením na stránku www.hagard.sk kontaktujte svojho prideleného

Podrobnejšie

Privátna zóna pre prevádzku Obsah Privátna zóna pre prevádzku 1 Obsah 1 Webová stránka 2 Úvodná stránka 2 Registrácia prevádzka/penzión

Privátna zóna pre prevádzku Obsah Privátna zóna pre prevádzku 1 Obsah 1 Webová stránka   2 Úvodná stránka 2 Registrácia prevádzka/penzión Privátna zóna pre prevádzku Obsah Privátna zóna pre prevádzku 1 Obsah 1 Webová stránka www.rekrepo.sk 2 Úvodná stránka 2 Registrácia prevádzka/penzión 3 Prihlásenie prevádzka/penzión 4 Prehľad 5 Nová platba

Podrobnejšie

Ponuka Štart

Ponuka Štart Mária Kostková Obsah Na čo slúži Umiestnenie ponuky Štart Základné časti ponuky Štart Prístup k priečinkom nastaveniam k programom Pri spustení Príslušenstvo Ovládací panel Na čo slúži vstup k programom,

Podrobnejšie

13/1/2015 Úvod do databáz, skúškový test, max 25 bodov, 90 min 1. Daná je databáza (bez duplikátov a null hodnôt): capuje(krcma, Alkohol), lubi(pijan,

13/1/2015 Úvod do databáz, skúškový test, max 25 bodov, 90 min 1. Daná je databáza (bez duplikátov a null hodnôt): capuje(krcma, Alkohol), lubi(pijan, 13/1/2015 Úvod do databáz, skúškový test, max 25 bodov, 90 min 1. Daná je databáza (bez duplikátov a null hodnôt): capuje(krcma, Alkohol), lubi(pijan, Alkohol), navstivil(idn, Pijan, Krcma), vypil(idn,

Podrobnejšie

Cieľové požiadavky na vedomosti a zručnosti pri maturitnej skúške skupiny odborov 25 Informačné a komunikačné technológie Všeobecné - cieľové požiadav

Cieľové požiadavky na vedomosti a zručnosti pri maturitnej skúške skupiny odborov 25 Informačné a komunikačné technológie Všeobecné - cieľové požiadav Cieľové požiadavky na vedomosti a zručnosti pri maturitnej skúške skupiny odborov 25 Informačné a komunikačné technológie Všeobecné - cieľové požiadavky na maturitnú skúšku spoločné pre všetky študijné

Podrobnejšie

Finančné riaditeľstvo Slovenskej republiky Testovacie scenáre

Finančné riaditeľstvo Slovenskej republiky Testovacie scenáre Finančné riaditeľstvo Slovenskej republiky Testovacie scenáre HISTÓRIA ZMIEN A ICH POPIS... 4 POJMY... 4 SKRATKY... 4. TESTOVACIE SCENÁRE... 5. NAHRATIE ÚDAJOV PRE INICIALIZÁCIU ORP (CHDÚ) 5.. TS_0_0 NAHRATIE

Podrobnejšie

VSDC Free Video Editor stručný návod na používanie Link na sťahovanie softvéru: K prog

VSDC Free Video Editor stručný návod na používanie Link na sťahovanie softvéru:   K prog VSDC Free Video Editor stručný návod na používanie Link na sťahovanie softvéru: http://www.videosoftdev.com/free-video-editor?avgaffiliate=3305 K programu je prístupný podrobný manuál doplnený s videotutoriálmi

Podrobnejšie

PowerPoint Presentation

PowerPoint Presentation Nová éra spolupráce CISCO EXPO 2011 Marcel Rebroš Generálny riaditeľ Cisco Slovakia Obsah Základné elementy spolupráce Mobilita Video Základné elementy spolupráce V minulosti Teraz ĽUDIA Vo vnútri organizácie

Podrobnejšie

Microsoft PowerPoint - Prog_p08.ppt

Microsoft PowerPoint - Prog_p08.ppt Štruktúra záznam Operácie s bitovými údajmi 1. Štruktúra záznam zložený typ štruktúry záznam varianty štruktúr záznam reprezentácia štruktúry záznam použitie štruktúry záznam v jazyku C 2. Operácie s bitovými

Podrobnejšie

Prevádzka

Prevádzka Prevádzka Registrácia prevádzka/penzión - registrácia podnikateľského účtu - výber check box - prevádzka - pri podnikateľskom účte možnosť registrácie až piatich prevádzok naraz - uvedenie sprostredkovateľa

Podrobnejšie

Stravné - přecenění

Stravné - přecenění Vytvorenie a nastavenie novej kategórie pre Obedy zadarmo Platí pre verziu programu Stravné 4.61 POZOR! Postup pre jedálne základných škôl, ktoré majú povinnosť sledovať dotácie od 1. 9. 2019 je uvedený

Podrobnejšie

Rozdeľovanie IT zákaziek UX Peter Kulich

Rozdeľovanie IT zákaziek UX Peter Kulich Rozdeľovanie IT zákaziek UX Peter Kulich Čo to user experience (UX) je? Nejde len o testovanie na používateľoch a návrh fancy webového rozhrania Čo to user experience (UX) je? Obhajuje požiadavky, očakávania

Podrobnejšie

7011

7011 Gypsy Rose, je 5-valcový, multi-líniový výherný video prístroj. Vyhrať možno v závislosti od rozhodnutia hráča na 1 až 30tich herných líniách. Hra je prístupná aj prostredníctvom mobilnej verzie, pričom

Podrobnejšie

Kategória školenia Kurzy Project, Outlook obsahuje kurzy: Outlook základy Účastníci kurzu Outlook základy sa naučia využívať tento program na ov

Kategória školenia Kurzy Project, Outlook obsahuje kurzy: Outlook základy Účastníci kurzu Outlook základy sa naučia využívať tento program na  ov Kategória školenia Kurzy Project, Outlook obsahuje kurzy: Outlook základy Účastníci kurzu Outlook základy sa naučia využívať tento program na e-mailovú komunikáciu, organizovanie informácií a svojho času.

Podrobnejšie

Podpora metód operačného výskumu pri navrhovaní systému liniek doc. RNDr. Štefan PEŠKO, CSc. Katedra matematických metód, Fa

Podpora metód operačného výskumu pri navrhovaní systému liniek doc. RNDr. Štefan PEŠKO, CSc. Katedra matematických metód, Fa Podpora metód operačného výskumu pri navrhovaní systému liniek doc. RNDr. Štefan PEŠKO, CSc. stefan.pesko@fri.uniza.sk Katedra matematických metód, Fakulta riadenia a informatiky, Žilinská univerzita v

Podrobnejšie

aplikácia do mobilého telefónu na stiahnutie digitálneho tachografu

aplikácia do mobilého telefónu na stiahnutie digitálneho tachografu aplikácia do mobilého telefónu na stiahnutie digitálneho tachografu 1. Ako zistiť či je mobil vhodný na používanie DigiDown GO Vzhľadom na rôznorodosť výrobcov mobilných telefónov, rôznorodosť systémov

Podrobnejšie

5/1/2012 Úvod do databáz, skúškový test, max 25 bodov, 90 min 1. Daná je databáza: capuje(krcma, Alkohol, Cena), lubi(pijan, Alkohol) navstivil(idn, P

5/1/2012 Úvod do databáz, skúškový test, max 25 bodov, 90 min 1. Daná je databáza: capuje(krcma, Alkohol, Cena), lubi(pijan, Alkohol) navstivil(idn, P 5/1/2012 Úvod do databáz, skúškový test, max 25 bodov, 90 min 1. Daná je databáza: capuje(krcma, Alkohol, Cena), lubi(pijan, Alkohol) navstivil(idn, Pijan, Krcma), vypil(idn, Alkohol, Mnozstvo). Platí:

Podrobnejšie

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C

Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - C Centrum vedecko-technických informácií, Odbor pre hodnotenie vedy, Oddelenie pre hodnotenie publikačnej činnosti Vyhľadávanie a práca so záznamami - CREPČ 2 Manuál pre autorov (aktualizované dňa 18.3.2019)

Podrobnejšie

Ekon Supply of labour by John Pencavel

Ekon Supply of labour by John Pencavel Labour supply of men by John Pencavel Prednáša: V. Kvetan (EÚ SAV) Obsah kapitoly Úvod Empirické regulácie Trendy v pracovnom správaní Cross sekčné odchýlky v pracovnom správaní Koncepčný rámec Kanonický

Podrobnejšie