}w!"#$%&'()+,-./012345<ya

Rozměr: px
Začít zobrazení ze stránky:

Download "}w!"#$%&'()+,-./012345<ya"

Transkript

1 }w!"#$%&'()+,-./012345<ya MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Aplikace pro správu docházkového/bezpečnostního systému BAKALÁŘSKÁ PRÁCE Martin Jakubec Brno, podzim 2010

2 Prohlášení Prohlašuji, že tato bakalářská práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Martin Jakubec Vedoucí práce: Mgr. Martin Jakubička ii

3 Poděkování Chtěl bych poděkovat vedoucímu práce Mgr. Martinovi Jakubičkovi za rady a připomínky a za umožnění práce na vlastní téma. iii

4 Shrnutí Cílem této bakalářské práce je navrhnout a implementovat webovou aplikaci pro správu docházkového/bezpečnostního systému. Aplikace bude implementována v jazyce Java EE za pomoci Stripes Frameworku a Enterprise Java Beans 3.0. iv

5 Klíčová slova docházkový systém, webová aplikace, Java EE, EJB 3, Stripes Framework, objektová analýza a návrh v

6 Obsah 1 Úvod Analýza Současné systémy Proč zavádět přístupové/docházkové systémy? Možnosti zamezení přístupu Komunikace s terminálem Rozdělení terminálů Kontaktní Bezkontaktní On-line Off-line Dodavatelé docházkových systémů EFG CZ spol. s r.o AVARIS, s.r.o ANeT-Advanced Network Technology, s.r.o IReSoft, s.r.o Zhodnocení Požadavky na systém Embedded modul SFM Aplikace pro sběr dat Use Case diagram Návrh a implementace Použité technologie a nástroje Java Enterprise Edition (Java EE) GlassFish Server Enterprise Java Beans 3 (EJB 3) Stripes Framework Java Server Pages (JSP) HyperText Markup Language (HTML) MySQL Aplikační část Balíček Users Balíček Buildings Balíček Permissions Balíček Transactions

7 3.2.5 Příklady rozhraní v balíčku bcthesis.model.users Datový model ERD diagram Webová část Model View Controller Registrace uživatele Návrh uživatelského rozhraní Ukázka uživatelského rozhraní Vzdálený přístup Závěr Příloha A

8 1 Úvod Elektronické informační systémy (IS) se dnes staly již nezbytnou součástí řízení moderního podniku. Umožňují mimo jiné rychlejší práci, efektivnější plánování a lepší využití finančních a lidských zdrojů. Využití výhod automatizované správy a uložení dat si dnes uvědomuje drtivá většina společností. Finanční prostředky, investované do nákupu nebo vývoje takového systému, se mnohonásobně vrátí časem ušetřeným za správu papírové kartotéky. Informační systémy mohou být rozsáhlé a mohou řešit celou sadu úloh (účetnictví, sklad, řízení podniku), nebo naopak mohou být zaměřeny na jeden konkrétní problém. Tato bakalářská práce se zabývá návrhem a implementací aplikace pro správu docházky. Na českém i zahraničním trhu je spousta společností, které poskytují přístupové systémy různého zaměření a různého rozsahu. Tyto systémy většinou slouží pro evidenci docházky zaměstnanců nebo sledování jejich pohybu po areálu po dobu pracovní doby. Cena těchto systémů se odvíjí od počtu zaměstnanců a počtu vstupních zařízení (terminálů). Tato investice se většinou vyplatí i menším firmám do 50 zaměstnanců. Problém nastává v případě, kdy máme k dispozici vlastní terminály a potřebujeme pouze software. Většina firem dodává pouze kompletní řešení, včetně hardwarových součástí. Vývoj aplikace pro správu vlastních hardwarových součástí bývá obvykle velmi nákladný. Cílem této bakalářské práce je navrhnout a implementovat aplikaci pro jednoduchou správu takovéhoto systému. V kapitole 2 se věnuji získávání poznatků o dostupných systémech, abych mohl co nejlépe navrhnout aplikaci pro naše potřeby. Postupně uvádím informace o moderních docházkových systémech, o typech a konstrukci vstupních terminálů a v neposlední řadě zmiňuji několik českých společností, které se vývojem takových systémů zabývají a stručně představuji jejich řešení. Ve 3. kapitole získané poznatky aplikuji v samotném návrhu a implementaci vlastního řešení. 3

9 2 Analýza V současné době je každá firma v ČR podle zákona č. 262/2006 Sb., zákoník práce [3], povinna evidovat docházku svých zaměstnanců. Evidence docházky má ale i jiná opodstatnění, snadno lze například kontrolovat pozdní příchody. Výstupy těchto systémů (at už elektronických nebo papírových) lze použít pro statistické účely, nebo k výpočtu mzdy. Při použití elektronického informačního systému se tyto možnosti ještě více zjednoduší. Odpadá nutnost ručního přepočítávání údajů z papírové karty zaměstnance, počítačový systém za vás udělá vše potřebné a bez chyb. Pro areály podléhající přísnějším bezpečnostním podmínkám lze monitorovat pohyb osob a řídit přístup do jednotlivých objektů. 2.1 Současné systémy V současné době existuje už jen minimální množství společností, které stále využívají papírové karty pro evidenci docházky. 2.2 Proč zavádět přístupové/docházkové systémy? Automatická kontrola pozdních příchodů do zaměstnání. Automatizované získání statistických informací pro řízení firmy. Pohyb osob je možný omezit v čase. Je možné měnit oprávnění vstupu zaměstnanců z jednoho místa, aniž by konkrétní zaměstnanec musel být přítomen. Je možné sledovat pohyb osob po areálu. Je možné zpoplatnit pobyt v určitých objektech např. hodinovou sazbou. Tento způsob se dá využít například na parkovištích, ve fitcentrech, ve sportovních nebo jiných rekreačních zařízeních. 4

10 2. ANALÝZA K přístupu do uzamknutých částí areálu není nutný fyzický klíč (větší množství klíčů). Všechny klíče nahradí např. jedna čipová karta nebo otisk prstu. 2.3 Možnosti zamezení přístupu Turniket Turniket je nejméně bezpečné vstupní zařízení. Nepovolaná osoba může velmi snadno přes turniket projít, pokud není vybaven další mřížovou konstrukcí okolo samotné závory. Konstrukce turniketu většinou umožňuje nežádoucí přístup více osobám najednou, proto je tento typ vstupního zařízení vhodný pro objekty s nízkou požadovanou úrovní zabezpečení, nebo pro místa s dodatečnou ostrahou, např. vrátným. Závora Vstupní zařízení vhodné pro omezení přístupu automobilů. Zavřená závora neumožňuje volný průjezd automobilu. Konstrukce závory umožňuje průchod osoby. Tento typ zařízení je proto vhodný pro parkoviště. Dveře s elektromagnetickým zámkem Nejbezpečnější vstupní zařízení ze jmenovaných. Předpokládá se, že neautorizované osoby nejsou schopny dveře otevřít bez použití hrubé síly. U dveří je umístěn terminál, který dveře odemkne po identifikaci a úspěšné autorizaci zaměstnance. Jakmile se dveře otevřou, je umožněn průchod více osobám. 2.4 Komunikace s terminálem Nejlevnější varianta terminálu je tzv. terminál programovatelný master kartou. Tyto terminály jsou schopny pracovat bez použití počítače a není potřeba, aby byly připojeny do sítě. Programování a nastavení tohoto typu terminálu se provádí pomocí master karty, která je jedinečná, a terminál si ji zapamatuje jako první kartu přiloženou po 5

11 2. ANALÝZA zapnutí napájení. Další karty již bere jako normální přístupové. Tato varianta je vhodná pouze pro menší firmy, kde není nutné data v terminálu často měnit. Nastavení je totiž nepohodlné a časově náročné. Všechny ostatní terminály jsou nějakým způsobem propojeny s centrální řídicí jednotkou. Komunikačním médiem je obvykle ethernetová sít nebo sériová linka (RS-232, RS-485), případně wi-fi. 2.5 Rozdělení terminálů Terminálů existuje celá řada. Volba konkrétního typu terminálu závisí na požadavcích investora. Solidní dodavatel s výběrem poradí a dodá řešení na míru potřebám konkrétního podniku. Terminály můžeme dělit podle mnoha kritérií (způsob komunikace, způsob identifikace osoby, konstrukční provedení, a jiné). Níže uvádím několik typů zařízení, jejichž volba má zásadní vliv na funkci požadovaného řešení Kontaktní Identifikace pracovníka probíhá díky fyzickému kontaktu s terminálem. Např. klávesnice pro zadání ID zaměstnance, snímač otisku prstu, snímač magnetické karty Bezkontaktní Identifikace pracovníka probíhá bez fyzického kontaktu. Např. bezkontaktní čipová karta On-line Veškeré informace o přístupech a interakcích s uživatelem jsou ukládány na server v reálném čase, terminál sám odesílá data ihned po interakci se zaměstnancem. Výhody: Možnost sledovat pohyb zaměstnanců v reálném čase. 6

12 2. ANALÝZA Není potřeba žádný další program pro sběr dat. Nevýhody: Teoreticky větší zatížení sít ě díky neustálému zasílání paketů. Složitější řídicí jednotka. Musí být naprogramována tak, aby volala vzdálené metody pro uložení transakce Off-line Veškeré informace o interakcích jsou ukládány přímo do interní paměti terminálu. Je potřeba další program, který v časových intervalech prochází jednotlivé terminály, data z nich sbírá a ukládá na server. Uplatnění naleznou tam, kde není nutné sledovat pohyb osob v reálném čase. Výhody: Terminál není nutno nijak programovat. Informace jsou ukládány do vnitřní paměti. Sběr dat je možné provádět v době nejmenší zátěže sítě. Nevýhody: Nutná vyšší kapacita interní paměti. Aktualizovaná data o přístupech se v aplikaci projeví až po sběru dat z terminálů. 2.6 Dodavatelé docházkových systémů Existuje mnoho společností, jak v České Republice, tak i v zahraničí, které dodávají systémy sloužící k evidenci docházky. Tyto firmy se většinou zabývají jak vývojem docházkových systémů, tak všeobecně vývojem systémů, které ke své činnosti využívají přístupové terminály nebo senzory pohybu. Může se jednat například o systémy pro závodní jídelny (objednávky a výdej obědů), požární systémy, 7

13 2. ANALÝZA systémy pro kontrolu obchůzky, skladové systémy (s použitím čárových kódů) nebo systémy pro zpoplatnění návštěv (např. sportovní centra). Zmíním pár tuzemských společností, které se zabývají vývojem průmyslových přístupových a bezpečnostních systémů, a představím jejich řešení EFG CZ spol. s r.o. Česká společnost, která pro koncové zákazníky dodává systémy pro ochranu objektů nebo identifikaci zaměstnanců, včetně kamerových systémů a požární signalizace. Jejich identifikační systém AK- TION obsahuje moduly pro evidenci docházky, stravování, kontrolu osob a vozidel (s rozpoznáváním SPZ 1 ), kontrolu obchůzky, registraci návštěv a další. Společnost dodává také webovou nástavbu pro svůj software. Tento systém je velice rozsáhlý a disponuje velkým množstvím různých typů terminálů, přesně podle potřeb zákazníka [9] AVARIS, s.r.o. Kromě průmyslových docházkových a bezpečnostních systémů (UNIGate, A-pro, COP) nabízí také školní docházkový systém (SchoolGate), stravovací systém (AJSmenu), teplotní evidenční systém (TESScan) nebo systém pro kontrolu práce strážného (KOSGuard, ActiveGuard) v areálu podniku [5]. Spolu se svým softwarem firma dodává elektromagnetické zámky, turnikety a branky nebo domácí telefony ANeT-Advanced Network Technology, s.r.o. Brněnská společnost, která dodává kompletní aplikace pro řízení a využití lidských zdrojů, včetně docházkových, přístupových systémů a stravovacích systémů. 1. Státní Poznávací Značka 8

14 2. ANALÝZA IReSoft, s.r.o. IReSoft, s.r.o., je další brněnská firma. Jejich stěžejní produkt CYG- NUS je komplexní informační systém pro poskytovatele sociálních služeb. Mimo to firma dodává systém pro evidenci docházky, nazvaný Alveno. Tento systém využívá pro identifikaci osob čtečky otisku prstu nebo bezkontaktní čipové karty a přívěšky. 2.7 Zhodnocení Na trhu je dostupná celá řada systémů, které umožňují správu docházky, bezpečnosti uvnitř podniku nebo celkové řízení, včetně napojení na ostatní moduly, jako jsou účetnictví nebo mzdy. Pokud chceme vybrat systém, který bude nejlépe odpovídat našim potřebám, musíme si položit pár základních otázek. Jaká je požadovaná úroveň zabezpečení? Jaký chceme typ přístupového terminálu? Kolik lidí bude mít přístup do objektu? Jaký požadujeme počet přístupových zařízení? Moderních přístupových systému je spousta a liší se velikostí, rozsahem, úrovní zabezpečení, rozšiřitelností, nebo propojitelností s ostatními komerčními systémy. 2.8 Požadavky na systém Základním požadavkem je propojitelnost se zařízeními pro čtení otisku prstů typu SFM3520 od firmy Suprema, Inc. Je ovšem nutné, aby bylo v budoucnu možné systém jednoduše propojit s moduly jiných typů a výrobců. Správa systému, tj. evidence zaměstnanců, evidence objektů v areálu a správa oprávnění budou prováděny přes webové rozhraní. Registrace nových otisků bude prováděna pomocí desktopové aplikace. Je proto nutné, aby k systému bylo možné přistupovat 9

15 2. ANALÝZA vzdáleně. Toto vzdálené rozhraní bude využíváno také programem pro sběr dat z terminálů. Vzdálené rozhraní bude obsahovat metody pro registraci přihlašovacích údajů a pro uložení transakce (interakce zaměstnance s terminálem) do databáze. 2.9 Embedded modul SFM3520 Vstupní terminál, který bude použit jako reference, vyrábí společnost Suprema, Inc. a jedná se o embeded modul SFM3520 2, disponující čtečkou otisku prstu a 4 MB interní flash pamětí. Otisk prstu se v paměti ukladá v podobě tzv. šablony, což je 256 B hash. Specifikace uvádí [1], že pamět je schopna těchto šablon uchovat až Při pokusu o identifikaci uživatele je tento hash vypočítán z nově sejmutého otisku a porovnán s šablonami uloženými v paměti. Každá transakce (pokus o ověření), at už úspěšná, či neúspěšná, je taktéž uložena v paměti. Těchto transakcí se do paměti vejde Neúspěšné transakce nemusí znamenat pouze pokus o neoprávněný vstup do objektu. Pokud je povolané osobě umožněn vstup až po několikanásobném pokusu o indentifikaci, znamená to, že je zřejmě nutná nová registrace otisku prstu, nebo dodatečné proškolení osoby o používání čtecího zařízení Aplikace pro sběr dat Aplikace pro sběr dat z terminálů, napsaná v jazyku C++, využívá API 3 modulu SFM3520, které je dodáváno společně s modulem. Tato aplikace je již hotová, nejsem jejím autorem, a proto se jí dále v této práci nebudu věnovat. V kapitole Návrh a implementace je uveden část kódu, který je možno použít pro připojení k EJB modulu z desktopové aplikace, psané v C Application programming interface 10

16 2. ANALÝZA Funkční požadavky na systém 1. Systém bude spravovat oprávnění uživatelů ke vstupu do chráněných zón organizace. 2. Systém bude umožňovat registraci nového pracovníka, včetně editace jeho osobních údajů. 3. Systém bude umožňovat správu oprávnění pro vstup do objektů pro jednotlivé role. 4. Systém bude umožňovat správu budov, podbudov (místností) a příslušných vstupních zařízení. 5. Systém bude umožňovat oprávněným uživatelům kontrolovat pohyb lidí po areálu. 6. Při kontrole pohybu bude možné zvolit sledované časové období a/nebo objekt a/nebo uživatele, kterého chceme sledovat. 7. Jednotlivým rolím bude možné omezit přístup do jednotlivých částí aplikace. Nefunkční požadavky na systém 1. Systém bude implementován jako webová aplikace v jazyce Java EE. 2. Aplikační vrstva bude tvořena technologií Enterprise Java Beans a bude umožňovat přístup jak přes webovou aplikaci, tak přes desktopovou aplikaci (pouze pro některé funkce). 11

17 2. ANALÝZA 2.11 Use Case diagram 12

18 3 Návrh a implementace 3.1 Použité technologie a nástroje Java Enterprise Edition (Java EE) Java EE je součást platformy Java, určená pro vývoj informačních systémů a serverových aplikací. Vývoj platformy, resp. jejich dílčích specifikací funguje ve spolupráci více firem v tzv. Java Community Process (JCP) 1. Součástí Javy EE jsou specifikace pro vývoj webových aplikací (např. Java Server Pages), vývoj business logiky (např. Enterprise Java Beans nebo Spring), přístup ke zprávovému middleware (Java Messaging Services), podpora webových služeb a další GlassFish Server Aplikační server vyvinutý společností Sun Microsystems. Slouží jako referenční server, tzn. jako ukázka implementace nových vlastnostní specifikace Java EE. Od verze 2 je ale ve stavu production-ready, je tedy možné jeho produkční nasazení [6]. Jeho použití se řídí licencemi GPL (GNU General Public Licence) 2 a CDDL (Common Development and Distribution License) Enterprise Java Beans 3 (EJB 3) Enterprise Java Beans je součástí specifikace Java EE a slouží pro vývoj aplikační vrstvy informačního systému. Architektura EJB je založena na komponentách, což jsou části systému, které zajišt ují business logiku aplikace [8]. V EJB můžeme využívat následující typy komponent. Entity Bean Třída, které přiřadíme reprezentuje entitu aplikace a slouží jako základ objektově-relačního mapování (ORM)

19 3. NÁVRH A IMPLEMENTACE EJB pro tyto entity zajišt uje persistenci pomocí Java Persistence API (JPA). Stateless Session Bean Třída s je obvykle implementací veřejného rozhraní aplikace. Klienti tato rozhraní využívají pro provádění business operací. Jak název napovídá, tato třída je bezstavová, tzn. neuchovává žádné informace napříč jednotlivými požadavky. Stateful Session Bean Podobně jako Stateless Session Bean, i Stateful Session Bean obvykle implementuje veřejné rozhraní aplikace. Tato třída je ale stavová, tzn. podobně jako HTTP Session si uchovává stav po celou dobu komunikace s klientem. Klient se proto může spolehnout, že uložené informace zůstanou i při dalším požadavku. Třída je označená Každý klient má svou vlastní Stateful Session Bean, se kterou komunikuje. Typickým příkladem použití je nákupní košík. Message-Driven Bean Slouží pro asynchronní komunikaci pomocí Java Messaging Services. Tento typ komponenty se označuje a kromě této anotace musí navíc implementovat rozhraní služby pro zasílání zpráv (např. javax.jms.messagelistener, který je nejběžnější). Příklad kódu pro vzdálené připojení k EJB modulu (C++): try { InitialContext ictx(_use_java_ctor); Context ctx = Context::dyna_cast( ictx.lookup("java:comp/env")); Object ref = myenv.lookup( "ejb/iremotetransactionsmanager"); IRemoteTransactionsManager manager = RemoteTransactionsManager::dyna_cast( 14

20 3. NÁVRH A IMPLEMENTACE )); PortableRemoteObject::narrow(ref, Class::forName(REMOTE_CLASS_NAME) // volani vzdalene metody manager.savetransaction(user_id, timestamp); } catch(exception & e) { cerr<<"unexpected exception!"<<endl; e.printstacktrace(); } Příklad vzdáleného EJB public interface IRemoteTransactionsManager { public void savetransaction(int user_id, int timestamp); } Stripes Framework Stripes je prezentační framework pro jazyk Java EE, který tvoří nástavbu nad Java Servlety. Vývoj webových aplikací pomocí tohoto frameworku je velice snadný díky některým jeho klíčovým vlastnostem [7]: Stripes nevyžaduje žádnou zbytečnou konfiguraci. Pro první spuštění stačí velmi malý XML soubor, ostatní vlastnosti se definují pomocí anotací. Velmi jednoduchá možnost validace uživatelských vstupů (s podporou lokalizace). Snadná práce s formuláři a podpora více akcí u jednoho formuláře. A další... 15

21 3. NÁVRH A IMPLEMENTACE Java Server Pages (JSP) JSP společně s JSTL (JSP Standard Tag Library) 4 slouží k vytváření šablon internetových stránek HyperText Markup Language (HTML) Značkovací jazyk používaný pro popis a vytvoření struktury webových stránek [2]. Jeho počátky sahají do roku 1990, kdy základy tomuto jazyku položili Tim Berners-Lee a Robert Cailliau. Jazyk HTML byl vyvinut jako aplikace jazyka SGML (Standard Generalized Markup Language). V současné době nejpoužívanější specifikace je HTML Touto verzí byl také vývoj jazyka původně ukončen a jeho následovníkem měl být jazyk XHTML (extensible Hyper- Text Markup Language), který je založený na univerzální specifikaci jazyka XML (extensible Markup Language). Tento vývoj jazyka se ale ukázal jako slepá větev. Nejnovější specifikace jazyka se nazývá HTML 5. Jeho vývoj začal v roce 2004 a nyní se nachází teprve na počátku MySQL Jako úložiště dat je použit databázový systém MySQL 6. Využita je verze MySQL Community Server, která je dostupná pod licencí GPL. S vývojem začala švédská firma MySQL AB. Nyní jej vlastní Sun Microsystems a nabízí také placenou verzi pro komerční účely, označenou MySQL Enterprise Edition. Jako naprostá většina relačních databázových systémů, i MySQL používá pro komunikaci jazyk SQL (Structured Query Language), resp. jeho dialekt. V současné době je k dispozici verze s označením 5.5. Od verze 5.1 MySQL plně podporuje pohledy, uložené procedury a triggery [4]. MySQL nabízí podporu různých úložných enginů, z nichž nejpoužívanější jsou MyISAM a InnoDB. Všeobecně je InnoDB novější 4. index.html

22 3. NÁVRH A IMPLEMENTACE a nabízí více možností (podporuje cizí klíče, row-level 7 uzamykání tabulek, transakce), oproti staršímu MyISAM. Nicméně i MyISAM podporuje některé věci, kterými InnoDB nedisponuje, například fulltextové indexy (indexují se jednotlivá slova) použitelné pro složitější vyhledávací operace. 3.2 Aplikační část Jak již bylo řečeno, model aplikace bude vytvořen pomocí technologie EJB. Podle analýzy můžeme model rozdělit na 4 balíčky Balíček Users Balíček bcthesis.model.users bude obsahovat všechny entity týkající se správy uživatelů (User, Role, UserAcl) a rozhraní IUsersManager, které bude obsahovat metody pro práci s těmito entitami, jako jsou například vytváření, úprava a mazání uživatelů systému, vytváření a přiřazování rolí jednotlivým uživatelům a další. Implementace rozhraní IUsersManager se jmenuje UsersManager. Dalé balík obsahuje rozhraní IAuthenticator, obsahující jedinou metodu authenticate(string , String password), která slouží k autentizaci uživatele pro přístup do webové aplikace a vzdálené rozhraní IRemoteUsersManager, které slouží pro registraci otisku prstů. Balíček také zajišt uje nastavení ACL 8 pro přístup do webové aplikace Balíček Buildings Tento balíček (bcthesis.model.buildings) bude obsahovat veškeré entity týkající se správy budov a vstupních zařízení a rozhraní IBuildingsManager, který bude s těmito entitami pracovat. 7. InnoDB podporuje uzamykání tabulky po řádcích. MyISAM podporuje uzamykání pouze celé tabulky. 8. Access Control List 17

23 3. NÁVRH A IMPLEMENTACE Balíček Permissions Balíček bcthesis.model.permissions je určen ke správě oprávnění zaměstnanců ke vstupu do chráněných objektů organizace. Obsahuje entitu Permission a rozhraní IPermissionManager, který tyto oprávnění nastavuje. Dále obsahuje rozhraní IRemotePermissionsManagement, které slouží pro vzdálené dotazování na oprávnění osoby ke vstupu do konkrétní budovy Balíček Transactions Balíček bcthesis.model.transactions je určen k ukládání a prohlížení interakcí zaměstnanců a vstupních zařízení, tzn. jednotlivých průchodů přes terminály. Kromě entity Transaction a rozhraní ITransactionsManager obsahuje také již zmíněné rozhraní IRemoteTransactionsManager, které slouží pro ukládání transakcí vzdáleným zařízením Příklady rozhraní v balíčku bcthesis.model.users Rozhraní public interface IUsersManager { public boolean hasaccessto(user user, AclResource resource, AclAction action); public User finduserbyid(int id); public void saveuser(user user); public void deleteuser(user user); public List<User> findusersbyname(string name); public List<User> findallusers(); public List<Role> findallroles(); public List<UserAcl> findalluseracls(role role); public boolean isinrole(user user, Role role); public void updateroles(user user, int[] roles); public Role findrolebyid(int id); public void insertuseracl(role role, 18

24 3. NÁVRH A IMPLEMENTACE AclResource resource, AclAction action); public void deleteuseracl(int id); } Rozhraní public interface IAuthenticator { public User authenticate(string , String password) throws AuthenticationException; } 3.3 Datový model Data aplikace budou uchovávány v relační databázi (RDBS 9 ). Pro vývoj jsem použil databázi MySQL, ale vzhledem k univerzálnosti Enterprise Java Beans je možné použit jakýkoliv relační databázový systém. Stačí upravit SQL skript pro vytvoření databázového schéma, aby odpovídal případné odlišné syntaxi použitého RDBS. Kompletní skript pro vytvoření databázového schématu je uveden v příloze A. 9. Relational Database Management System 19

25 3. NÁVRH A IMPLEMENTACE 3.4 ERD diagram 3.5 Webová část Webová aplikace je vytvořena pomocí Stripes Frameworku a Java Server Pages. Stripes Framework využívá principů MVC architektury Model View Controller MVC architektura (dříve označovaná také jako Model 2) rozděluje aplikaci na 3 části model, view a controller. Model představuje business logiku aplikace a view se stará o vykreslení uživatelského roz- 10. Model View Controller 20

26 3. NÁVRH A IMPLEMENTACE hraní. Controller přijímá požadavky od uživatele a reaguje na ně voláním business metod modelu a odesláním správného view zpět k uživateli. Mezi hlavní výhody tohoto přístupu patří rychlejší údržba, efektivnější odhalování chyb, znovupoužitelnost kódu nebo snadnější rozšiřitelnost aplikace. Model aplikace je v tomto případě vytvořen pomocí Enterprise Java Beans. I když jsou view a controller víceméně logicky propojeny, o zobrazování dat se starají Java Server Pages. Jejich úlohou je generovat HTML výstup, který je odeslán uživateli. Stripes Framework obsahuje rozhraní nazvané ActionBean. Třídy implementující toto rozhraní se dají považovat za controller a jsou stěžejní částí webové aplikace. Následující obrázek ukazuje, jak probíhá komunikace celého systému při konkrétním požadavku od uživatele (Registrace nového zaměstnance). 21

27 3. NÁVRH A IMPLEMENTACE Registrace uživatele Návrh uživatelského rozhraní Grafické uživatelské rozhraní (GUI 11 nebo také UI 12 ) je důležitou částí každé aplikace. Právě uživatelské rozhraní je jedinou částí aplikace (mimo hardwarové prvky), která je viditelná pro uživatele systému. Úspěch aplikace z velké části závisí na kvalitě uživatelského rozhraní. UI musí být přívětivé, jednoduché a snadno ovladatelné. Existuje řada metod jak testovat použitelnost 13 UI. Nejčastější metodou testování webových aplikací je uživatelské testování. 11. Graphic User Interface 12. User Interface

28 3. NÁVRH A IMPLEMENTACE Ukázka uživatelského rozhraní 3.6 Vzdálený přístup Díky technologii EJB je možné k aplikaci přistupovat vzdáleně, tzn. klient nemusí běžet na stejném aplikačním serveru jako samotná aplikace. Tento přístup využijeme při registraci otisku prstu. Program, který bude registraci zajišt ovat, bude využívat vzdálené rozhraní IRemoteUsersManager. Toto rozhraní vypadá public interface IRemoteUsersManager { public boolean registerfingerprint( int user_id, String template ); } 23

29 4 Závěr Cílem práce bylo navrhnout a implementovat webovou aplikaci pro správu docházkového systému. Hlavní důraz měl být kladen na to, aby byla aplikace univerzální, tj. aby se dala používat ve spolupráci s různými typy přístupových terminálů. Implementace tohoto požadavku byla provedena pomocí technologie EJB, díky které je možné k aplikaci přistupovat jak lokálně (tzn. z aplikace běžící na stejném serveru), tak vzdáleně z různých typů zařízení a platform. Aplikaci se mi podařilo zrealizovat a všechny požadované klíčové vlastnosti byly implementovány. Velkým přínosem pro mě samotného bylo detailnější porozumění použitým technologiím, hlavně EJB a Stripes Frameworku. V budoucnu je možné aplikaci rozšířit například o modul pro výpočet mzdy podle odpracovaných hodin nebo statistiky příchodů a odchodů. Webovou část aplikace je možné rozšířit o vylepšené grafické zobrazení půdorysu areálu s jednotlivými sledovanými objekty a zobrazování pohybu osob v těchto objektech. 24

30 Literatura [1] Suprema SFM3520 Specification. com/eng/product/em_12_n.php#tab2. [2] Wikipedia: HTML [online]. wiki/html, [3] Zákoník práce / pdf, [4] Wikipedia: MySQL [online]. wiki/mysql, [5] AVARIS, s.r.o. Prezentační CD. ke-stazeni/prospekty/prezentace.zip, [6] The GlassFish Comunity. Glassfish overview. glassfish.java.net/faq/v2/glassfishoverview.pdf, [7] Daoud, F., Fennell, T. Stripes...and Java Web Development Is Fun Again. The Pragmatik Bookshelf, [8] Keith, M., Schincariol, M. Pro EJB 3: Java Persistence API. APress, [9] EFG CZ spol. s r.o. Katalog produktů. cz/documents/identifikacni%20systemy/aktion/ Katalog%20Aktion% pdf,

31 5 Příloha A SQL kód -- t a b l e d e f i n i t i o n s CREATE TABLE building ( id int(11) NOT NULL AUTO_INCREMENT, idc varchar(10) NOT NULL, parent_id int(11) DEFAULT NULL, name varchar(100) NOT NULL, active tinyint(1) NOT NULL DEFAULT 1, purpose varchar(100) DEFAULT NULL, PRIMARY KEY ( id ), KEY parent_id ( parent_id ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE enter_device ( id int(11) NOT NULL AUTO_INCREMENT, building_id int(11) NOT NULL, name varchar(100) NOT NULL, active tinyint(1) NOT NULL, address varchar(60) NOT NULL, PRIMARY KEY ( id ), KEY building_id ( building_id ), KEY active ( active ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE user ( id int(11) NOT NULL AUTO_INCREMENT, idc varchar(10) NOT NULL, varchar(60) NOT NULL, firstname varchar(60) NOT NULL, surname varchar(60) NOT NULL, password varchar(200) DEFAULT NULL, salt varchar(200) DEFAULT NULL, 26

(Enterprise) JavaBeans. Lekce 7

(Enterprise) JavaBeans. Lekce 7 (Enterprise) JavaBeans Lekce 7 JavaBeans vs. Enterprise JavaBeans (EJB) JavaBeans technologie: jedná se o tzv. komponentní architekturu určenou pro JSE platformu určená pro tvorbu JSE GUI programů pomocí

Více

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Semináˇr Java X J2EE Semináˇr Java X p.1/23 Seminář Java X J2EE Seminář Java X p.1/23 J2EE Složitost obchodních aplikací robusní, distribuované, spolehlivé aplikace s transakcemi na straně serveru, klientské aplikace co nejjednodušší Snaha : Návrh,

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních

Více

KIV/PIA 2013 Jan Tichava

KIV/PIA 2013 Jan Tichava KIV/PIA 2013 Jan Tichava Java EE JSF, PrimeFaces Spring JPA, EclipseLink Java Platform, Enterprise Edition Persistence Zobrazovací vrstva Interakce aplikací Deployment Java Persistence API Enterprise

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU 8.6.2011 Technologie Java Enterprise Edition Přemek Brada, KIV ZČU 8.6.2011 Přehled tématu Motivace a úvod Infrastruktura pro velké Java aplikace (Java základní přehled) Části třívrstvé struktury servlety, JSP

Více

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Nástroje a frameworky pro automatizovaný vývoj Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Proces vývoje webové aplikace Předepsaná adresářová struktura. Kompilace zdrojových kódů.

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne. Úvod Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne. Organizace předmětu Materiály k předmětu -Web stránky: http://cw.felk.cvut.cz/doku.php/courses/x33eja/start

Více

KIV/PIA Semestrální práce

KIV/PIA Semestrální práce KIV/PIA Semestrální práce Diskuzní fórum Tomáš Časta(A10N0057P) casta@students.zcu.cz 1. Architektura aplikace 1.1 MVC Model-view-controller (MVC) je softwarová architektura, která rozděluje datový model

Více

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití:

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití: Architektura webové aplikace, funkce jednotlivých vrstev, životní cyklus standardizovaných komponent Java EE, Servlety, JSP, frameworky, návrhové vzory 1. Distribuce Javy Distribuce Javy se liší podle

Více

Architektury informačních systémů

Architektury informačních systémů Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to

Více

O Apache Derby detailněji. Hynek Mlnařík

O Apache Derby detailněji. Hynek Mlnařík O Apache Derby detailněji Hynek Mlnařík Agenda Historie Vlastnosti Architektura Budoucnost Historie 1997 Cloudscape Inc. - JBMS 1999 Informix Software, Inc. odkoupila Cloudscape, Inc. 2001 IBM odkoupila

Více

Architektury informačních systémů

Architektury informačních systémů Architektury informačních systémů doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes/vyuka/tis Miroslav.Benes@vsb.cz Obsah přednášky Co je to

Více

Technologie Java. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/

Technologie Java. Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Technologie Java Jaroslav Žáček jaroslav.zacek@osu.cz http://www1.osu.cz/~zacek/ Trocha historie Java vznikla v roce 1995 jak minimalistický programovací jazyk (211 tříd). Syntaxe vycházela z C/C++. V

Více

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU Tvorba podnikových aplikací v jazyce JAVA Josef Pavlíček KII PEF CZU J2EE Jedná se o přístup: sadu pravidel, technologií, metod, doporučení jak provádět design, vývoj, nasazení a provozování vícevrstvých

Více

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva

Více

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_038.ICT.34 Tvorba webových stránek SQL stručné minimum OA a JŠ Jihlava, VY_32_INOVACE_038.ICT.34 Číslo

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: Číslo šablony: Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek: Anotace: CZ.1.07/1.5.00/34.0410

Více

MST - sběr dat pomocí mobilních terminálů on-line/off-line

MST - sběr dat pomocí mobilních terminálů on-line/off-line MST - sběr dat pomocí mobilních terminálů on-line/off-line Stručný přehled název: MST, software pro sběr dat mobilními terminály ve skladu (příjem, výdej, inventura) autor aplikace: FASK, spol. s r.o.,

Více

Databázové a informační systémy

Databázové a informační systémy Databázové a informační systémy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Jak ukládat a efektivně zpracovávat

Více

Programové vybavení OKsmart pro využití čipových karet

Programové vybavení OKsmart pro využití čipových karet Spojujeme software, technologie a služby Programové vybavení OKsmart pro využití čipových karet Ukázky biometrické autentizace Ing. Vítězslav Vacek vedoucí oddělení bezpečnosti a čipových karet SmartCard

Více

ADS DOCHÁZKOVÝ SOFTWARE

ADS DOCHÁZKOVÝ SOFTWARE DOCHÁZKOVÝ SOFTWARE Program ADS je komfortní a sofistikovaný software pro zpracování docházky na základě dat načtených systémem ACS-line. Umožňuje libovolnou práci s daty a výpočty dle nastavených směn

Více

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze

NOVINKY V JEE EJB 3.1. Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze NOVINKY V JEE EJB 3.1 Zdeněk Troníček Fakulta informačních technologií ČVUT v Praze PROGRAM Seznámení s Java Enterprise Edition (JEE) Enterprise Java Beans (EJB) Novinky v EJB 3.1 2 JAVA EDITIONS Java

Více

IS pro podporu BOZP na FIT ČVUT

IS pro podporu BOZP na FIT ČVUT IS pro podporu BOZP na FIT ČVUT Závěrečná zpráva pro 2. iteraci 21. dubna 2011 Zadavatel: Ing. Jiří Chludil Řešitelský tým: Jiří Kopecký Jan Kratochvíl Milan Matějček Štefan Pinďák Kristýna Streitová Úvod

Více

Softwarové komponenty a Internet

Softwarové komponenty a Internet Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty

Více

Autonomní snímací jednotky řady SU104*

Autonomní snímací jednotky řady SU104* Autonomní snímací jednotky SU104* představují novou designovou a technologickou řadu hardware určeného k řízení přístupových práv do vyhrazených prostor bez požadavku na sledování jejich historie. Zcela

Více

Enterprise Java Beans 3.0

Enterprise Java Beans 3.0 Enterprise Java Beans 3.0 Lukáš Zapletal liberix.cz EJB 3.0 a JPA 1.0 JavaBean - vysvětlení pojmu Java třída s get/is a set metodami má tedy vlastnosti žádné další podmínky nejsou kladeny JavaBean je tedy

Více

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více

INFORMAČNÍ SYSTÉMY NA WEBU

INFORMAČNÍ SYSTÉMY NA WEBU INFORMAČNÍ SYSTÉMY NA WEBU Webový informační systém je systém navržený pro provoz v podmínkách Internetu/intranetu, tzn. přístup na takový systém je realizován přes internetový prohlížeč. Použití internetového

Více

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19 3 Obsah Novinky v tomto vydání 10 Význam základních principů 11 Výuka principů nezávisle na databázových produktech 12 Klíčové pojmy, kontrolní otázky, cvičení, případové studie a projekty 12 Software,

Více

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

Elektronická podpora výuky předmětu Komprese dat

Elektronická podpora výuky předmětu Komprese dat Elektronická podpora výuky předmětu Komprese dat Vojtěch Ouška ouskav1@fel.cvut.cz 19. června 2006 Vojtěch Ouška Elektronická podpora výuky předmětu Komprese dat - 1 /15 Co je to SyVyKod? SyVyKod = Systém

Více

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging 1. Vhodnost nasazení jednotlivých webových architektur - toto je podle Klímy

Více

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Návrh a tvorba WWW stránek 1/14. PHP a databáze Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované

Více

Zpracovaná data o docházce lze přehledně tisknout nebo exportovat do mzdových a výrobních systémů. podnikejte s přehledem

Zpracovaná data o docházce lze přehledně tisknout nebo exportovat do mzdových a výrobních systémů. podnikejte s přehledem Docházka RON SOFTWARE Docházkový systém slouží k evidenci docházky, sledování pohybu zaměstnanců v průběhu pracovní doby, k přípravě podkladů pro zpracování mzdové agendy. Používáním docházkového systému

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních

Více

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Základy informatiky. 08 Databázové systémy. Daniela Szturcová Základy informatiky 08 Databázové systémy Daniela Szturcová Problém zpracování dat Důvodem je potřeba zpracovat velké množství dat - evidovat údaje o nějaké skutečnosti. o skupině lidí (zaměstnanců, studentů,

Více

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ

VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ VZOROVÝ STIPENDIJNÍ TEST Z INFORMAČNÍCH TECHNOLOGIÍ 1. Dědičnost v OOP umožňuje: a) dědit vlastnosti od jiných tříd a dále je rozšiřovat b) dědit vlastnosti od jiných tříd, rozšiřovat lze jen atributy

Více

Měřící systém se vzdáleným přístupem. Databáze

Měřící systém se vzdáleným přístupem. Databáze ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA ELEKTROTECHNICKÁ KATEDRA MĚŘENÍ Měřící systém se vzdáleným přístupem Databáze Jiří Javůrek 2003/2005 0. Obsah 0. Obsah...1 1. Požadavky...2 2. Struktura databáze...2

Více

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz

Databáze II. 1. přednáška. Helena Palovská palovska@vse.cz Databáze II 1. přednáška Helena Palovská palovska@vse.cz Program přednášky Úvod Třívrstvá architektura a O-R mapování Zabezpečení dat Role a přístupová práva Úvod Co je databáze Mnoho dat Organizovaných

Více

DUM 15 téma: Příkazy pro řízení přístupu

DUM 15 téma: Příkazy pro řízení přístupu DUM 15 téma: Příkazy pro řízení přístupu ze sady: 3 tematický okruh sady: III. Databáze ze šablony: 7 Kancelářský software určeno pro: 4. ročník vzdělávací obor: 18-20-M/01 Informační technologie vzdělávací

Více

Platformy / technologie. Jaroslav Žáček

Platformy / technologie. Jaroslav Žáček Platformy / technologie Jaroslav Žáček jaroslav.zacek@osu.cz Které platformy / technologie znáte Java Trocha historie Java EE Java EE 5 Java EE 6 Pruning, Extensibility Ease of Dev, CDI, JAX-RS Java EE

Více

PA165: Úvod do Java EE. Petr Adámek

PA165: Úvod do Java EE. Petr Adámek PA165: Úvod do Java EE Petr Adámek Obsah přednášky Organizace předmětu Formy výuky Hodnocení Osnova Java EE aplikace Architektury Java EE aplikací Technologie Java EE Základní koncepty PA165: Úvod do Java

Více

Úvod do Web Services

Úvod do Web Services Úvod do Web Services Základy webových služeb a jejich implementace na platformě OS/2 Jarda Kačer jarda@kacer.biz Český Warpstock 2008 Brno, 20.-21.9.2008 Co je to webová služba? Část business logiky přístupná

Více

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých. Soubor kurzů XHTML, CSS, PHP a MySQL Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých. Jeden blok se skládá

Více

Technology Entry form Entry up-to-date? Internal links Faulty internal Possible internal links

Technology Entry form Entry up-to-date? Internal links Faulty internal Possible internal links Technology Entry form Entry up-to-date? Internal links Faulty internal Possible internal links links Apache Struts Article with examples JSTL a EL (into JSP) MVC, webové aplikace, JSP Bezpečnost ve webových

Více

Peklák (PKK) interní rezervační systém

Peklák (PKK) interní rezervační systém Peklák (PKK) interní rezervační systém Předmět A7B36USI paralelka 111 Pondělí 12:45 cvičící Ing. Martin Komárek ČVUT FEL Odkaz https://www.assembla.com/spaces/usi-peklak/wiki Email usi-peklak@alerts.assembla.com

Více

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK JAROSLAV.ZACEK@OSU.CZ KTERÉ PLATFORMY / TECHNOLOGIE ZNÁTE JAVA TROCHA HISTORIE JAVA EE Java EE 7! Java EE 6 Java EE 5 J2EE 1.4 J2EE 1.3 J2EE 1.2 Servlet, JSP, EJB,

Více

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK

WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK WORKWATCH ON-LINE EVIDENCE PRÁCE A ZAKÁZEK Systém WorkWatch je určen pro malé a střední firmy, které se zabývají službami nebo zakázkovou výrobou. Zajistí dokonalý přehled o všech zakázkách a jejich rozpracovanosti.

Více

Prezentace CRMplus. Téma: CRMplus jako nástroj pro kontrolu a vyhodnocení rozpracovanosti dílů na zakázkách

Prezentace CRMplus. Téma: CRMplus jako nástroj pro kontrolu a vyhodnocení rozpracovanosti dílů na zakázkách Prezentace CRMplus Téma: CRMplus jako nástroj pro kontrolu a vyhodnocení rozpracovanosti dílů na zakázkách Obsah prezentace Představení společnosti Technodat Develop, s.r.o. CRMplus základní charakteristika

Více

Semestrální práce z DAS2 a WWW

Semestrální práce z DAS2 a WWW Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce z DAS2 a WWW Databázová část Matěj Trakal 8.12.2009 Kapitola 1: Obsah KAPITOLA 1: OBSAH 2 KAPITOLA 2: ZÁKLADNÍ CHARAKTERISTIKA

Více

Informační systém pro podporu řízení, správu a zjišťování aktuálního stavu rozvrhované výuky

Informační systém pro podporu řízení, správu a zjišťování aktuálního stavu rozvrhované výuky Studentská tvůrčí a odborná činnost STOČ 2011 Informační systém pro podporu řízení, správu a zjišťování aktuálního stavu rozvrhované výuky Information System For Computer Aided Course Planning and Scheduling

Více

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE

Více

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu Servlety a JSP Petr Adámek, petr.adamek@ibacz.eu Úvod Rekapitulace vstupních znalostí Standardy Nástroje (Běhové prostředí, nástroje pro vývoj) Servlety JSP JSP značky EL (Expression Language) Internacionalizace

Více

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková Ruby on Rails Bc. Tomáš Juřík Bc. Bára Huňková Co nás dnes čeká? Ruby (programovací jazyk) Ruby on Rails (webový framework) Praktická ukázka Ruby (programovací jazyk) Ruby (programovací jazyk) Skriptovací

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

Oracle XML DB. Tomáš Nykodým

Oracle XML DB. Tomáš Nykodým Oracle XML DB Tomáš Nykodým xnykodym@fi.muni.cz Osnova Oracle XML DB Architektura Oracle XML DB Hlavní rysy Oracle XML DB Hlavní rysy Oracle XML DB - pokračování XMLType XML Repository Využívání databázových

Více

Přizpůsobení JSTL pro Google App Engine Datastore

Přizpůsobení JSTL pro Google App Engine Datastore Přizpůsobení JSTL pro Google App Engine Datastore Vítězslav Novák Katedra Aplikovaná informatika Ekonomická fakulta, VŠB-TU Ostrava 1 Google App Engine Google App Engine je zástupcem distribučního modelu

Více

Jak efektivně ochránit Informix?

Jak efektivně ochránit Informix? Jak efektivně ochránit Informix? Jan Musil jan_musil@cz.ibm.com Informix CEE Technical Sales Information Management Jsou Vaše data chráněna proti zneužití? 2 Ano, pokud... 3 Nepoužitelné Steve Mandel,

Více

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

Střední odborná škola a Střední odborné učiliště, Hořovice

Střední odborná škola a Střední odborné učiliště, Hořovice Kód DUM : VY_32_INOVACE_DYN.1.18 Název materiálu: Anotace Autor Jazyk Očekávaný výstup 18 PHP- Základy práce s databází PHP - MySQL DUM naučí žáky postupu při vytvoření, připojení databáze a vytvoření

Více

Aplikace na čipových kartách

Aplikace na čipových kartách Aplikace na čipových kartách Systémy dodávané pro veřejnou a státní zprávu ISSS 2007 Hradec Králové, 2. dubna 2007 Jiří Hrdina ISCRD Informační systém centrálního registru dopravců (ISCRD) Aplikace na

Více

Tvorba informačních systémů na platformě J2EE Petr Hetmánek Masarykova Univerzita, Fakulta Informatiky, Botanická 68a, Brno

Tvorba informačních systémů na platformě J2EE Petr Hetmánek Masarykova Univerzita, Fakulta Informatiky, Botanická 68a, Brno Tvorba informačních systémů na platformě J2EE Petr Hetmánek (xhetman@fi.muni.cz) Masarykova Univerzita, Fakulta Informatiky, Botanická 68a, Brno Abstrakt Rostoucí dostupnost internetu vede ke vzniku stále

Více

Obsah přednášky. Technologie. Enterprise Java Beans. Enterprise Java Beans. EJB kontejner. Enterprise Java Beans (EJB)

Obsah přednášky. Technologie. Enterprise Java Beans. Enterprise Java Beans. EJB kontejner. Enterprise Java Beans (EJB) Obsah přednášky Technologie Miroslav Beneš Popis technologie EJB J2EE aplikace Typy komponent Entity Beans Session Beans Message-Driven Beans Java Messaging Service (JMS) Závěr 2 (EJB) EJB kontejner Specifikace

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 8 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Entita Entitní typ

Více

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou

Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou Administrace Oracle Replikace je proces kopírování a udržování databázových objektů, které tvoří distribuovaný databázový systém. Změny aplikované na jednu část jsou zachyceny a uloženy lokálně před posláním

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2007/2008 c 2005-2008 Michal Krátký, Miroslav Beneš Tvorba informačních

Více

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí

C# - Databáze úvod, ADO.NET. Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí C# - Databáze úvod, ADO.NET Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Co je to databáze? Databáze je určitá uspořádaná množina informací

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost Registrační číslo projektu: CZ.1.07/1.5.00/34.0553 CZ.1.07 Vzděláním pro konkurenceschopnost Projekt je realizován v rámci Operačního programu Vzdělávání pro konkurence schopnost, který je spolufinancován

Více

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka Anotace V rámci projektu FRVŠ jsme připravili webovou e-learningovou aplikaci, která je implementována v jazyce Java v rozšířené

Více

8.2 Používání a tvorba databází

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

Michal Krátký, Miroslav Beneš

Michal Krátký, Miroslav Beneš Tvorba informačních systémů 1/32 Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních

Více

Microsoft Windows Server System

Microsoft Windows Server System Microsoft Windows Server System Uživatelský autentikační systém od společnosti truconnexion komplexně řeší otázku bezpečnosti interních počítačových systémů ebanky, a.s. Přehled Země: Česká republika Odvětví:

Více

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz Platformy / technologie Jaroslav Žáček jaroslav.zacek@osu.cz Které platformy / technologie znáte Java Java Java EE 5 Java EE 6 Pruning, Extensibility Ease of Dev, CDI, JAX-RS Java EE 7! JMS 2, Batch, Concurrency,

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE

STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE STŘEDNÍ ŠKOLA INFORMAČNÍCH TECHNOLOGIÍ A SOCIÁLNÍ PÉČE WEBOWÉ STRÁNKY TŘÍD KAMIL POPELKA ZÁVĚREČNÁ MATURITNÍ PRÁCE BRNO 2011 Prohlášení Prohlašuji, že maturitní práce je mým původním autorským dílem, které

Více

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE X33EJA Security, Realms Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE 'web.xml' 'glassfish-web.xml' dále nutno nastavit realm v admin. konzoli GF 1

Více

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant Základy informatiky 06 Databázové systémy Kačmařík/Szturcová/Děrgel/Rapant Problém zpracování dat důvodem je potřeba zpracovat velké množství dat, evidovat údaje o nějaké skutečnosti: o skupině lidí (zaměstnanců,

Více

Centrální autentizační webový informační systém

Centrální autentizační webový informační systém Centrální autentizační webový informační systém Vypracoval : Jaromír Koníček Datum vypracování: 24..2006 Case nástroj: Enterprise Architekt v. 4.50 Obsah. Úvod... 3.. Použité terminologie... 3 2. Popis

Více

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb: Technologie Marushka Základním konceptem technologie Marushka je použití jádra, které poskytuje přístup a jednotnou grafickou prezentaci geografických dat. Jádro je vyvíjeno na komponentním objektovém

Více

Vývoj informačních systémů. Přehled témat a úkolů

Vývoj informačních systémů. Přehled témat a úkolů Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Znalosti Schopnosti Cvičení

Více

Rezervační systém Tvorba WWW stránek

Rezervační systém Tvorba WWW stránek 2012 Rezervační systém Tvorba WWW stránek Vytvoření rezervačního systému pro rezervaci motokár,ubytování a atrakcí Marek Svoboda Motokáry Motobydlo 30.12.2012 Obsah 1.Základní charakteristika... 3 a) Téma

Více

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan

Principy OOP při tvorbě aplikací v JEE. Michal Čejchan Principy OOP při tvorbě aplikací v JEE Michal Čejchan Témata přednášky Principy OOP - připomenutí Úvod - co nás vede k používání OOP Reálný svět - jak (ne)používáme OOP Nedostatky na úrovni programovacích

Více

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. 2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových

Více

Vývoj informačních systémů. Přehled témat a úkolů

Vývoj informačních systémů. Přehled témat a úkolů Vývoj informačních systémů Přehled témat a úkolů Organizace výuky doc. Mgr. Miloš Kudělka, Ph.D. EA 439, +420 597 325 877 homel.vsb.cz/~kud007 milos.kudelka@vsb.cz Přednáška Teorie Praxe Cvičení Diskuze

Více

BIOMEDICÍNSKÝ SYSTÉM PRO AGENTURY DOMÁCÍ PÉČE. Ondřej Krejcar, Dalibor Janckulík, Leona Motalová

BIOMEDICÍNSKÝ SYSTÉM PRO AGENTURY DOMÁCÍ PÉČE. Ondřej Krejcar, Dalibor Janckulík, Leona Motalová BIOMEDICÍNSKÝ SYSTÉM PRO AGENTURY DOMÁCÍ PÉČE Ondřej Krejcar, Dalibor Janckulík, Leona Motalová ZADÁNÍ PROJEKTU Návrh architektury Biomedicínského Systému Implementace Serverové části systému modifikace

Více

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databáze Základní seznámení s MySQL

Více

Projekt JetConf REST API pro vzdálenou správu

Projekt JetConf REST API pro vzdálenou správu Projekt JetConf REST API pro vzdálenou správu Ladislav Lhotka lhotka@nic.cz 24. listopadu 2017 Osnova motivace, historie standardy: RESTCONF a YANG JetConf: implementace RESTCONF serveru backendy: Knot

Více

Databáze I. Přednáška 4

Databáze I. Přednáška 4 Databáze I Přednáška 4 Definice dat v SQL Definice tabulek CREATE TABLE jméno_tab (jm_atributu typ [integr. omez.], jm_atributu typ [integr. omez.], ); integritní omezení lze dodefinovat později Definice

Více

Převod 4GL aplikací do webového prostředí. Ing. Jan Musil, IBM ČR Community of Practice for

Převod 4GL aplikací do webového prostředí. Ing. Jan Musil, IBM ČR Community of Practice for Převod 4GL aplikací do webového prostředí Ing. Jan Musil, IBM ČR Community of Practice for CEEMEA Co je to EGL? -4GL a EGL Agenda Popis převodu z -4GL do EGL krok za krokem Obecný postup převodu Závěrečný

Více

Komponenta Human Task v Oracle SOA Suite

Komponenta Human Task v Oracle SOA Suite Komponenta Human Task v Oracle SOA Suite Marek Rychlý Vysoké učení technické v Brně Fakulta informačních technologií Ústav informačních systémů Přednáška pro IOA 19. listopadu 2014 Marek Rychlý Komponenta

Více

Vybrané partie z jazyka Java Spring a Enterprise JavaBeans (EJB)

Vybrané partie z jazyka Java Spring a Enterprise JavaBeans (EJB) Vybrané partie z jazyka Java Spring a Enterprise JavaBeans (EJB) Michal Papež Spring & EJB Program: K čemu je to dobré, historie, odlišnosti Spring 2.5 EJB 3.0 K čemu jsou? 1 Vývoj velkých podnikových

Více

Databázové modelování. Analýza Návrh konceptuálního schématu

Databázové modelování. Analýza Návrh konceptuálního schématu Databázové modelování Analýza Návrh konceptuálního schématu 1 Vytváření IS Analýza Návrh Implementace Testování Předání SW Jednotlivé fáze mezi sebou iterují 2 Proč modelovat/analyzovat? Standardizované

Více

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA Metodický list č. 1 Způsob zakončení : Úvod Technologie webových aplikací Protokol HTTP Po zvládnutí tématického celku bude student mít základní přehled o problematice programování internetových (webových)

Více

Reranking založený na metadatech

Reranking založený na metadatech České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Reranking založený na metadatech MI-VMW Projekt IV - 1 Pavel Homolka Ladislav Kubeš 6. 12. 2011 1

Více

DOCHÁZKA. Webový prohlížeč docházky. Osoby

DOCHÁZKA. Webový prohlížeč docházky. Osoby Webový prohlížeč docházky Slouží ke zobrazování a případně k jednoduchým úpravám údajů evidovaných v databázi docházkového systému. Na klientském počítači lze použít libovolný internetový prohlížeč, není

Více

SYLABUS IT V. Jiří Kubica. Ostrava 2011

SYLABUS IT V. Jiří Kubica. Ostrava 2011 P MODULU SYLABUS IT V DÍLČÍ ČÁST PROGRAMOVÁNÍ BUSINESS APLIKACÍ PODNIKU Bronislav Heryán Jiří Kubica Ostrava 20 : Autoři: Vydání: Počet stran: Tisk: Vydala: Sylabus modulu IT v podniku Programování business

Více

Instalace a první spuštění Programu Job Abacus Pro

Instalace a první spuštění Programu Job Abacus Pro Instalace a první spuštění Programu Job Abacus Pro Pro chod programu je nutné mít nainstalované databázové úložiště, které je připraveno v instalačním balíčku GAMP, který si stáhnete z našich webových

Více