Kompozit alkalmazások fejlesztése. IBM WebSphere Portal Server



Hasonló dokumentumok
Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Szervlet-JSP együttműködés

A JavaServer Pages (JSP)

A JavaServer Pages (JSP)

Enterprise JavaBeans 1.4 platform (EJB 2.0)

JAVA webes alkalmazások

12.óra jquery Framework #1. Gyimesi Ákos

AJAX Framework építés. Nagy Attila Gábor Wildom Kft.

A WEB programozása - JSP1 dr.gál Tibor őszi félév

JavaServer Pages (JSP) (folytatás)

A JavaServer Pages (JSP)

Webalkalmazás fejlesztés Java EE környezetben NetBeans segítségével: JavaServer Faces 1.2 AJAX

10.óra CodeIgniter Framework #3. Gyimesi Ákos

Model View Controller alapú alkalmazásfejlesztés

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Természetesen készíts egy csempe nevű könyvtárat és ide mentsd az index.html állományt.

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

JEE tutorial. Zsíros Levente, 2012

A Web réteg architektúrája A JSF web alkalmazás keretrendszer. Bakay Árpád dr. NETvisor kft (30)

Szerializáció. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Szerializáció / 22

Jquery. Konstantinusz Kft.

Web-fejlesztés NGM_IN002_1

Bevezetés Működési elv AJAX keretrendszerek AJAX

PHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

Osztályok. 4. gyakorlat

A WEB programozása - Bevezetés őszi félév Dr. Gál Tibor

Bevezető. Servlet alapgondolatok

MVC. Model View Controller

PHP. Adatbázisok gyakorlat

Ajax és Echo 2. Bokor Attila

Adatbányászat és Perszonalizáció architektúra

Web programozás. 3. előadás

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Eseményvezérelt alkalmazások fejlesztése II 12. előadás. Objektumrelációs adatkezelés (ADO.NET) Giachetta Roberto

Szerver oldali Java programozás /II. 1. óra. Elemkönyvtárak. Elemkönyvtárak használata Saját elemkönyvtár készítése.

Java és web programozás

Symfony kurzus 2014/2015 I. félév. Controller, Routing

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:

Biztonság java web alkalmazásokban

Google Web Toolkit. Elek Márton. Drótposta kft.

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

és az instanceof operátor

BME IK 2 JAVA SERVER FACES UML-1 20/11/2013. Apache Struts. Spring MVC. Java Server Faces. Google Web Toolkit. Képességek

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java technológiák - ANTAL Margit. komponensek. A HTTP protokoll. Webkonténerek és szervletek. Egyszerű HTTP. ANTAL Margit.

RIA Rich Internet Application

Üdvözli Önöket A PGY3 tantárgy! Bakay Árpád dr. NETvisor kft (30) arpad.bakay@netvisor.hu

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

3. Osztályok II. Programozás II

Webes alkalmazások fejlesztése 10. előadás. Webszolgáltatások tesztelése (ASP.NET Core) Cserép Máté

OOP #14 (referencia-elv)

C# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18

C#, OOP. Osztályok tervezése C#-ban

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

Stateless Session Bean

PHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II / 19

Az Apache Wicket keretrendszer

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Eddig még nem használt vezérlőket is megismerünk: PlaceHolder, RadioButtonList.

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET) Cserép Máté.

HTML, Javascript és az objektumok

Struts2 keretrendszer

Már megismert fogalmak áttekintése

JSP (Java Server Pages) technológia

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

ÜZLETI I TELLIGE CIA - VIZUALIZÁCIÓ

WEBFEJLESZTÉS 2. MUNKAMENET-KEZELÉS, HITELESÍTÉS

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET)

Web programozás I. 4. előadás

Webes alkalmazások fejlesztése

ASP-s alkalmazás készítés

ROS Remote Operations Service

Szabadkai Műszaki Szakfőiskola. Web programozás. dr Zlatko Čović

Webes alkalmazások fejlesztése 2. előadás. Webfejlesztés MVC architektúrában (ASP.NET) Webfejlesztés MVC architektúrában Fejlesztés ASP.

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

XML adatkezelés I. Az SAX szabvány. Dr. Kovács László Miskolci Egyetem Általános Informatikai Tanszék. XML adatok kezelési lehetőségei

Biztonságos PHP a gyakorlatban

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

WEB-PROGRAMOZÁS II. 1. Egészítse ki a következő PHP kódot a következők szerint: a,b,c,d: <?php. interface Kiir { public function kiir();

C++ programozási nyelv

A Java EE 5 plattform

Webszolgáltatások (WS)

Interfészek. PPT 2007/2008 tavasz.

5. rész: A Java EE és az Enterprise Bean réteg. Bakay Árpád dr. NETvisor kft (30)

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Web-fejlesztés NGM_IN002_1

SZAKDOLGOZAT CSEHI MIKLÓS DEBRECEN 2009.

Java és web programozás

Java servlet technológia 1 / 40

Valimed API. REST API a magyarországi orvos pecsétszámok validálására

Java Servlet technológia

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

Java V. Osztályszint. lyszintű ű tagok. Példányváltozó. Osztályváltozó. Általános Informatikai Tanszék Utolsó módosítás:

Átírás:

Kompozit alkalmazások fejlesztése IBM WebSphere Portal Server

Portletek -összefoglaló Portlet: portálba integrálható kisalkalmazás Szabványok JSR 168 Portlet 1.0 (IBM API) JSR 286 Portlet 2.0 Dióhéjban doview() / doedit() /.. processaction() ( processevent() )

Portletekközötti kommunikáció Állapot-megosztás Shared Session (JSR 168) Public Render Parameters (JSR 286) Esemény-alapú JSR 286 Events (IBM API Events) Live Text & Click-to-action (WebSphere Portal) Drag and Drop (WebSphere Portal) JavaScript

Shared Session Már JSR 168-ban is Csak egy.war-on belüli portletek közt Java kód: request.getportletsession().setattribute("searchresults", customers, PortletSession.APPLICATION_SCOPE); Object searchstring = request.getportletsession().getattribute("searchstring",portletsession.application_sc OPE); request.getportletsession().removeattribute("searchstring",portletsession.applicatio N_SCOPE); JSP Scriptlet: <%=renderrequest.getportletsession().getattribute("searchstring", PortletSession.APPLICATION_SCOPE) %> JSP EL: közvetlenül nem sikerült; megoldás: Portlet-kód: request.setattribute("searchstring ", request.getportletsession().getattribute(" searchstring")); JSP EL: ${requestscope.searchstring}

Public Render Parameters Csak JSR 286-tól Akár különböző.war-okból származó portletek között is String paraméterek, a következő action törli őket. Kétféle képpen állítható be url-ben megjelenik (bookmarkolható, linkelhető), a <portlet:renderurl> jsp tag segítségével: <a href="<portlet:renderurl> <portlet:param name="customerid" value="${customer.id}" /> </portlet:renderurl>">${customer.familyname} ${customer.firstname}</a> Az url-ben nem jelenik meg: action-t hívunk és az azt kezelő java kódban actionresponse.setrenderparameter( customerid", customer.getid()); Lekérdezés Pre-render portlet kódban: String id = request.getparameter("customerid"); JSP EL: ${param.customerid}

JSR 286 Events Csak JSR 286-tól Az portletek eseményeket generálhatnak, melyekre más portletek reagálhatnak: processevent() fázis A portál adminisztrátornak össze kell drótoznia hogy melyik portletek melyik más portletek melyik eseményeire reagáljanak (akár oldalak közt is) Szükséges xml definíciók a portlet.xml-be: <event-definition> <name>airportcodeselect</name> <value-type>com.example.eventpayload</value-type> </event-definition> <portlet>... <supported-publishing-event> <name>airportcodeselect</name> </supported-publishing-event> </portlet> <portlet>... <supported-processing -event> <name>airportcodeselect</name> </supported-processing -event> </portlet>

JSR 286 Events Event objektum Lehet String, vagy bármilyen Szerializálhatóosztály összetett adatokat is tartalmazhat ha WSRP-n keresztül is akarjuk használni a portleteket akkor JAXB szerializálhatóság is kell Küldés processaction()/processevent(): responce.setevent(name,payload) Fogadás processevent(..) { Event payload = request.getevent(); } Trükk ha.war-ok közt használunk egy eventet, akkor érdemes lehet shared lib-be tenni az event osztályt, különben a war-onként különböző classloader miatt szerializálást kell végrehajtani, ami lassú.

WPS Live Text & Click-to-action WPS V6.1 óta http://publib.boulder.ibm.com/infocenter/wpdoc/v6r1/index.jsp?topic=/com.ibm.wp.ent.doc _v6101/dev/w2_smtg.html Működéséhez kell a Live Object Framework app Kommunikáció a kliensen JavaScriptben, nem kell a portlet.xml-be semmi Live Text: Semantic Tagging Bármilyen (nem csak portlet!) html tartalom tag-elhetőlive Text-ként (c2a:source class) Beépített JavaScript felismeri a tag-et és kattintásra felugróablakban prezentálja a megadott tartalmat Click-to-action: Html formokat tag-elhetünk click-to-action targetként (c2a:target class) Elég ha a form ugyanazon a képernyőn van; lehet másik portlet vagy tetszőleges html tartalom (content vagy a téma része is akár..) A passzolótargetek felsorolásra kerülnek a source-ok felugrókisablakában, egy kattintás aktiválja őket az aktuális source-elemnek megfelelő paraméterrel hívhatnak portlet action-t, tetszőleges szervletet, vagy akár javascriptet is.

WPS Live Text & Click-to-action Példa <div class="c2a:source"> <span class="c2a:typename" style="display:none">customer</span> <span class="c2a:value" style="display:none">${customer.id}</span> <%@ include file="/jsps/inc/livetextheaderforcustomer.jsp"%> <span class="c2a:anchor">more</span> </div> <form class="c2a:target" method="get" action="/myapp/do.something" style="display:none;"> <span class="c2a:typename">customer</span> <p class="c2a:action-label"> Egy szervletnek küldöm</p> <input type="text" class="c2a:action-param" name="param /> <input type="submit"> </form> <form class="c2a:target action="javascript:void(0)" style="display:none;" onsubmit="alert('customer id: '+document.getelementbyid('clienttargetparam').value ); return false;"> <span class="c2a:typename">customer</span> <p class="c2a:action-label >szimpla alert</p> <input name="targetparam" id="clienttargetparam" "type="text" class="c2a:action-param /> <input type="submit"> </form>

WPS Drag and Drop WPS V6.0.1. óta A kommunikáció a kliensen (JavaScript) Nem kell közös.war, se portlet.xml deklaráció Használat <%@ taglib uri="/web-inf/tld/dnd.tld" prefix="dnd" %> <dnd:drag type= matching" value= value_to_send" dragclone="true"> <dnd:additionalproperty type= param2" value= val" /> </dnd:drag>..content to be dragged.. <dnd:drop name= eee" action= action_url_processing_params_eee_fff" type= matching" > <dnd:additionalproperty name= fff" type= param2">.. content of the droping target area.. </dnd:drop> http://www.ibm.com/developerworks/websphere/tutorials/0707_fernandez/section2.html

Saját JavaScript Használhatunk különféle JavaScript framework-öket (pl. Dojo Events) Írhatunk saját JavaScript kódot Ha egyedi id-ra van szükség a portleten belül, akkor használjuk a portlet taglib <portlet:namespace/> tag-jét: <div id="<portlet:namespace/>_fontos_div"></div> Ezáltal akkor is helyesen fognak müködni a javascript kódok ha a portletünk több példánya is jelen van egy adott oldalon.

Összehasonlítás Public render parameters Prezentációösszehangolása (master-detail, találatok szűrése, stb) Portlet 2.0 kell hozzá A portletleírókban meg kell említeni Csak Stringek Bekerül(het) az URL-be (bookmark-olható) Shared Session Csak.war-on belül működik Tetszőleges objektumok, portlet.xml-ben nemkell jelezni. WPS Live Text Click-to-action Kell a Live Objects Framework app és javascript További adatokat jeleníthet meg Hívhat szerver és kliens oldali kódot is Nem kell közös.war, se portlet.xml deklaráció Nem csak portletek közt, bármilyen html tartalomban! WPS Drag and Drop WPS V6.0.1. óta A drop zóna portlet-action-t hív a rádobott elemnek megfelelı paraméterekkel Nem kell közös.war, se portlet.xml deklaráció JSR 286 Events Logika hívása (adatfeldolgozás, eseménykezelés) Portlet 2.0 kell hozzá A portletleírókban meg kell említeni Deploy után még össze kell drótozni a portleteket Tetszőleges szerializálhatóobjektumok (WSRP-hez JAXB szerializálhatóság) Szerver oldali metódus hívódik az esemény hatására, hívhat további eseményeket is Saját JavaScript Korlátlan lehetıségek Magunkra vagyunk utalva