VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt Část 6.

Slides:



Advertisements
Podobné prezentace
Úvod do platformy Java EE
Advertisements

Seminář C++ 5. cvičení Dědičnost Ing. Jan Mikulka.
Tvorba webových stránek
Ing. Jan Mittner MySQL Workbench 2. Základy práce s databází 3. Subversion 2.
FG Forrest, a.s. Jan Novotný iBatis SqlMaps.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - PŘEDNÁŠKA
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Ing. Jan Mittner Rozšíření modelu 2. Vazba 1:n 3. Vazba m:n 2.
Databáze Sestavy.
PROGRAMOVACÍ JAZYKY (c) Tralvex Yeap. All Rights Reserved.
Desáté cvičení Java Core API Java Collection Framework JavaDoc.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Adobe Dreamweaver CS4 Ing. Martin Dosedla.
Informační systém pro správu dokumentů a fotografií
Databáze Jiří Kalousek.
Jazyk HTML.
Praha6.cz Nové trendy v e-publishingu Statické stránky, mapa stránek, menu a fulltextové vyhledávání.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - PŘEDNÁŠKA Zbyněk Šlajchrt Část 6.
D ATOVÉ MODELY Ing. Jiří Šilhán. D ATABÁZOVÉ SYSTÉMY Patří vedle textových editorů a tabulkových kalkulátorů k nejrozšířenějším představitelům programového.
Vývoj aplikací pro SharePoint
PHP – Základy programování
Jaroslav Šnajberk, Přemek Brada
Rozšíření jednouživatelské verze IS na víceuživatelskou Prezentace Diplomové práce Autor : Libor Tomášek Spoluautoři : Pobucký M., Drábek L. Vedoucí :
Relační databáze.
Ing. Jan Mittner Základy MVC 2. Rozšíření layoutu 3. helpery 4. Bootstrap a přepis URL adres 2.
Ant Připravil: Ing. Jan Kolomazník. strana 2 Proč vznikl Potřeba sestavovat komplexní Nezávisle na platformě Popis založený na xml Spouštění různých úloh.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
MS ACCESS parametrický dotaz
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - PŘEDNÁŠKA Zbyněk Šlajchrt Část 4.
Portlety Jan Krňoul, Jaroslav Vávře, 1.
MS ACCESS - FORMULÁŘE Databázové systémy.
Maturitní okruh 22: Úvod do HTML. Značkovací a klasické jazyky Klasické: převládá strukturovaný text (programovací kód), skripty jsou prováděny na straně.
Ing. Jan Mittner Životní cyklus požadavku 2. Moduly 3. Pluginy 4. Jak řešit komponenty typu menu 5. atd. 2.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - PŘEDNÁŠKA Zbyněk Šlajchrt Část 13.
Dílna Caché II. CSP pro pokročilé Tomáš Vaverka. Zdroje HTML Tag Reference v sekci Reference Material v dokumentaci Caché HTML Tag Reference v sekci Reference.
Návrh a tvorba WWW Přednáška 5 Úvod do jazyka PHP.
Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
1 Dspace na AMU – Ostrava 2012 AMU = DAMU + FAMU + HAMU Dspace na AMU Jakub Ivanov PhDr. Iva Horová.
Databázové modelování
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Správní a dopravně správní evidence - IISSDE RNDr. Jiří Malátek Zástupce ředitele OIVS MV
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
Obhajoba projektu PA165 Půjčovna stavebních strojů
Akademie ZENU Ukázková aplikace. Tak o tomhle to nebude…
PHP Programy pro tvorbu WWW stránek - 01
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt 1 Část 12.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt Část 7.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ
Publikujeme s Autodesk MapGuide v.5.0 Ing. Jan Růžička, Dr. Ing. Jiří Horák VŠB-Technická univerzita Ostrava
Využití sestavy Zobrazení a typy Části sestavy Vytvoření sestavy Ovládací prvky.
Portál jako Dynamic WorkPlace.  Cleverbee s.r.o.  společnost založena 2000  15 let zkušeností (prodej a vývoj ERP řešení)  švýcarská společnost se.
Objektově relační mapování - ORM. Obsah Co je to ORM Využití ORM Dědičnost –jednoduchý příklad –metody jak dědičnost popsat pomocí relační databáze Vztahy.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt Část 5.
Tvorba webových stránek - tabulka
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ
Jaroslav Kudr pro OATGM
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ
Zkušenosti s nasazením J2EE aplikací na AS GlassFish
NÁZEV ŠKOLY:SOŠ Net Office, spol. s r.o. Orlová Lutyně
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ
Resources-multijazykové prostředí
Školení IS - 7 Rozvrh, Záložky.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - PŘEDNÁŠKA
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - PŘEDNÁŠKA
Praktický modul - zadání
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ
Transkript prezentace:

VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt Část 6.

Program  Diskuse nad domácím úkolem  Aplikace Fotoalbum  Adaptace na JPA  Práce se stavovým EJB  On-line operace nad objektem fotografie  Programovací vzor Gateway využívající stavový EJB 2

Proměna Photo v JPA entitu  Anotujte třídu Photo  javax.persistence.Entity  Přidejte privátní atribut třídy id typu int  Unikátní klíč záznamu v databázi  Vytvořte getter a setter  Getter a indikuje unikátní instruuje JPA ke generování hodnoty 3

Proměna Photo v JPA entitu  Getter getImage označuje sloupec s binárním či textovým obsahem  Entita Photo bude atributem stavového EJB, proto musí být serializovatelná  implements Serializable 4

Úprava DAO  Rozhraní AlbumDAO  Změňte návratový typ metody updatePhoto na Photo  Třída AlbumDAOBean  Nahraďte původní zdrojový kód za kód z poznámek 5

Album DAO 6

Soubor persistence.xml  V adresáři ejb/src/main/resources/META-INF vytvořte soubor persistence.xml  Slouží ke konfiguraci JPA  Použijeme specifické vlastnosti implementace EclipseLink nastavení úrovně logování instrukce k automatickému vytváření db tabulek 7

Soubor orm.xml  V adresáři ejb/src/main/resources/META-INF vytvořte soubor orm.xml  Konfigurace mapování mezi entitami a tabulkami  Lze v něm předdefinovat dotazy 8

Definice datového zdroje  Provádí se v administrátorské konzoli  Otevřete panel Resources/JDBC/JDBC Resources  Vytvořte nový prostředek  Do políčka JNDI Name zadejte název datového zdroje, jak je uvedeno v persistence.xml  jdbc/myDS  Položku Pool Name nastavte na DerbyPool  Poznámka pro ty, co neprogramují v NetBeans  Je třeba nainstalovat databázi (rozbalení ZIPu) spuštění: bin/startNetworkServer.bat 9

Build&Deploy 10

PhotoGateway  Stavový EJB  Zprostředkovává klientovi objekt fotografie  Entitu (objekt) dostane klient "živou", tj. "managed"  Výhody:  úpravy se provádějí v paměti voláním metod na objektu fotografie  při ukládání není třeba provádět náročný "merge", jelikož entita je stále v JPA keši  tzv. lean design – neobsahuje nic nadbytečného, štíhlý 11

Aplikační vrstva 12

PhotoGateway – zdrojový kód 13

PhotoGateway - poznámky  Stavový bean, jehož stav je odkaz na předaný objekt fotografie  Je použit rozšířený perzistentní kontext  Život objektů v kontextu je vymezen životem beanu  Nekončí s každým voláním metody  Kromě metody save jsou ostatní metody volány mimo transakci (jsou = TransactionAttributeType.NOT_SUPPORTED)  Volání metody save zahájí novou transakci. Při jejím ukončení dojde k uložení (commit) perzist. kontextu. 14

Prezentační vrstva 15

PhotoDetailPageBean 16 Patří do webového modulu

AlbumPageBean 17 Patří do webového modulu

Úprava AlbumServlet  AlbumServlet bude pracovat se stavovými beany, které není možné injektovat do atributu servletu použijeme vyhledání (lookup) v ENC (JNDI) kvůli tomu je zapotřebí konfigurace ENC, zde pomocí anotací  AlbumServlet bude coby kontroler pracovat s modelem v podobě AlbumPageBean případně s odkazovaným PhotoPageBean AlbumPageBean je kořen modelu a je uložen v session 18

Životní cyklus AlbumPageBean  Metody v AlbumServlet pro práci s AlbumPageBean 19

Úprava performAction 20

Akce 'detail' Větev v performAction 21

Stránka detail.jsp  Zobrazuje fotografii spolu s názvem a popisem  V spodní polovině stránky jsou k dispozici akce pro  změnu velikosti fotky  rotaci (neimplementováno)  uložení rozpracovaného stavu fotky a návrat  obnovení fotografie z databáze  zrušení úprav a návrat 22

Diagram stránek 23

Úprava stránky upload.jsp  Náhrada stávající tagu jsp:useBean za  Nastavení hlavičky pro řízení keše prohlížeče  Úprava cyklu c:forEach 24

Úprava PhotoServlet  V případě, že není zadán název fotky v URL, pokusí se nalézt kontextovou fotku  AlbumPageBean.getPhotoDetail().getPhoto() 25

Akce v detail.jsp  Pro každou akci přibude jeden 'if' v hlavním rozvětvení v metodě AlbumServlet.performAction  Každá akce je podchycena odpovídající 'do' metodou v servletu  Metoda doResize pracuje s objektem fotky  Metody doCancel, doSave, doRefesh pracují s gateway  Metody doCancel a doSave uzavírají model detailu fotky  getAlbumPageBean(request).setDetailBean(null) 26

Domácí úkol  Přidejte do entity Photo atribut modified, který bude udržovat datum a čas poslední úpravy fotografie.  Dále na entitě Photo vytvořte posluchačskou metodu, která bude nastavovat atribut Photo na aktuální čas při úpravách fotografie.  Rozšiřte HTML tabulku se seznamem fotografií o sloupec, který bude zobrazovat datum poslední úpravy.  Do detailu fotografie přidejte pole, které bude také zobrazovat hodnostu tohoto atributu. 27