1 / 15

Portlety

Portlety. Jan Krňoul , carney@civ.zcu.cz Jaroslav Vávře , jvavre@civ.zcu.cz. Program. Dopoledne - teoretický úvod zbytečné opakování dobře známého a zmatečný výklad nového Portlety a portály, JSR-168 Drobnosti – logování, lokalizace… Živé ukázky :) Odpoledne – Lab

Download Presentation

Portlety

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Portlety Jan Krňoul, carney@civ.zcu.cz JaroslavVávře, jvavre@civ.zcu.cz

  2. Program • Dopoledne - teoretický úvod • zbytečné opakování dobře známého a zmatečný výklad nového • Portlety a portály, JSR-168 • Drobnosti – logování, lokalizace… • Živé ukázky :) • Odpoledne – Lab • Seznámení s prostředím • Portlet „Předměty učitele“ • Celý den – interaktivní, dotazy ihned!

  3. Teoretický úvod – co už dávno víte • Webové aplikace • Webovéaplikace v Javě • ServletAPI, servletkontejnery • JSP, JSTL • Spring • DI, SpringDAO Sun Java EE 5 Tutorial: http://java.sun.com/javaee/5/docs/tutorial/doc/

  4. Portlet a portál • JSR-168, JSR-286 (PortletAPI2.0)‏ • Staví na ServletAPI, podobný koncept • Vyšší míra abstrakce • Servlet generuje celou stránku, portlet jen část => • nevýhoda: nemůže zasahovat do hlaviček odpovědi, titulku stránky... • Problém pro AJAX (řešitelné servletem, který se ale nachází mimo portál)‏ • JSR-286 • http://jcp.org/en/jsr/detail?id=168 • http://developers.sun.com/portalserver/reference/techart/jsr168/

  5. Portál ZČU

  6. Portál a portlet kontejner • Běhovéprostředí • Portál • správaprostředků (stránek), přihlašování, práva,správa uživatelských kont • Komerční (WPS, BEA WebLogic), opensource (JetSpeed, Liferay, Jboss) • Portlet kontejner • session, vlastní „volání“ portletů • Životní cyklus (init, destroy) • Uvnitř každého portálu je nějaký • Tomcat + portlet kontejner • Integrační platforma ;) • Více portletů na jedné stránce

  7. Portlety • Co je portlet – analogie k servletu • web. komponenta, request/response, uvnitř kontejneru • Ale není přímo adresovatelný, generují to co portál (nedává smysl nechat portlet generovat třeba RSS) • javax.portlet.Portlet • Módy portletu (vliv na generovaný obsah) • View, edit, help + custom config a edit_defaults • View je vyžadován • Přepínání módů • PortletPreferences – perzistentní úložiště uživatelskýchnastavení • (jiná pro edit / config)‏ • Klíč-hodnota (hodnota[]), možno ukládat Stringy, typicky klíče do DB, cesty…

  8. Portlety 2 • Režimy – maximalizovaný/minimalizovaný (desktop GUI)‏ • Využití JSP podobně jako u servletu (i JSF…) • Včetně možného generování více typů markupu (HTML, WML)‏ • Vykreslení portletu – 2 fáze – process, render • Process – zpracování požadavku (např. odeslání formuláře,...)‏ • Formuláře jen POSTem • Render – vykreslení portletu, může vzít v úvahu process fázi • Mírně problematické předávání stavu process > render, řeší přes session

  9. Portlety 3 • Portlety v jednéaplikacispolumohoukomunikovat(meziportletová komunikace) • Norma JSR-168 nijakneřeší, obvykle se využijeaplikační (sdílená) session • Proprietární IBM normazavedlamechanismuszasílánízpráv • Z toho vychází řešení v JSR-286 • Portlet TagLibrary • <portlet:defineObjects/> RenderRequest, RenderResponse a PortletConfig objekty • <portlet:actionURL /> • <portlet:renderURL/> • <portlet:namespace/> • <portlet:param />

  10. Portletová aplikace a nasazení • Servletová aplikace • Soubor portletů, typicky k jednomu„tématu“ • Obsahujevše – třídy portletů, JSP, deskriptory, knihovny • web.xml (je to pořád webová aplikace), portlet.xml • Deskriptor, definujetřídu portletu, podporovanémódy, markup • Podobnějakoservlet, tzv. WAR (WebARchive)‏ • Zip archiv se speciálnístrukturou • Nasazenídlepoužitéhoserveru (WPS, JetSpeed, JBoss)

  11. Drobnosti: lokalizace • Požadavek na překlad textů • Standardní prostředky javy - „Resource bundle“ • Properties soubory – textový soubor • název[_kód jazyka].properties • klíč=hodnota • portlet.xml definuje použitý resource bundle, ten je z portletu jednoduše dostupný • Zároveň obsahuje defaultní titulek portletu a jeho popis • Pozor! Kódování ISO-8859-1 (čeština přes unicode escape sekvence \uXXXX, hloupější IDE mají problém)‏

  12. Drobnosti: logování (Log4J) • Vývoj a ladění • Produkčníprostředí • Co a kdy se dělo (prováděnéakce)‏ • Parametrypožadavků • Důležitýikontext – login uživatele, osobníčíslo, předchozíprovedenáakce... • Vhodnélogování v produkci je k nezaplacení! • Konfiguračnísouborumístěnýnaclasspath • http://logging.apache.org/log4j/1.2/index.html

  13. Drobnosti: Spring • Již znáte od kolegy Valenty • Vhodné kombinovat XML kofiguraci s .properties soubory • Viz konfigurace portálového rozhraní STAGu (applicationContext.xml upravujeme my, properties soubory správci)‏ • http://www.springsource.org/

  14. Konec • Dotazy? • Následují živé ukázky • TutorialPortlet • Konfigurace, portlet, jsp, resourceBundle

  15. Lab • Instalace: http://home.zcu.cz/~carney/jet • Rozbalit .zip na c:\ • Netbeans , Tomcat, připravené projekty • Úkoly • Seznamte se strukturou • Spusťte Netbeans, z NB spusťte Tomcat • http://localhost:8080/simple-portal • herout/demo :) • Vytvořte HelloWorld portlet • Vytvořte portlet, který zobrazí předměty učitele • pro roky 2010, 2011, 2012 (přepínač), užijte připravené SQL • V edit modu defaultní stav přepínače…

More Related