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

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

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

4. rész: Java Enterprise Edition bevezetı. Bakay Árpád dr. NETvisor kft (30)

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

JAVA webes alkalmazások

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

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

A Java EE 5 plattform

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

MVC. Model View Controller

MVC desktop alkalmazás esetén. MVC Model-View-Controller. eredete: Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások

Java Web technológiák

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

Osztott rendszerek, Java EE. Általános bevezető

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

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

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

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

A JavaServer Pages (JSP)

A JavaServer Pages (JSP)

A JavaServer Pages (JSP)

JEE tutorial. Zsíros Levente, 2012

SZAKDOLGOZAT CSEHI MIKLÓS DEBRECEN 2009.

Web-fejlesztés NGM_IN002_1

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.

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

Biztonság java web alkalmazásokban

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

Struts2 keretrendszer

Web-fejlesztés NGM_IN002_1

A TANTÁRGY ADATLAPJA

Szoftver Tervezési Dokumentáció. Nguyen Thai Binh

Bevezetés J2EE komponensek Java2EE API-k Web alkalmazások Dokumentáció Fejlesztői környezet. JAVA technológiák - bevezető

Osztott alkalmazások fejlesztési technológiái Áttekintés

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

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

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Ajax és Echo 2. Bokor Attila

eseményvezérelt megoldások Vizuális programozás 5. előadás

Feltörekvő technológiák: seam, drools, richfaces és társai a JBossban

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

S04-2 Elosztott alkalmazások készítése

A TANTÁRGY ADATLAPJA

The Power To Develop. i Develop

Az Apache Wicket keretrendszer

A MiddleWare rendszerek Rolls Roysa

Komponens modellek. 3. Előadás (első fele)

7. rész: A specifikációtól az implementációig az EJB rétegben

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

MUNKAIDŐ-NYILVÁNTARTÁS ALKALMAZÁS

2. rész: JSP-k és szervletek készítése. Bakay Árpád NETvisor kft (30)

JavaServer Pages (JSP) (folytatás)

Web programoz as

Java Business Integration szolgáltatásalapú architektúra JavaEE környezetben. Simon Géza Zsemlye Tamás

Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő február 20.

webalkalmazások fejlesztése elosztott alapon

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

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

Miért ASP.NET? Egyszerű webes alkalmazás fejlesztése. Történet ASP ASP.NET. Működés. Készítette: Simon Nándor

8. rész: Implementáció JDeveloperben

JAVA SE/ME tanfolyam tematika

Enterprise JavaBeans 1.4 platform (EJB 2.0)

BackupPC. Az /etc/hosts fájlba betehetjük a hosztokat, ha nem a tejles (fqdn, DNS név) névvel hivatkozunk rájuk: # /etc/hosts #

API tervezése mobil környezetbe. gyakorlat

Kommunikáció. Folyamatok közötti kommunikáció. Minden elosztott rendszer alapja

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

Automatikus infrastruktúra menedzsment és alkalmazástelepítés

Webes alkalmazások fejlesztése. Bevezetés az ASP.NET MVC 5 keretrendszerbe

MDAC - Microsoft Data Access Components

Junior Java Képzés. Tematika

Bevezetés E LSŐ FEJEZET

Két tűz között. statikus site generátorok és javascript alkalmazások és a Drupal

Előszó. Bevezetés. Java objektumok leképzése relációs adatbázisokra OJB-vel Viczián István Viczián István

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.

Symfony kurzus 2014/2015 I. félév. Security: authentication, authorization, user provider, role-ok, access control, FOS user bundle

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for Oracle E-Business Suite felhasználói kézikönyv 7. változat 5.

Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban

Webes alkalmazások fejlesztése

Bevezető. Servlet alapgondolatok

Az Oracle Fusion szakértői szemmel

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

JSP (Java Server Pages) technológia

EBS nagyvállalati implementációja a performancia szemszögéből

DSD DSD. Egy országos méretű orvosi adatbázissal kapcsolatos informatikai kihívások. Kovács László Pataki Balázs Pataki Máté MTA SZTAKI DSD

Viczián István IP Systems JUM XIX szeptember 18.

Bevezetés a Seam keretrendszer használatába

Madarassy László, mérnök, BME - Mobil Innovációs Központ. lmadarassy@mik.bme.hu

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

SAS Enterprise BI Server

SQL Server High Availability

JSF alkalmazások teljesítményhangolása JMeter és dynatrace segítségével

Bevezető MVC tervezési minta Struts folyamatvezérlés. Struts keretrendszer

GIS fejlesztés Web platformra nyílt forráskódú ingyenes eszközökkel

Java servlet technológia 1 / 40

ios alkalmazásfejlesztés Koltai Róbert

Java servlet technológia. Web alkalmazások. Servlet-et használni érdemes, ha. JSP-t használni érdemes, ha. Servlet-JSP kombináció (MVC) szükséges, ha

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

I. Szakmai törzsanyag

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

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

Átírás:

A Web réteg architektúrája A JSF web alkalmazás keretrendszer Bakay Árpád dr. NETvisor kft (30) 385 1711 arpad.bakay@netvisor.hu

Új doc: JSPTutorial.html a web-en Szervletek és JSP-k, és ennek történelmi és technikai háttere. JSP kiterjesztések példákkal és a fontosabb tag-ek JSP kiterjesztések példákkal és a fontosabb tag-ek részletezésével.

1. J2EE komponensek csomagolása és telepítése Alkalmazás telepítése egyetlen file-ban!! egymásba skatulyázott jar (zip) fileok xml formátumú komponens descriptorok + szerver-specifikus kiegészítı descriptorok Pl: App1.ear AandB.jar ABean.class, A.class, AHome.class BBean.class, B.class, BHome.class ejb-jar.xml + jboss.xml C.jar CBean.class, C.class, CHome.class ejb-jar.xml + jboss.xml Gui.war index.jsp main.jsp web.xml + jboss-web.xml application.xml App2.ear App3.ear

A Web archive (.war file) Mi van benne? JSP-k Servlet.class files Statikus content Html, képek, appletek Descriptor: web.xml Taglib-ek és tag.jar-ok más felhasznált java osztálok.class-jai ill..jar-jai

2. A Web.xml descriptor Szervletek Deklarálása: init paraméterek, sec beállítások Mapping URL patternekre: http://host/webappname/<erre a részre vonatkozik> Pl: *.do (minden do kierjesztéső URL) /mywebapp/* /MyServlet (specifikus csak ez az URL) JSP-ket nem kell Lehet még filterek: a szervlet hívása elıtt végrehajtódó kódok. Egyéb konfigurációk (pl. encoding/mime beállítások, security, indító oldal, app szintő init paraméterek stb.)

3. WEB Alkalmazás architekturák

Tisztán JSP alapú Web UI C L I E N T Response JSP1 JSP2 BeanA BeanB B R O W S E R Response Response JSP3 A JSP-k hármas funkcionalitása!!! -Megjelenít -Business adatot kezel -Flow of control???

Tisztán JSP alapú Web UI EJB-vel C L I E N T B R O W S E R Response Response Response JSP1 JSP2 JSP3 JSP-bıl EJB-t hívni csak scriptlettel, Vagy specttaglib-be lehet. Ezért kell a proxy. proxy proxy EJB1 EJB2 EJB Tier

MVC Modell-View-Controller architektúra C L I E N T B R O W S E R Request Response Controller Servlet Struts -config. XML Controller JSP1 JSP2 JSP3 ActionA View ActionB ActionC Form Bean1 Form Bean2 EJB1 EJB2 EJB Tier Model

MVC (Spec. értelmezés Web alkalmazásokhoz) A legismertebb példák: Jakarta STRUTS JSF azért ez nem klasszikus MVC! Komponensek Controller servlet nem kell megírni!!!! struts-config.xml deklaratív navigációs logika a kontrollerhez Action class-ok execute method JSP-k nem hivatkoznak egymásra, hanem a struts_config.xml-beli navigációs mapping címekre (*.do) saját taglib-eket használnak (pl. STRUTS: logic, HTML output, bean access, stb.) Bean-ek ez a modell

Full-extra MVC architektúra C L I E N T B R O W S E R Request Response Controller Servlet Struts -config. XML Controller JSP1 JSP2 JSP3 ActionA View ActionB ActionC Form Bean1 Form Bean2 Model Model Facade Update Obj. Update Obj. Update Obj. JSP Template CSS DreamWeaver Skin EJB1 EJB2 EJB Tier Backend

4. Java Server Faces A J2EE Standard Alkalmazás-Framework

1. Mi az alkalmazás framework? JSP++: Kiegészíti, továbbfejleszti a JSP/Servlet technológiákat Az MVC mintákat követi Két ismert változat: STRUTS JSF

Megoldandó feladatok Az M-V-C rétegek szétválasztása Áttekinthetı, explicit lap-vezérlési logika A HTML lapok forrásnyelve (ami rendszerint JSP+Taglib-ek) egyszerő és sokoldalú legyen. Speciális GUI elemek Visszatérı problémák: form<->bean adat mapping, konverzió, validálás, user input hibák visszajelzése, stb. Többnyelvőség támogatása

Faces alapkoncepciók Navigáció vezérlése XML-vezérelt kontroller szervlettel (faces-config.xml) A JSP oldalak Saját taglib-eket használunk 2 db.: HTML és Core A dinamikus elemeket egy server-side objektumstuktúra tükrözi UIComponent + opcionálisan: Renderer, Validator, Converter, Listener Ezeket készen kapjuk, rendszerint nem kell megírni backing JavaBean - nekünk kell megírni Automatikus kapcsolat az UI komponensek állapotával Tárolja a property-ket, Tartalmazhat akciókra reagáló, validáló, stb. metódusokat is.

JSF Architektura JSP oldal Facesconfig.x ml Backing JavaBean Application Developer írja <tag> Renderer Validator Készen kapjuk, (v. component developer írja) UI Component Converter Listener

JSF UI-data kötése: A. változat Tag egy egyszerő ropertyre hivatkozik (UI component és társai rejtve maradnak) <h:input value= #{backingbean.nameprop} /> Application Developer írja JSP oldal <tag> Renderer nameprop property Backing JavaBean Validator Készen kapjuk, (v. component developer írja) UI Component Converter Listener

JSF UI-data kötése: B. változat A Tag egy UI componentre hivatkozik, ami a Backing Bean egy propertyje <h:input binding= #{backingbean.nameinputcomp} /> Application Developer írja JSP oldal <tag> nameinputcomp property Backing JavaBean Validator Renderer UI Component Converter Listener Készen kapjuk, (v. component developer írja)

Faces alkalmazás JSP oldala Minden, ami az oldalon dinamikus tartalom, JSF tagekkel van definálva nincs HTML <form />, <input />, stb. Még JSP, JSTL tag-ek se nagyon #{aa.bb} : deferred EL kifejezések (lvalue) Nem a JSP gép, hanem a tag logika értékeli ki JSP-ben definiált validátorok, konverterek stb. Kétféle technika Resource bundle használata a nyelvi támogatáshoz Jól azonosítható JSP design patternek Pl. beviteli hiba visszajelzés, validátorok és konverterek

JSF Tag-ek típusai form és basic user input (textbox, textarea) listák, combo-boxok datatable Command: button vagy link Ezek indítják az akciókat Mindegyikhez tartozik egy server-side Component class Visszafelé a leképezés nem egyértelmő ezt nevezik variable rendering -nek: pl: command: html link vagy egy button Egy adott alkalmazás többfée eszközre is renderelhetı (pl. PC-re és mobiltelefonra)

faces-config.xml Navigációs szabályok <navigation-rule> <from-view-id>/response.jsp</from-view-id> <navigation-case> <from-outcome>success</from-outcome> <to-view-id>/greeting.jsp</to-view-id> </navigation-case> </navigation-rule> Managed bean-ek deklarációja Property-k itt is inícializálhatók Általában ezek a backing bean-ek Resource-ok nyelvi támogatáshoz Validátorok, konverterek, renderelık deklarációja

backing bean A alkalmazás GUI adatkezelését támogató Java osztály Mi írjuk meg Ez is egy trükkös JavaBean Property-k deklarálása Action metódusok és ActionHandler-ek Gomb, link akciók kezelése Action stringet ad vissza -> ez navigál a köv. lapra Validátorok, konverterek Hozzáférhetünk az UI elemek tükör-objektumaihoz (ha a tagban van binding attr)

Amirıl majd Önök beszélnek:

2. JSP Technológia választási alkalmazás bejelentkezés

Fontos API-k (és TLA -k) RMI remote method invocation Más java VM-ekben futó objektumok hívása JDBC Java database connectivity Database írása, olvasása JSP Java Server Pages Dinamikus weblapok JTA (JTS) Java transaction API és - Services Nagy JMS Java messaging services Üzenetküldés, aszinkron kommunikáció JNDI Java naming and directory services Objektumok keresése név stb.. szerint JAAS Java authentication / authorization framew. User jogosultság kezelésjavamail JavaMail JAF -- Java activation framework???? TLA = Three Letter Acronym = HBR

Köszönöm a figyelmet!