KIV/PIA Semestrální práce



Podobné dokumenty
Architektura aplikace

Manuál pro administrátory. Manuál. Verze pro administrátory

Uživatelská příručka 6.A6. (obr.1.)

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

E-aukce. Funkční požadavky. Nefunkční požadavky. 1. Realizace internetové aukce v reálném čase. 2. Vkládání nových aukcí Volba počáteční ceny

Vývoj, výroba, prodej a montáž docházkových a identifikačních systémů. Docházka 3000 Personalistika

VIDEOPŮJČOVNA. TomášStrnad, Petr Filas, Štěpán Urban, Martin Panáček, Pavel Pokorný

DATA ARTICLE. AiP Beroun s.r.o.

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

MapleCloud a jeho použ ití. Vladimír Žák

KIV/PIA 2013 Jan Tichava

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

Popis ovládání dokumentu s přiloženými obrázky

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

MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress

Veřejné. Aplikace EP2W. Uživatelská příručka pro externího uživatele

KAPITOLA 1 SOCIÁLNÍ SÍTĚ A PHP...17

Uživatelský manuál Radekce-Online.cz

SMART GATE webové a aplikační ovládací rozhraní zařízení ESIM120

Tvorba informačních systémů

2. Začínáme. Uživatelský manuál

Nápověda pro systém itesting.cz

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

(Enterprise) JavaBeans. Lekce 7

[APLIKACE PRO PŘEHRÁVÁNÍ VIDEA - PROJEKT MIAMI]

Databáze EMS podacích lístků

MS WINDOWS UŽIVATELÉ

Uživatelská příručka IS KP14+: Pokyny pro vyplnění formuláře žádosti o podporu

5.1 Vyhledávací portál uživatelské rozhraní

UŽIV ATELSKÁ PŘÍRUČKA

Rezervační systém TROJHŘIŠTĚ hriste.pist.cz

Dětské GPS hodinky (SeTracker)

Individuální projekt z předmětu webových stránek Anketa Jan Livora

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

Ostatní portálové aplikace

ZÁVĚREČNÁ STUDIJNÍ PRÁCE dokumentace

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

Program pro flexibilní tvorbu evidencí. VIKLAN - Evidence. Uživatelská příručka. pro seznámení se základními možnostmi programu

1 of :27

Evropský zemědělský fond pro rozvoj venkova: Evropa investuje do venkovských oblastí IZR. Vedení evidence léčení a evidence léků. Podklady pro školení

MANUÁL MOBILNÍ APLIKACE GOLEM PRO OPERAČNÍ SYSTÉM ANDROID 4.X A VYŠŠÍ

Databáze produktů ESF. Postup pro vkládání produktů pro příjemce (realizátory projektů)

WiFiS Uživatelská příručka Obsah

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Stručný průvodce uživatele pro externí organizaci

CTUGuide (XXX-KOS) D1

Postup pro vyplnění žádosti o dotaci v aplikaci Benefit

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Na vybraném serveru vytvoříme MySQL databázi. Soubory scratch.jpa, kickstart.php a en-gb.kickstart.ini nahrajeme na vybraný server.

REGISTR VINIC VÍNO ORIGINÁLNÍ CERTIFIKACE NA PORTÁLU FARMÁŘE (UŽIVATELSKÁ PŘÍRUČKA) CCV Informační systémy

Ulozto.cz. Český server pro sdílení dat na internetu. 1. semestrální práce na předmět Testování uživatelských rozhraní A7B36TUR.

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

Centrální evidence závětí NK ČR

Nástroj WebMaker TXV první vydání Únor 2009 změny vyhrazeny

BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS STANISLAV SEHNAL

Technologie Java. Jaroslav Žáček

AKUSTIKA. Základy práce s aplikací. Verze 1.0.0

Tvorba informačních systémů

Redakční systém. SimpleAdmin Beta. Jan Shimi Šimonek

TouchGuard Online pochůzkový systém

Uživatelský manuál JIB jednotná informační databáze

TaskPool 2.9 administrátorský manuál

MAPOVÉ APLIKACE A WEBOVÉ SLUŽBY MAWES NAŠE MAPY

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

17. července :51 z moravec@yahoo.com

DPC-D218ID. Dveřní stanice pro 2D systém videovrátných. Uživatelský manuál

MANUÁL PRO VKLÁDÁNÍ A EDITACI DAT V SYSTÉMU INVENIO

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Návod na E-Shop. tel.: , fax: , helpdesk: ,

Modul EPNO. Téma: Elektronické odesílání evidenčních listů přepravy nebezpečných odpadů

PŘÍPADOVÁ PRÁCE - INDIVIDUÁLNÍ

Uživatelská příručka ISKP14+ pro Integrované nástroje: Žádost o podporu strategie ITI/IPRÚ

LuxRiot uživatelský manuál verze Uživatelský manuál Verze , Stasa s.r.o.,pokorného 14, , PRAHA

Dokumentace k 5. iteraci

VYSOKÁ ŠKOLA POLYTECHNICKÁ JIHLAVA Katedra elektrotechniky a informatiky Obor Aplikovaná informatika

Seminář Novell GroupWise

Návod na používání elektronické žákovské knížky

Fotogalerie pro redakční systém Marwel Obscura v. 2.0

JavaServer Faces Zdeněk Troníček

Manuál pro modul Vypisování témat prací referentka

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

Manuál administrátora FMS...2

TEPELNÁ TECHNIKA 1D. Základy práce s aplikací. Verze 3.0.0

PŘESTUP/HOSTOVÁNÍ HRÁČE MANUÁL

Informační manuál ZVEŘEJŇOVÁNÍ STUDIJNÍCH MATERIÁLŮ PROSTŘEDNICTVÍM PORTÁLU STUDENT.CZU.CZ

Příprava prostředí pro výuku PHP a MySQL

Modul výsledky zkoušek

Správa požadavků. Semestrální práce

Bakalářská práce, FEL ČVUT Praha. Michal Turek. červenec 2007

Google Apps. dokumenty 5. verze 2012

X36WWW. Technologie aplikačních serverů. Miroslav Bureš,, Martin Klíma. X36WWW: 12. přednáška 1

Uživatelská dokumentace

Manuál k aplikaci WANAS

UŽIVATELSKÁ DOKUMENTACE. TS-ELDAx SMART TRUST electronic ARCHIVE Cloudové rozhraní

PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITY PALACKÉHO KATEDRA INFORMATIKY BAKALÁŘSKÁ PRÁCE. Vytváření a evidence smluv Petr Čulík

MANUÁL. k snadnému vyplnění webové žádosti o dotaci z Královéhradeckého kraje. Zpracoval: Ing. Marcel Zadrobílek, vedoucí oddělení krajských dotací

Ostatní portálové aplikace

NEXIS 32 rel Generátor fází výstavby TDA mikro

Korozní mapy ČR. Uživatelský manuál. Kateřina Kreislová, Lukáš Pacák, Jaroslav Skořepa, Hana Geiplová, Zdeněk Barták

UŽIVATELSKÁ PŘÍRUČKA UČITEL

Transkript:

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 aplikace, uživatelské rozhraní a řídící logiku do tří nezávislých komponent tak, že modifikace některé z nich má minimální vliv na ostatní. Obrázek 1: MVC (převzato ze zdrojak.root.cz) Model představují třídy uložené v balíčku beans, jsou to třídy ForumBean, UserBean, MessageBean, které odpovídají třem tabulkám v databázi MySQL. View vrstu tvoří JSP stránky umísteně v adresáři jsp. Vrstvu Controller tvoří třídy Servletu, v tomto případě při použití frameworku Stripes se jedná o třídy umístěné v balíčku actions, další pomocné třídy jsou v balíčku db a jsou to třídy pro práci s databázi, Forum, User, Message, které poskytují potřebné operace nad databází, jako jsou výběr, vkládání, editace a mazání řádků v tabulkách. 1.2 Diagram tříd Diagram tříd je velký a kdyby byl přidán do tohoto dokumentu, bylo by to nečitelné, tři odpovídající obrázky jsou umístěny ve stejném složce, jako tato dokumentace. Jsou to soubory beans.png, user.png, action.png, které odpovídají diagramu tříd v jednotlivých balíčcích.

1.3 Diagram případů užití Ukazuje jednotlivé uživatelské role a co mohou daní uživatele provádět za operace v aplikaci. Obrázek 2: Diagram případů užití

1.4 Databázový model Představuje struktura tabulek v databázi. Význam jednotlivých položek je zřejmý z jejich názvu, každá tabulka obsahuje unikátní id a mezi tabulkami casta_message, casta_forum a casta_message, casta_user jsou vytvoření relace 1:N. První slouží k tomu, aby bylo poznat, do jakého fóra vzkaz patří a druhá k tomu, aby se dle id_user, tedy id autora příspěvku daly dohledat další informace o něm. Obrázek 3: Databázový model 1.5 Framework Stripes Pro aplikaci jsem použil framework Stripes, vývoj s ním přináší určité změny oproti čistým Servletům, proto zde popíšu jak to funguje ve vytvořené aplikaci. První změna je v souboru web.xml, kde jsou nejdůležitější následující nastavení. <init-param> <param-name>actionresolver.packages</param-name> <param-value>action</param-value> </init-param> <init-param> <param-name>localepicker.locales</param-name> <param-value>en_us:utf-8,cs_cz:utf-8</param-value> </init-param> <init-param>... Kde parametr ActionResolver.Package je důležitý pro nastavení jména balíčku, kde jsou třídy, které provádějí akce na stránce, jako je například mazání, editace, či zobrazování příspěvků, v podstatě

jsou to třídy, kde by bez použití Stripes byly třídy Servletu implementující metody, jako je doget() a dopost(). Parametr LocalePicker.Locales je důležitý pro nastavené kódování a správného zobrazování češtiny v aplikaci. Jinak je soubor web.xml nastaven dle http://www.stripesframework.org/display/stripes/quick+start+guide Třídy umístěné v balíčku action pak implementuji rozhraní ActionBean a místo implementace metod doget(), dopost() a jiný implementujeme metody dle svého uvážení s tím, že jejich volání na stránce nám zajišťují anotace jako například @DefaultHandler, která se zavolá vždy. K přesměrování se používá metody ForwarResolution. Další věcí, kterou Stripes provádí v aplikaci je validace vstupních dat. Ta se provádí pomoc anotací @Validate. @Validate(required = true, minlength = 2, maxlength = 20) private String login Takto nadefinovaná anotace znamená, že položku login je nutno zadat a a musí být dlouhá od 2 do 20 znaků, pokud tomu tak není, nedojde k odeslání dat z formuláře, ani spuštění metody z ActionBean třídy. Aby vše fungovalo jak má, je nutné v jsp stránce použit Stripes tady, v tom případě následující. <stripes:form beanclass="action.registrationactionbean" focus="" > <stripes:text name="login" class="border"/></td> <stripes:errors field="login" />... Tag stripes:error se pak stará o vypsání chyby, v případě, že zadaná data neodpovídají požadavků ve validaci. Text chyby je uložen v souboru StripesResources.properties v následujícím formátu. action.loginactionbean.login.valuenotpresent=musíte zadat login. action.loginactionbean.login.valuetooshort=login musí mít minimálně 2 znaky. action.loginactionbean.login.valuetoolong=login muí mít maximálně 20 znaků. Tyto věci z frameworku Stripes jsem použil, samozřejmě tomu umí ještě mnohem více, ale na to je třeba použít další externí knihovny. 1.6 Specifikace implementace Při rozhodování o problému, když dojde ke smazání uživatele zůstanou po něm příspěvky, jsem se rozhodl, je nemazat ale nastavit jako autora příspěvku uživatele s id=1 (lze změnit konstantu DEFAULT_USER), který se jmenuje uživatel_vymazán, přijde mi to lepší, než vymazat všechny jeho příspěvky, protože to by mohlo vadit při čtení fóra, když by čtenář vlastně nevěděl, jestli tam nechybí nějaké příspěvky, či jaký byl jejich obsah. Problémem by bylo, kdyby byl tento uživatel vymazán, ale ani administrátor by měl vědět, co dělá, stejně jako ten kdo se dostane do databáze a může tam libovolně mazat by měl vědět, co dělá. 2. Instalace 2.1 Přeložení

Pro přeložení je připraven antový skript build.xml. Ten se stará o samotný překlad a připojení všech použitých knihoven. 2.2 Nasazení na server Pro nasezení na server je připraven antový skript deploy.xml, který nahraje překompilované soubory a potřebné knihovny na server Tomcat. Před spuštěním aplikace je ještě nutné pustit antový skript db.xml, který vytvoří potřebné tabulky v databázi a naplní je daty. Ještě je nutné v souboru web.xml nastavit správné údaje pro připojení k databázi. 3. Uživatelská příručka 3.1 Nepřihlášený uživatel Používání aplikace je velmi jednoduché. Po zobrazení hlavní stránky můžete libovolně listovat seznamem všech fór a číst si všechny odpovědi k nim. Po kliknutí na jméno autora příspěvku se zobrazí informace o něm, spolu s vypočítaným věkem uživatele, pokud uživatel zadal datum svého narození. Pro využívání dalších funkcí, je nutné vytvořit účet (položka Registrovat v menu), nebo se přihlásit (položka Přihlásit se v menu) 3.2 Registrace Pro vytvoření uživatelské účtu musíte zadat požadované informace, jako je uživatelské jméno, heslo, email, krátké info o vás a vaše pohlaví. Můžete také zadat datum svého narození, pak bude ve vašem profilu zobrazen váš věk, tato volba není povinná, datum zadávejte ve formátu mm.dd.yyyy. Uživatelské jméno musí být být dlouhé 2 až 20 znaků a nesmí již být použito, heslo pak musí být dlouhé minimálně 6 znaků. Poslední co je nutné vyplnit je ochrana proti spamu, které spočívá v jednoduchém početním příkladu. 3.3 Přihlášený uživatel Jako přihlášený uživatel můžete provádět vše, co nepřihlášený uživatel a můžete navíc vytváře nová fóra a přidávat k nim vaše odpovědi. Po ukončení činnosti se odhlašte (položka Odhlásit se v menu). 3.4 Administrátor Jako administrátor máte všechny výše popsané možnosti a může navíc libovolný vzkaz smazat (kliknutím na smaž), nebo editovat (kliknutím na edituj). V případě, že mazaný příspěvek ve fóru bude poslední, bude smazáno i celé fórum. Další možnosti je smazání celého fóra, včetně všechny příspěvků v němu. Administrátor může také vidět profily všech uživatelů a mazat je, po smazání uživatele nedojde ke smazání jeho příspěvků, ale bude jako autor u nich uvedeno uživatel vymazán. 4.Závěr Semestrální práce mi pomohla seznámit s vývojem webových aplikací v Javě, s čímž jsem doposud neměl zkušenost. Ze začátku jsem měl problémy s nastavením frameworku Stripes a chvíli mi trvalo, než jsem do něj proniknul, ale v konečném důsledku mi určitě ušetřil práci. Práce dle mě splňuje požadavky určené v zadání a je plně funkční.