VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - PŘEDNÁŠKA Zbyněk Šlajchrt Část 13.

Slides:



Advertisements
Podobné prezentace
PLAYBOY Kalendar 2007.
Advertisements

Podpora personálních procesů v HR Vema Jaroslav Šmarda
© 2000 VEMA počítače a projektování spol. s r. o..
Vizuální Systém Fotbal
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
Sídliště Dukla - Pardubice
Vizuální Systém Fotbal
*Zdroj: Průzkum spotřebitelů Komise EU, ukazatel GfK. Ekonomická očekávání v Evropě Březen.
Ukončení 1.etapy výuky cizího jazyka
Spektra zatížení Milan Růžička 1 Dynamická pevnost a životnost
se tábořilo za první republiky 1 Jak se tábořilo „kdysi“  Staré kroniky  Historie  Album věnované ETS  Úryvky z Hlasatele.
Rozvozní úloha s dělenou dodávkou Jan Fábry Vysoká škola ekonomická v Praze ___________________________________________________________________________.
Notace napětí 2. ZÁKLADNÍ POJMY A VZTAHY Symetrie tenzoru,
PROGRAM PRO VÝUKU T ČLÁNKU
AutorMgr. Lenka Závrská Anotace Očekávaný přínos Tematická oblastOperace s reálnými čísly Téma PředmětMatematika RočníkPrvní Obor vzděláváníUčební obory.
Teorie zpracování dat Ukázková písemka. Kapitola 4 Je dána tabulka Zam (login, jmeno, plat, funkce), implementovaná je v SŘBD používajícím indexové soubory.
Dynamické rozvozní úlohy
Násobíme . 4 = = . 4 = = . 4 = = . 2 = 9 .
Kolja 5 (první část). Kdo je tady? Kdo má domácí úkol?
Správné pády I In the following sentences, put the nouns between slash marks into the correct case. Vzor: Přes naše rozdíly zůstanu /tvůj přítel/. Přes.
Úvod do databází Databáze.
Vizualizace projektu větrného parku Stříbro porovnání variant 13 VTE a menšího parku.
Dělení se zbytkem 3 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA reg. č.: CZ.1.07/1.4.00/ Základní škola, Šlapanice, okres Brno-venkov, příspěvková organizace Masarykovo nám.
VY_32_INOVACE_ 14_ sčítání a odčítání do 100 (SADA ČÍSLO 5)
ARITMETICKÁ POSLOUPNOST I
ZOHO OFFICE Vypracovala: Iva Ptáčková, A11B0605P 1.
Základní číselné množiny
Získávání informací Získání informací o reálném systému
Gravitační vlny v přesných řešeních Einsteinových rovnic RNDr
Projekt PŘEDPOVĚĎ POČASÍ. projekt PŘEDPOVĚĎ POČASÍ.
Dělení se zbytkem 6 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
Dělení se zbytkem 5 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
Projekt PŘEDPOVĚĎ POČASÍ. projekt PŘEDPOVĚĎ POČASÍ.
pit – CAD 2011 Nové funkce a rozšíření Strana: 1www.pitsoftware.cz /

Projekt PŘEDPOVĚĎ POČASÍ. Předpověď počasí na
Násobení zlomků – teorie a cvičení VY_32_INOVACE_19
předpověď počasí na 14. května 2009 OBLAČNOST 6.00.
Zásady pozorování a vyjednávání Soustředění – zaznamenat (podívat se) – udržet (zobrazit) v povědomí – představit si – (opakovat, pokud se nezdaří /doma/)
Tento Digitální učební materiál vznikl díky finanční podpoře EU- Operačního programu Vzdělávání pro konkurenceschopnost Není –li uvedeno jinak, je tento.
Stručný obsah 5. přednášky
Test D-1 je sociometrická diagnostická metoda diagnostikující třídní kolektiv. Je zadávána prostřednictvím dotazníku, který je předložen všem jednotlivým.
Projekt PŘEDPOVĚĎ POČASÍ. projekt PŘEDPOVĚĎ POČASÍ.
EDITOR BY: SPRESS 15. ledna ledna ledna 2015.
Tento Digitální učební materiál vznikl díky finanční podpoře EU- OP Vzdělávání pro konkurenceschopnost. Není – li uvedeno jinak, je tento materiál zpracován.
Softwareová architektura
Soutěž pro dvě družstva
Jaroslav Šnajberk, Přemek Brada
Konference SI Praha Ladislav Přívozník is:energy czech a.s.
Fyzika 2 – ZS_3 OPTIKA.
1 Celostátní konference ředitelů gymnázií ČR AŘG ČR P ř e r o v Mezikrajová komparace ekonomiky gymnázií.
UPÍNÁNÍ NÁSTROJŮ, ÚDRŽBA A SKLADOVÁNÍ NÁSTROJŮ .
Jazyk vývojových diagramů
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - PŘEDNÁŠKA Zbyněk Šlajchrt Část 4.
Aplikace DVB-T Český Telecom, a.s.. 2 Agenda DVB-T MHP Platforma ČTc DVB-T MHP Platforma ČTc – aplikace Shrnutí cílů společnsti Český Telecom, a.s.
Přednost početních operací
Změny v SOILINu ve SCIA Engineer oproti Nexis32
Ovoce a zelenina Svět kolem nás
Dostupné z Metodického portálu ISSN: , financovaného z ESF a státního rozpočtu ČR. Provozováno Výzkumným ústavem pedagogickým v Praze.
Návrhový vzor Factory v JAVA API Martin Kot Katedra informatiky VŠB – Technická univerzita Ostrava
TRUHLÁŘ I.ročník Výrobní zařízení Střední škola stavební Teplice
Copyright (C) 1999 VEMA počítače a projektování, spol. s r.o.1 Lucián Piller Intranet HR.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - CVIČENÍ Zbyněk Šlajchrt Část 6.
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Í Zbyněk Šlajchrt Část 5.
Praha & EU: Investujeme do vaší budoucnosti Evropský sociální fond Gymnázium, Praha 10, Voděradská 2 Projekt OBZORY MVC vs MVP.
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - PŘEDNÁŠKA
VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - PŘEDNÁŠKA
Transkript prezentace:

VÝVOJ PODNIKOVÝCH APLIKACÍ NA PLATFORMĚ JAVA - PŘEDNÁŠKA Zbyněk Šlajchrt Část 13.

Další features WebBeans  Interceptory  podobné interceptorům v EJB3  Dekorátory  jako interceptory, ale obalují konkrétní třídu  Události  lze posílat notifikace o událostech posluchačům  Alternativy  konfigurace alternativních implementací beanů  Stereotypy  Svazková anotace kvalifikátorů a ostatních anotací 2

Interceptory  Blízcí příbuzní interceptorům z EJB3  Umožňují programovat "cross-cutting concerns"  logování  profilování  transakce  bezpečnost ...  WebBeans umožňuji asociovat typově bezpečně interceptory s beany  Prostřednictvím "custom" anotací (viz kvalifikátory) 3

Interceptor Binding Type (IBT)  Javovská anotace, pomocí které se asociuje interceptor a bean  IBT anotace je opatřena meta-anotacemi – anotace je děděna – identifikace IBT anotace 4

Třída interceptoru  Třída interceptoru se anotuje  'custom' IBT anotace - v našem  Pro metody platí stejná pravidla, jako pro standardní EJB interceptory (viz 5. přednáška)  AroundInvoke inteceptory  Life-cycle interceptory 5

Ukázka třídy interceptoru 6

Asociování s beanem  Asociování interceptoru s beanem se provádí anotací metody nebo celého beanu příslušné IBT (custom) anotace 7

Aktivace interceptorů  Standardně jsou všechny interceptory neaktivní  Každý interceptor je třeba explicitně aktivovat v souboru beans.xml v sekci 8

Dekorátory  Dekorátory implementují jeden nebo více typů beanů (bean types)  Odchytávají volání business metod implementovaných dekorovanými typy beanů  Podobná koncepce jako interceptory  logika dekorátorů není cross-cutting  stává se součástí business logiky dekorovaných typů  Lze je nasadit na managed beany a EJB  nikoliv na jiné dekorátory či interceptory  Dekorátor je managed bean 9

Deklarace dekorátoru  Třída dekorátoru se anotuje  Každá třída dekorátoru musí mít tzv. delegate injection point  + kvalifikátory atp.  Lze nahlížet jako na standardní injektovaný atribut  Dekorátor dekoruje každý bean, který vyhovuje anotacím na atributu delegáta 10

Příklad třídy dekorátoru 11 Dekorované jsou všechny beany, které implementuji ILogin

Aktivace dekorátorů  Standardně jsou všechny interceptory neaktivní  Každý interceptor je třeba explicitně aktivovat v souboru beans.xml v sekci 12

Události  Beany mohou vyrábět a konzumovat události  Snižuje se tak provázanost mezi beany (coupling)  Není nutná compile-time závislost mezi komunikujícími beany  Usnadňuje komunikaci mezi různými vrstvami aplikace  Stavový bean vysílá událost o změně stavu, která je přijata managed beanem ve webové vrstvě 13

Typ události  Objekt události je instancí bez-parametrové třídy - typu události 14

Generování událostí  Třída beanu deklaruje atribut typu javax.enterprise.event.Event  Parametrem tohoto generického rozhraní je typ události  Atribut se deklaruje pro injektáž  Událost se vyšle volání metody fire na atributu 15

Příjem události  Události se přijímají v tzv. observer metodách  Tyto metody mají právě jeden parametr, který odpovídá typu události  Tento parametr musí být 16

Kvalifikátor události  Při deklaraci události lze uvádět kvalifikátor(y) události  "custom" anotace, která může obsahovat atributy  Deklarace události je doplněna o kvalifikátor 17

Příjem kvalifikované události  Parametr observer metody je dodatečně anotován kvalifikátorem 18

Dynamická volba kvalifikátoru  Kvalifikátor lze události přiřadit až za běhu  Vytvoří se třída, která implementuje rozhraní anotace kvalifikátoru  Při odesílání události se vytvoří instance této třídy a předá se metodě select v rozhraní Event  Metody select(...) slouží k dolaďování události 19 // javax.enterprise.util.AnnotationLiteral

Transakční observer metody  Bean může být notifikován v různých fázích notifikační transakce, tj. rozesílání události příjemcům  Identifikátor fáze se zadá do atributu during  javax.enterprise.event.TransactionPhase BEFORE_COMPLETION AFTER_COMPLETION AFTER_FAILURE AFTER_SUCCESS IN_PROGRESS 20

Ukázka transakční observer metody 21 Tato metoda se zavolá pouze v případě, že distribuce události proběhla bez chyby.

Alternativy  Alternativy jsou beany, kterými lze nahradit standardní beany během řešení závislostí.  Pokud vzniká nejednoznačnost v závislostech, řeší se tak, že se ze všech kandidátů vyloučí beany, které nejsou alternativy.  Pokud zbude jediný bean-alternativa, použije se pro uspokojení závislosti. Jinak chyba deploymentu.  Alternativy se musí aktivovat v beans.xml; podobně jako interceptory a dekorátory. 22

Příklad alternativy  Alternativní bean musí být anotován 23

Stereotypy  Stereotyp zachycuje často se vyskytující svazek anotací  Tento svazek je deklarován jako další anotace  Anotace ve svazku jsou obvykle  Scope anotace atp.)  Interceptor binding anotace  Anotaci ve stereotypu lze překrýt explicitním uvedením příslušné anotace na třídě či jiném prvku 24

Stereotyp - příklad 25

Vestavěné stereotypy  Označuje bean z modelu v MVC frameworku, jako např. JSF.  Bean označený touto anotací  je pojmenovaný, tj. lze jej odkazovat z EL  je umístěn v Request scope 26

Poznámky  Aplikace musí vždy obsahovat beans.xml v adresáři WEB-INF  Pokud bean patří do pasivovatelného scope interceptor i dekorátor musí být stejně jako bean pasivovatelný (stačí serializovatelný)  Chyby Interceptory nefungují v EAR, pouze ve WAR Dekorátory nefungují vůbec 27

Zdroje   JSR-299: Contexts and Dependency Injection for the Java EE platform 28

Konec 29 Děkuji za pozornost