}w!"#$%&'()+,-./012345<ya
|
|
- David Beran
- před 9 lety
- Počet zobrazení:
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 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í
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,
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
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
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
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
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ů.
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á
Ú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
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
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
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
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
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
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
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
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
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
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
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.,
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
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
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
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
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
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
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
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
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é
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
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,
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á
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
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
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é
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
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
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ů,
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
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
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
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í
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
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
Ú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á
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á
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
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
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,
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.
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
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
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
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
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
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ý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
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
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
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,
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í
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
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í
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
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
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
Ú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
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
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
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í
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
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é
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
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
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í:
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,
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,
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é
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
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ů,
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
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ý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í
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
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
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ý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
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
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
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
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
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ý
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
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
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Ý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)
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
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í
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
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