Přednáška ‚JSF (a Seam)‘

Pokud jste nestihli přednášku ‚JSF (a Seam)‘ ze souboru přednášek předmětu Moderní trendy v softwarovém inženýrství pořádané ZČU, nabízíme Vám její audio záznam, slajdy a také zip se slajdy.

Přednáška je určena pro začátečníky s JSF. Nejprve je probrán ukázkový příklad z článku Začínáme s Webovými stránkami v Javě 2 a pak jsou probrány některé vlastnosti JSF. Zmíněny byly i některé frameworky pro AJAX a byly zmíněny i některé praktické zkušenosti, výhody a nevýhody JSF.

Na tuto přednášku navazuje i druhá část nazvaná ‚Seam (a JSF)‘ věnující se vlastnostem frameworku Seam.

[podcast]http://dev-blog.ferschmann.cz/prednasky/2007/jsf-a-seam.mp3[/podcast]

10 thoughts on “Přednáška ‚JSF (a Seam)‘”

  1. Jelikož je pro mě JSF zajímavé a začínám s ním, chtěl bych se zeptat, zda-li bude dostupné i video z prezentace. Dále bych se pak chtěl zeptat jakým způsobem zobrazit slajdy z prezentace. Po spuštění má jen bílou obrazovku s pruhy. Díky.

  2. Zdravím,

    určitě budou dostupné. Ale sestříhat video, aby bylo koukatelné přeci jen chvilku trvá. Takže nevzdávejte to 🙂

    Slajdy jsou v HTML a v JavaScriptu. Jsou odladěné pro Firefox (přesněji Mozilla Gecko). Nicméně by mělo být možné je prohlédnout i v IE a v Safari.

  3. Slajdy prohlížím v IE, ale opravdu nefungujou. Nicméně pokud bude to video, tak to ani nebude třeba. Každopádně díky za přínosnou prezentaci.

  4. Zdravim,
    prezentace funguje i v Opere (CTRL + sipky).

    Me osobne by zajimalo, zda nemate k dispozici nejakou funkcni aplikaci na prozkoumani. Se Seamem si tak nejak hraji, ale stale to neni ono. Navic, pod glassfishem jsem v jistych vecech omezen (alespon, pokud je nejak nezaregistruji).
    Osobne mam stale dilema jakym zpusobem tedy provozovat (poskytovat) komponenty. Session ci Event? Kdyz bych to prevedl do praxe:
    1. Mam stary server s malou pameti
    2. Z valne vetsiny potrebuji zobrazovat, filtrovat a strankovat data
    3. Dat je velke mnozstvi, stovky tabulek, miliony radku
    4. Data potrebuji aktualizovana, tzn. pri refresh prohlizece chci, aby se model tabulky znovu naplnil, nikoli aby se cachoval nekde v httpsession, jako se tak deje v 90% tutorialu na JSF ci Seam.

    Nejak z toho stale nejsem chytrej 🙂
    Kdyz se mi povede prevest beanu na event, tak se zase model vola nekolikrat. Kdyz potrebuji zistkat radek pro nejaky dalsi detail, zase se vola znovu model, atd… Me osobne by stacila ukazka funkcni CRUD aplikace s temito pozadavky, staci nejaky link.

    Diky moc za cas specialistu na Seam 😉

  5. to finc:
    Ja osobne bych se v pripade milionu zaznamu Seamu vyhnul. Pouzival bych naprosty zaklad z moznosti weboveho kontejneru. Seam je vyborny na aplikace lehciho typu, tj. desetitisice, statisice radek, ale ne zcela vhodny na aplikace, ktere jsou postaveny na velkem mnozstvi dat a ocekavaji se rychle odezvy. Nicmene funkcni CRUD aplikaci lze vygenerovat pomoci seam-gen (soucast distribuce Seamu), ktera na zaklade existujiciho DB modelu vygeneruje kompletni aplikaci i s webovou vrstvou.

  6. to ropman:
    Netuším proč by měl mít Seam problémy se záznamy v rozsahu miliónů záznamů. Takové aplikace tvoříme a nejsou s tím vůbec žádné problémy.

    Jediné místo, kde s tím mohou být problémy je databáze, ale většina dnešních to zvládá celkem bez problémů.

    To co tady říkáte je jen a pouze FUD bez jakýchkoliv argumentů.

    to finc:
    mám rozepsaný článek, kde bych chtěl na některé dotazy odpovědět. Bohužel jej stále nemohu dopsat.

  7. to Petr Ferschmann: To bude super. Stale marne shanim nekoho, kdo byl mel zkusennosti i primo s Glassfishem a cistym JPA bez Hibernate. Obcas se totiz nektere veci museji delat jinak, nez je psano v manualu 🙂
    Docela by me zajimala ta samotna logika, kde se jeden stav dat uklada v sessions a druhy v DB. Obcas mi to mota hlavu 🙂

    to ropman: V tom ani problem nevidim. Tohle stale necham na starosti persistentni vrstve. Ono asi obecne, ne vzdy muzu pouzit ruzne abstrakce pokud budu ocekavat rychlou praci s miliony radkami. Osobne jsem napriklad, pro importovani dat z jinych zdroju, presel do JDBC. Proste ne na vse se ORM da vyuzit. Na druhou stranu v ostatnich pripadech jsem se zatim nesetkal s nejakymi vetsimi problemy. Pokud tedy nepocitam vzdalene volani, kde lookup entit asi neni spravny pristup.

  8. to Petr Ferschmann:
    O FUD se rozhodne nepokousim. Jen se domnivam, ze je prima umera mezi prijemnosti vyvoje a vykonem aplikace, tj. cim vice vyvojove pomocnych nastroju, tim nizsi vykonnost aplikace. Tohle snad nikdo nepopre :-). Je take otazkou, kolik uzivatelu tu Vasi aplikaci pouziva. Ja si tyto technologie nedokazi predstavit napr. na systemu, ktery je vyuzivan celostatne a tisicemi uzivatelu. Vy ale nejspis ano :-).

  9. to ropman:

    „tj. cim vice vyvojove pomocnych nastroju“

    tohle popřu :-).
    Škálovatelnost aplikace vychází z jiných věcí než z jednoduchosti.

    • Connection pooling se používá velmi snadno a přitom škálovatelnost zvyšuje.
    • Garbage collector se používá velmi jednodušše a přitom lépe škáluje než standardní alokátor v libc
    • Cachování v Seamu (Tag <s :cache />) se také používá velmi snadno a přitom škálovatelnost zvyšuje (nemusím pro všechno šáhnout do databáze).

    Spíš bych tu větu formuloval takto: „automatické a sofistikované nástroje mohou snadno zhoršit škálovatelnost pokud člověk důkladně nerozumí jejich funkčnosti.“.

    Na druhou stranu platí a vždycky platilo, že člověk pak musí provést měření (profilerem, …) a případné problémy odstranit.

    jen poznámka: in.relation.to je psán v Seamu a jeho návštěvnost je celkem velká.

  10. Dobrý den,

    od mého posledního dotazu již uběhl nějaký ten čas, proto bych se rád zeptal, jak to vypdá s videem z prezentace.

    Děkuji

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *