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



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

Java Web technológiák

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

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

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

JAVA webes alkalmazások

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

A Java EE 5 plattform

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

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

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

Java Servlet technológia

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

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

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

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.

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

A JavaServer Pages (JSP)

!!" KÉSZÍTK: ERDÉLYI LAJOS KOLLÁR NÁNDOR WD6OGW BUK8Y7

MVC. Model View Controller

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

On-Line Preferansz Követelményspecifikáció

A TANTÁRGY ADATLAPJA

Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést

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

JEE tutorial. Zsíros Levente, 2012

A TANTÁRGY ADATLAPJA

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

Web-fejlesztés NGM_IN002_1

A JavaServer Pages (JSP)

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

Rational. Application Developer. Telepítési kézikönyv. 7.0 változat GI

Eclipse Rich AJAX Platform alapú webalkalmazások teljesítmény analízise. BSc szakdolgozat. Áshin László. Ráth István PhD hallgató

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

IBM Business Process Manager változat 8 alváltozat 5. Az IBM Business Process Manager áttekintése

A JavaServer Pages (JSP)

Bevezető. Servlet alapgondolatok

Web programoz as

SZAKDOLGOZAT CSEHI MIKLÓS DEBRECEN 2009.

Java servlet technológia 1 / 40

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

Struts2 keretrendszer

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

Módszerek Vizsgálata. Diplomamunka

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

10. évfolyam 105 óra azonosító számú Hálózatok, programozás és adatbázis-kezelés 105 óra Adatbázis- és szoftverfejlesztés gyakorlat tantárgy

SZAKDOLGOZAT. Vígh Gábor DEBRECEN 2009.

Tarantella Secure Global Desktop Enterprise Edition

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

Összefüggő szakmai gyakorlat témakörei évfolyam. 9. évfolyam

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

RIA Rich Internet Application

webmathematica bemutatása

Web-fejlesztés NGM_IN002_1

Többrétegű műszaki nyilvántartás. NETinv

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

A TANTÁRGY ADATLAPJA

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.

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

Összefüggő szakmai gyakorlat témakörei. 13 évfolyam. Információtechnológiai gyakorlat 50 óra

Java szervlet technológia

A JSP életciklusa Szkript elemek Dinamikus tartalom létrehozása Kifejezés nyelv Tartalom újrafelhasználása Vezérlés átadása Visszatekintés

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

ÜZLETI I TELLIGE CIA - VIZUALIZÁCIÓ

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

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

Programozás III GRAFIKA RAJZOLÁS SWING FELÜLETEN RAJZOLÁS GRAFIKA HASZNÁLATA. Rajzolni az awt csomag Graphics osztályának metódusaival tudunk.

Informatikai Tesztek Katalógus

A JSP életciklusa Szkript elemek Dinamikus tartalom létrehozása Kifejezés nyelv Tartalom újrafelhasználása Vezérlés átadása Visszatekintés

JSP technológia. A JSP elemek kétféle szintaxissal használhatók: A JSP

JSP életciklusa Szkript elemek, implicit objektumok, bean-ek, EL include, (forward) Visszatekintés MVC

Interaktív webes térképezés GRASS GIS 7-tel. A Web Processing Service bemutatása

strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string

Teszt generálás webes alkalmazásokhoz

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Rendszerterv. 1. Funkcionális terv Feladat leírása:

Bevezetés E LSŐ FEJEZET

Models are not right or wrong; they are more or less useful.

Jövő Internet - kutatások az elmélettől az alkalmazásig. Eredménykommunikációs kiadvány

A SZOFTVERTECHNOLÓGIA ALAPJAI

JavaServer Pages (JSP) (folytatás)

Junior Java Képzés. Tematika

Bánsághi Anna 1 of 67

Termékbemutató prospektus

Adatkezelés. 11. előadás (Entity Beans)

Operációs rendszerek. A Windows NT felépítése

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

Book Template Title. Author Last Name, Author First Name


Miért az EFEB által szervezett JAVA programozó tanfolyam a legjobb választás az Ön számára?

WebSphere Adapters. 6. változat 2. alváltozat. WebSphere Adapter for SAP Software felhasználói kézikönyv 6. változat 2. kiadás

Előzmények

MUNKAIDŐ-NYILVÁNTARTÁS ALKALMAZÁS

IBM Tivoli Access Manager for WebLogic Server Felhasználóikézikönyv. 3.9-es verzió GC

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

STANDARD DEVELOPMENT U.L. FACTORY SYSTEMS GROUP IT DEPARTMENT

Informatikus, Webfejlesztő. Nagy Gusztáv

Webes alkalmazások fejlesztése. 9. előadás Bevezetés az ASP.NET MVC keretrendszerbe

2F Iskola fejlesztői dokumentáció

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

Átírás:

Java Web technológiák Bevezetés

Áttekintés Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások

Áttekintés Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások

Áttekintés Model View Controller (MVC) elv Java EE Java alapú Web alkalmazások

MVC Model-View-Controller eredete: kezdetben a SmallTalk OO programzási nyelvhez lett kifejlesztve eredetileg desktop alkalmazásoknál használták lényege szétválasztani a következő részeket: üzleti adatokat tartalmazó objektumok, illetve a rajtuk végezhető műveletek (model) megjelenítés (view) vezérlő logika (controller) jelenleg a legtöbb web-keretrendszer is a Model-View-Controller (MVC) mintát követi

MVC desktop illetve webalkalmazás esetén MVC desktop alkalmazás esetén MVC (klasszikus) web-alkalmazás esetén

MVC + Java web technológiák MVC Java web-technológiák esetén: Modell: tipikusan JavaBean-ek alkotják + a rajtuk végzett műveletek (üzleti logika kód) Nézet: tipikusan Java Server Page-ek (JSP) képviselik (de más megjelenítési technológiák is felhasználhatók, pl. Velocity, FreeMarker, JasperReports, stb.) Vezérlés: tipikusan egy Servlet, amely fogadja a kérés (request) paramétereket átalakítja a paramétereket a megfelelő típusra ellenőrzi a paraméterek helyességét meghívja a megfelelő üzleti logika metódusokat az előbbi lépések eredményei alapján továbbít a megfelelő nézethez

Az MVC elv működése Java web-alkalmazások esetén a következőképpen vázolható: 1 A kliens (web böngésző) kérést intéz a web szerverhez (GET vagy POST) 2 A webszerver a kérést (egy konfigurációs állomány alapján) a vezérlésért felelős Servlethez irányítja 3 A vezérlő Servlet (diszpécser) a kérés URL alapján meghívja a megfelelő parancs-objektumot 4 A parancsobjektum meghívja az üzleti logikát (itt történik pl. kommunikáció az adatbázissal vagy web-szolgáltatással), majd átirányít a megfelelő nézetre (pl. JSP). 5 A nézet (pl. JSP) megjeleníti az üzleti objektumokat

Java EE a Java alapú Web alkalmazások tipikus alkotóelemei: Servlet (vezérlés) JSP (nézet) ezek a komponensek a Java EE specifikáció szerves részei a továbbiakban áttekintést nyújtunk a Java EE technológiákról

Java EE Java EE alkalmazás elkészítésének fázisai: tervezése (design) fejlesztése (development) összeálĺıtása (assembly) telepítése (deployment) A JavaEE platform az alábbiakat kínálja: alkalmazások komponens alapú fejlesztése újrafelhasználható komponensek többrétegű osztott alkalmazásmodell egységesített biztonsági modell XML alapú web-szolgáltatások (web service) platformfüggetlenség szerverfüggetlenség

Többrétegű alkalmazásmodell Rétegek (tier) - szétválasztják az alkalmazást logikai egységekre (mindegyiknek külön feladata van) A következő rétegeket különböztetjük meg: Kliens (ügyfél)-réteg: A kliens gépen futó komponensek (pl. applet, swing alkalmazás) Web-réteg: a Java EE szerver web konténerében futó komponensek (Servlet, JSP) Üzleti logikai-réteg: a Java EE szerver EJB konténerében futó komponensek (EJB) Vállalati információs réteg (Enterprise Information System (EIS)): EIS szerveren futó szoftver (pl. adatbázisszerver) A Java EE alkalmazásokat általában három rétegűnek tekintik: kliens gép (felhasználói felületet bizosít), Java EE szerver (az üzleti logikát tartalmazza) és adatbázis szerver

Többrétegű alkalmazások Többrétegű alkalmazások [Java EE Tutorial]

Web kliens Web kliens a web böngésző: megmutatja a szerverről érkező oldalakat: HTML, XML stb. alapú dinamikus weblapok a web-rétegen futó komponensek generálják őket web kliensek ún. könnyű (thin) kliensek nem kérdeznek le adatbázisokat, nem végeznek komplex üzleti műveleteket ezek a nehéz műveletek a Java EE szerveren hajtódnak végre (hasznosítva a szerveroldali technológiák gyorsaságát, biztonságát, megbízhatóságát)

Alkalmazáskliensek Alkalmazáskliensek (desktop kliens) Alkalmazáskliensek: A kliens gépen futnak és egy komplexebb felhasználói felületet biztosítanak a html, xml alapú nyelvekhez képest leginkább jellemző egy Swing vagy AWT alapú grafikus felhasználói felület lehet akár parancssor alapú felület is Ezek a kliensek már közvetlenebbül kapcsolódnak az alkalmazáslogikához és több funkcionalitást tartalmazhatnak.

JavaBean-ek Az alábbiakban játszanak szerepet: a Java EE komponensek és az adatbázisréteg közötti adatcserében web alkalmazás esetén a nézet a standard web-es hatókörökbe helyezett bean-eket mutatja meg A JavaBean-ek nem részei a Java EE specifikációnak. Az implementált JavaBean osztályok meg kell feleljenek a JavaBean specifikációnak: get/set metódusok a tulajdonságok lekérdezésére, beálĺıtására, paraméter nélküli publikus konstruktor, szerializálható kell legyen, stb.

Java EE komponensek Java EE komponens: egy önálló funkcionalitású szoftverrész, amely a hozzá tartozó Java osztályokkal és erőforrásfájlokkal egy alkalmazás keretében van telepítve, és más komponensekkel kommunikál A következő Java EE komponensek vannak definiálva: Servletek és JSP (JavaServer Pages): web komponensek, melyek a Java EE szerver Web-konténerében (pl. Tomcat) futnak EJB-k (Enterprise JavaBeans): üzleti logika komponensek, melyek a Java EE szerver ejb-konténerében (pl. Weblogic, Websphere, JBoss) futnak

néhány jellemző: a Java EE komponensek Java nyelven íródnak fordításuk bármilyen más java programéhoz hasonlóan történik egy Java EE komponens és egy standard Java osztály közti különbség: a Java EE komponensek meg kell feleljenek az illető típusú komponensre vonatkozó Java EE specifikációnak a komponenseket össze kell rakni egy Java EE alkalmazásba ezt követően a szerverre lesznek telepítve

Web komponensek Web komponensek Servletek: Java osztályok, amelyek dinamikusan dolgozzák fel a kérést (request) és építik fel a választ (response) JSP-k: szöveg-alapú dokumentumok, amelyek a háttérben ugyancsak Servletként futnak le, de egy természetesebb megközeĺıtést biztosítanak a tartalom létrehozására

Üzleti logika komponensek Üzleti logika komponensek Enterprise Java Bean-ek Egy Java EE alkalmazásban az üzleti logika kódja (ami egy konkrét követelményt use case implementál) EJB-k által van megvalósítva. Háromféle EJB: session bean: az üzleti logikát implementálja entity bean: egy adatbázistábla egy bejegyzésének (record) felel meg. Biztosítja, hogy az adatok automatikusan le legyenek mentve az adatbázisba. message-driven (üzenetvezérelt) bean: üzenetküldést teszik lehetővé

Üzleti logika komponensek ami a többrétegű alkalmazások megírását bonyolulttá teszi... komplex kód írására van szükség: a tranzakciók kezeléséhez, többszálú programozáshoz, hatékony erőforrás-tároláshoz (resource pooling), más alacsony szintű művelethez A komponens alapú és platfom-független Java EE architektúra a többrétegű alkalmazások fejlesztését megkönnyíti, mivel: az üzleti logika újrafelhasználható komponensekbe van szervezve a fenti alacsony szintű műveleteket a Java EE szerverek biztosítják, ezáltal a fejlesztő a konkrét feladat (üzleti logika) megoldására koncentrálhat.

Üzleti logika komponensek A web komponenseket vagy enterprise beaneket nem lehet egyből lefuttatni: össze kell álĺıtani őket (assembly) egy Java EE modulba a konténerbe kell telepítni (deploy) az összeálĺıtás: különböző konténer beálĺıtásokat feltételez különböző konfigurációs állományokban A Java EE szerver ezen beálĺıtások alapján különböző szolgáltatásokat biztosít: biztonsági szolgáltatások tranzakciókezelés, JNDI, távoli hívások (EJB-k és kliensek között, mintha ugyanabban a JVM-ben futnának)

Konténer típusok Konténer típusok egy Java EE szerver EJB és Web konténereket biztosít: Java EE szerver és konténerek [Java EE Tutorial]

Konténer típusok Konténer típusok egy Java EE szerver EJB és Web konténereket biztosít: Java EE szerver és konténerek [Java EE Tutorial]

A web-kliens és web-alkalmazás közti kapcsolat a következőképpen műkodik: 1 A kliens egy HTTP kérést küld a web-szervernek 2 A web-konténer (mely a Servlet és JSP technológiákat implementálja) a kérést egy HTTPServletRequest objektummá alakítja. 3 Ezt az objektumot megkapja a web-komponens (Servlet vagy JSP), amely JavaBean-ekkel vagy az adatbázissal együttműködve dinamikus tartalmat generál. 4 A web-komponens egy HTTPServletResponse objektumot fog generálni vagy továbbadja (forward) a kérés objektumot egy másik web-komponensnek. 5 A web-szerver ezt az objektumot egy HTTP válasszá (response) alakítja és visszaküldi a kliensnek.

Servletek: Java osztályok, melyek dinamikusan dogozzák fel a kérést és hozzák létre a választ. JSP-k: szöveg alapú dokumentumok, melyek szintén Servletként futnak le, de a statikus tartalmat (HTML, XML) jóval egyszerűbben lehet létrehozni a segítségükkel. elvileg a Servletek és JSP-k felcserélhetőek gyakorlatilag minkettőnek megvan az erőssége és a gyengéje

összehasonĺıtás A Servletek alkalmasabbak: kontrollerként egy web alkalmazásnál (pl. kéréstovábbítás) nem szöveg alapú adatok feldolgozására A JSP-k alkalmasabbak: szöveg alapú (HTML, SVG, WML, XML) oldalak létrehozására A Servlet és JSP technológiák bevezetése óta újabb Java technológiák fejlődtek ki, amelyek az előbbi kettőn alapulnak. Pl. JSF, JSP elemkönyvtárak (pl. JSTL)

Web-alkalmazás életciklusa Egy web-alkalmazás a következő komponensekből áll: web-komponensek telepítés-leíró (deployment descriptor) statikus erőforrások (pl. képek, statikus HTML oldalak) Java osztályok jar programcsomagok (libraries) Egy web-alkalmazás szerverfüggetlen: bármilyen web-konténerbe telepíthető, amelyik megfelel a Java Servlet/JSP specifikációnak.

Web-alkalmazás életciklusa Egy web-alkalmazás létrehozása és futtatása a következő lépésekből áll: a web komponensek (Servlet, JSP) illetve segédosztályok megírása a telepítés-leíró (deployment descriptor) létrehozása a komponens osztályok illetve az ezekből hivatkozott segédosztályok lefordítása, illetve a megfelelő struktúrájú web-alkalmazás összeálĺıtása (build tool segítségével:pl. Ant) [opcionálisan] összecsomagolni az alkalmazást egy telepíthető egységbe (deployable unit). (.war állomány) telepíteni az alkalmazást a web-konténerbe böngészőből meghívni a megfelelő URL-ket, melyek a web-alkalmazásra hivatkoznak

Web-modulok A web modul a web-konténer megfelelő katalógusába lesz telepítve az alább felsorolt elemeket tartalmazó <alkalmazasnev>.war állománynak vagy <alkalmazasnev> katalógusnak felel meg Egy web modul sajátos struktúrával rendelkezik: a gyökérben taláhatók a JSP oldalak statikus web erőforrások szintén a gyökér tartalmaz egy WEB-INF nevű katalógust, amely a következőket tartalmazza: web.xml : a webakalmazás telepítés-leírója (deployment descriptor) classes katalógus: szerver-oldali osztályok: Servletek, segédosztályok és JavaBeans komponensek lib katalógus: jar csomagok, melyeket a szerver-oldali osztályok hívnak meg

Hasznos web-címek Néhány hasznos web-cím: www.java.sun.com A Sun hivatalos, Java-val kapcsolatos weboldala http://java.sun.com/javaee/5/docs/tutorial/doc/ Java EE 5 Tutorial www.apache.org Hasznos programcsomagok, keretrendszerek, API implementációk (pl. Tomcat) www.eclipse.org Az Eclipse fejlesztői környezet hivatalos honlapja www.google.com... :)

Fejlesztői környezet pl. Az alábbi eszközöket fogjuk használni: JDK 1.5 (vagy 1.6) (Java Developement Kit) futtatási környezet és Java fejlesztői eszközök (pl. fordító) Eclipse/NetBeans Java fejlesztői környezet Ant build tool Tomcat 6 webkonténer MySql adatbázisszerver tetszés szerinti böngésző