Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
JAVA technol´ogi´ak - bevezet˝o
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Java
Java szigete - Indon´ezia
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Tartalom 1
Bevezet´es
2
J2EE komponensek J2EE Kliensek Web kliensek Appletek Alkalmaz´ askliensek
Web komponensek ¨ Uzleti logika komponensek 3
Java2EE API-k EJB Szervlet
4
Web alkalmaz´asok Web-alkalmaz´as ´eletciklusa Web-modulok
5
Dokument´aci´o
6
Fejleszt˝oi k¨ornyezet
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Java
Java: programoz´asi nyelv futtat´asi k¨ornyezet (runtime environment) Java platformok: J2SE: asztali PC illetve szerver alakmaz´asok sz´am´ara J2EE: szerveroldali alkalmaz´asokra J2ME: mobil alkalmaz´asok fejleszt´es´ere (hurcolhat´o, PDA).
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
el˝oismeretek felt´etelezett (...) Java-val kapcsolatos el˝ oismeretek: objektumorient´alts´ag (az elemi t´ıpusok kiv´etel´evel minden objektum), java szintaxis, referenci´ak, objektumok inicializ´al´asa, objektumok t¨orl´ese (garbage collector), ???, kiv´etelkezel´es, objektumkollekci´ok, reflection, introspection, sz´alak stb.
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
el˝oismeretek felt´etelezett (...) Java-val kapcsolatos el˝ oismeretek: objektumorient´alts´ag (az elemi t´ıpusok kiv´etel´evel minden objektum), java szintaxis, referenci´ak, objektumok inicializ´al´asa, objektumok t¨orl´ese (garbage collector), interf´eszek, kiv´etelkezel´es, objektumkollekci´ok, reflection, introspection, sz´alak stb.
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
J2EE A Java2Enterprise platform az al´abbiakat k´ın´alja: alkalmaz´asok komponens alap´ u tervez´ese (design) fejleszt´ese (development) ossze´ ¨ all´ıt´ asa (assembly) telep´ıt´ese (deployment)
t¨obbr´eteg˝ u osztott alkalmaz´asmodell u ´jrafelhaszn´alhat´o komponensek egys´eges´ıtett biztons´agi modell rugalmas tranzakci´ o-vez´erl´es XML alap´ u web-szolg´altat´asok (web service) platformf¨ uggetlens´eg szerverf¨ uggetlens´eg
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
T¨obbr´eteg˝u alkalmaz´asmodell R´ etegek (tier) - sz´etv´alasztj´ak az alkalmaz´ast logikai egys´egekre (mindegyiknek k¨ ul¨on feladata van) A k¨ovetkez˝o r´etegeket k¨ ul¨ onb¨ oztetj¨ uk meg: Kliens (¨ ugyf´ el)-r´ eteg: A kliens g´epen fut´ o komponensek (pl. applet, swing alkalmaz´as) Web-r´ eteg: a J2EE szerveren fut´ o komponensek (szervlet, jsp) ¨ Uzleti logikai-r´ eteg: a J2EE szerveren fut´ o komponensek (ejb) V´ allalati inform´ aci´ os r´ eteg (Enterprise Information System (EIS)): EIS szerveren fut´o szoftver (pl. adatb´azisszerver) A J2EE alkalmaz´asokat ´altal´aban h´arom r´eteg˝ unek tekintik, mert h´arom helyre vannak sz´etosztva: kliens g´ep (felhaszn´al´ oi fel¨ uletet bizos´ıt), J2EE szerver (az u ¨zleti logik´at tartalmazza) ´es adatb´azis szerver
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
T¨obbr´eteg˝u alkalmaz´asok
T¨obbr´eteg˝ u alkalmaz´asok [J2EE Tutorial]
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Web kliensek
Web kliensek
K´et r´eszb˝ol ´allnak: 1
2
HTML, XML stb. alap´ u dinamikus weblapok – a web-r´etegen fut´o komponensek gener´alj´ak ˝ oket a web b¨ong´esz˝o – megmutatja a szerverr˝ ol ´erkez˝ o oldalakat
web kliensek – u ´n. k¨onny˝ u (thin) kliensek nem k´erdeznek le adatb´azisokat, nem v´egeznek komplex u ¨zleti m˝ uveleteket ezek a ”neh´ez” m˝ uveletek a J2EE szerveren hajt´ odnak v´egre (hasznos´ıtva a szerveroldali technol´ ogi´ak gyorsas´ag´at, biztons´ag´at, megb´ızhat´os´ag´at)
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Appletek
Appletek
A szervert˝ol kapott web oldal tartalmazhat egy be´agyazott appletet. applet: egy Javaban ´ır´odott kisebb kliens-alkalmaz´as, amely a b¨ong´esz˝obe telep´ıtett JVM-ben fut le A (szerver-oldali) web komponensek haszn´alata el˝ ony¨ osebb az appletekkel szemben: nincs sz¨ uks´eg Java plugin-re egy tiszt´abb ´es modul´arisabb alkalmaz´astervez´est biztos´ıtanak (az alkalmaz´aslogika ´es a weboldal megjelen´ıt´esi form´aja sz´etv´alaszthat´o)
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Alkalmaz´ askliensek
Alkalmaz´askliensek
Alkalmaz´askliensek: A kliens g´epen futnak ´es egy komplexebb felhaszn´al´ oi fel¨ uletet biztos´ıtanak a html, xml alap´ u nyelvekhez k´epest legink´abb jellemz˝o egy Swing vagy AWT alap´ u grafikus felhaszn´al´oi fel¨ ulet lehet ak´ar parancssor alap´ u fel¨ ulet is Ezek a kliensek m´ar k¨ozvetlenebb¨ ul kapcsol´ odnak az alkalmaz´aslogik´ahoz ´es t¨obb funkcionalit´ast tartalmazhatnak.
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Alkalmaz´ askliensek
JavaBean-ek (l´asd: Mr. Bean... :) ) A szerver ´es kliens r´etegek tartalmazhatnak JavaBeans komponenseket. Az al´abbiakban j´atszanak szerepet: alkalmaz´askliensek vagy appletek ´es a J2EE komponensek k¨oz¨otti adatcser´eben a J2EE komponensek ´es az adatb´azisr´eteg k¨ oz¨ otti adatcser´eben A JavaBean-ek nem r´eszei a J2EE specifik´aci´ onak. Az implement´alt JavaBean oszt´alyok meg kell feleljenek a JavaBean specifik´aci´onak: get/set met´odusok a tulajdons´agok lek´erdez´es´ere, be´all´ıt´as´ara, param´eter n´elk¨ uli publikus konstruktor, szerializ´alhat´o kell legyen, stb.
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Alkalmaz´ askliensek
JavaBean-ek A szerver ´es kliens r´etegek tartalmazhatnak JavaBeans komponenseket. Az al´abbiakban j´atszanak szerepet: alkalmaz´askliensek vagy appletek ´es a J2EE komponensek k¨oz¨otti adatcser´eben a J2EE komponensek ´es az adatb´azisr´eteg k¨ oz¨ otti adatcser´eben A JavaBean-ek nem r´eszei a J2EE specifik´aci´ onak. Az implement´alt JavaBean oszt´alyok meg kell feleljenek a JavaBean specifik´aci´onak: get/set met´odusok a tulajdons´agok lek´erdez´es´ere, be´all´ıt´as´ara, param´eter n´elk¨ uli publikus konstruktor, szerializ´alhat´o kell legyen, stb.
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
J2EE komponensek
J2EE komponens: egy ¨ on´ all´ o funkcionalit´ as´ u szoftverr´esz, amely a hozz´a tartoz´o java oszt´aly- ´es er˝oforr´asf´ajlokkal egy alkalmaz´as keret´eben van telep´ıtve, ´es m´as komponensekkel kommunik´ al A k¨ovetkez˝o J2EE komponensek vannak defini´alva: Appletek: kliensoldalon fut´ o komponensek Szervletek ´es JSP (JavaServer Pages): web komponensek, melyek a J2EE szerver Web-kont´ener´eben (pl. Tomcat) futnak EJB-k (Enterprise JavaBeans): u ¨zleti logika komponensek, melyek a J2EE szerver ejb-kont´ener´eben (pl. Weblogic, Websphere, JBoss) futnak
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
n´eh´any jellemz˝o: a J2EE komponensek Java nyelven ´ır´ odnak ford´ıt´asuk b´armilyen m´as java program´ehoz hasonl´oan t¨ort´enik egy J2EE komponens ´es egy standard java oszt´aly k¨ ozti k¨ ul¨onbs´eg: a J2EE komponensek meg kell feleljenek az illet˝ o t´ıpus´ u komponensre vonatkoz´ o J2EE specifik´aci´ onak a komponenseket ¨ossze kell rakni egy J2EE alkalmaz´asba ezt k¨ovet˝oen a szerverre lesznek telep´ıtve
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Web komponensek
Web komponensek
Szervletek: Java oszt´alyok, amelyek dinamikusan dolgozz´ak fel a k´er´est (request) ´es ´ep´ıtik fel a v´alaszt (response) JSP-k: sz¨oveg-alap´ u dokumentumok, amelyek a h´att´erben ugyancsak szervletk´ent futnak le, de egy term´eszetesebb megk¨ ozel´ıt´est biztos´ıtanak a tartalom l´etrehoz´as´ara
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
¨ Uzleti logika komponensek
¨ Uzleti logika komponensek – Enterprise Java Bean-ek Egy J2EE alkalmaz´asban az u ¨zleti logika k´ odja (ami egy konkr´et haszn´alati esetet –use case– implement´al) EJB-k ´altal van megval´os´ıtva. kliens program EJB (feldolgoz) EIS H´aromf´ele EJB: session bean: ideiglenes (transient) kapcsolat egy klienssel. A klienst˝ol kapott feladat elv´egz´ese ut´an, a session bean ´es a hozz´a tartoz´o adat megsz˝ unik. entity bean: egy adatb´azist´abla egy bejegyz´es´enek (record) felel meg. A kliens program befejez´ese vagy ak´ar a szerver le´all´ıt´asa ut´an a h´att´erszolg´altat´asok biztos´ıtj´ak, hogy az entity bean le lesz mentve. message-driven (¨ uzenetvez´ erelt) bean: ¨ osszekapcsolja a session bean jellemz˝oit egy JMS (Java Message Service) alap´ uu ¨zenet hallgat´oval (message listener), hogy aszinkron m´ odon kapjon JMS u ¨zeneteket.
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
¨ Uzleti logika komponensek
ami a t¨obbr´eteg˝ u alkalmaz´asok meg´ır´as´at bonyolultt´a teszi. . . komplex k´od ´ır´as´ara van sz¨ uks´eg: a tranzakci´ok kezel´es´ehez, t¨obbsz´al´ u programoz´ashoz, hat´ekony er˝oforr´as-t´arol´ashoz (resource pooling), m´as alacsony szint˝ u m˝ uvelethez A komponens alap´ u ´es platfom-f¨ uggetlen J2EE architekt´ ura a t¨obbr´eteg˝ u alkalmaz´asok fejleszt´es´et megk¨ onny´ıti, mivel: az u ¨zleti logika u ´jrafelhaszn´alhat´ o komponensekbe van szervezve a fenti alacsony szint˝ u m˝ uveleteket a J2EE szerverek biztos´ıtj´ak, ez´altal a fejleszt˝o a konkr´et feladat (¨ uzleti logika) megold´as´ara koncentr´alhat.
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
¨ Uzleti logika komponensek
A web komponenseket vagy enterprise beaneket nem lehet egyb˝ol lefuttatni: ossze kell ´all´ıtani ˝oket (assembly) egy J2EE modulba ¨ a kont´enerbe kell telep´ıtni (deploy) az ¨ossze´all´ıt´as: k¨ ul¨onb¨oz˝o kont´ener be´all´ıt´asokat felt´etelez – k¨ ul¨on-k¨ ul¨on minden egyes komponens sz´am´ara az eg´esz alkalmaz´asra A J2EE szerver ezen be´all´ıt´asok alapj´an k¨ ul¨ onb¨ oz˝ o szolg´altat´asokat biztos´ıt: biztons´agi szolg´altat´asok tranzakci´okezel´es, JNDI, t´avoli csatlakoz´asok (EJB-k ´es kliensek k¨ oz¨ ott, mintha ugyanabban a JVM-ben futn´anak)
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Kont´ ener t´ıpusok
Kont´ener t´ıpusok egy J2EE szerver EJB ´es Web kont´enereket biztos´ıt:
J2EE szerver ´es kont´enerek
[J2EE Tutorial]
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Kapcsolatok
Kapcsolatok I.
[J2EE Tutorial]
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Kapcsolatok
Kapcsolatok II.
[J2EE Tutorial]
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Java2EE API-k
EJB technol´ogia: Az EJB egy met´odusokat ´es mez˝ oket tartalmaz´ o k´ odr´esz, amely az u ¨zleti logika egy bizonyos r´esz´et implement´alja. Ez egy ´ep´ıt˝okocka, ami mag´aban vagy m´as EJB-kel egy¨ uttm˝ uk¨odve az u ¨zleti logik´at v´egzi el a J2EE szerveren. Szervlet technol´ogia: A k´er´es-v´alasz (request-response) alap´ u alkalmaz´asmodellen alapulnak. B´armilyen t´ıpus´ u k´er´est kiszolg´alnak, de tipikusan webszervereken haszn´alj´ak (HTTP protokol)
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
JSP (Java ServerPages) technol´ ogia: Szervlet k´od be´agyaz´asa sz¨ oveges dokumentumba. A dokumentum teh´at k´etf´ele t´ıpus´ u sz¨ oveget tartalmaz: statikus sz¨oveg (HTML, XML) JSP elemek – ezek a dinamikus tartalom l´etrehoz´as´ara szolg´alnak JMS (Java Message Service) ¨ Uzenetkezel˝ o standard, amin kereszt¨ ul a J2EE komponensek u ¨zeneteket hoznak l´etre, k¨ uldenek, fogadnak ´es olvasnak. kev´esb´e k¨ot¨ott, megb´ızhat´ o ´es aszinkron osztott kommunik´aci´ot tesz lehet˝ ov´e
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Java Transaction Standard interf´eszt biztos´ıt tranzakci´ ok lebonyol´ıt´as´ara. A JTA API-t k´et vagy t¨obb egym´ashoz k¨ ot˝ od˝ o adatb´azism˝ uvelet elv´egz´es´ere haszn´aljuk, biztos´ıtva, hogy vagy mindkett˝ o lefusson (commit) vagy egyik sem (rollback) JavaMail E-mailek k¨ uld´es´ere ´es fogad´as´ara haszn´alhat´ o. K´et r´eszb˝ol ´all: alkalmaz´as r´eteg˝ u interf´esz, amit a komponensek e-mail k¨ uld´esre haszn´alnak szolg´altat´o csomag (service provider) r´esz JAX-RPC (Java API for XML-based RPC) Egy SOAP ´es HTTP alap´ u standard, melyen kereszt¨ ul a kliensek egy t´avoli szerveren lev˝o XML alap´ u elj´ar´asokat h´ıvhatnak meg az Interneten kereszt¨ ul.
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
JDBC SQL h´ıv´asokat biztos´ıt java-b´ ol. K´et r´eszb˝ol ´all: alkalmaz´as r´eteg˝ u interf´esz – amit a komponensek adatb´azism˝ uveletek elv´egz´es´ere haszn´alnak szolg´altat´o csomag (service provider) – ami a JDBC drivert teszi hozz´af´erhet˝ov´e JAXP (Java API for XML Processing): XML elemz˝ok (parser): XML dokumentumok feldolgoz´asa az al´abbiakat felhaszn´alva: DOM (Document Object Model) illetve SAX (Simple API for XML) XSLT (XML transzform´aci´ ok) Namespace t´amogat´as: n´evkonfliktusok elker¨ ul´es´ere. A JAXP implement´ aci´ of¨ uggetlen XML feldolgoz´ast biztos´ıt: lecser´elhet˝o az XML elemz˝ o (parser) vagy XSL processzor, a kliens k´od m´ odos´ıt´asa n´elk¨ ul.
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
N´ev szolg´altat´as (Java Naming and Directory interface, JNDI) Standard n´ev- ´es katal´ogus-m˝ uveleteket (directory-operations) tesznek lehet˝ov´e, mint pl.: attrib´ utumok t´ars´ıt´asa objektumokhoz objektumok keres´ese az attrib´ utumok alapj´an JNDI seg´ıts´eg´evel egy J2EE alkalmaz´as b´armilyen t´ıpus´ u n´evvel ell´atott Java objektuma elt´arolhat´o visszanyerhet˝o Az alkalmaz´asklienseknek, web komponenseknek valamint EJB-nek egy n´ev alap´ u k¨ornyezetet biztos´ıt, mely lehet˝ ov´e teszi, hogy egy komponens a forr´ask´od m´odos´ıt´asa n´elk¨ ul ´all´ıthat´ o (customizable) legyen. A JNDI t¨obbf´ele implement´aci´ of¨ uggetlen n´ev- ´es katal´ogus-m˝ uvelet szolg´altat´as el´er´es´et teszi lehet˝ ov´e: LDAP, NDS, DNS ´es NIS
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Web-alkalmaz´asok A webalkalmaz´asok alapgondolata: bizonyos webc´ımek m¨og¨ ott nem statikus tartalom van (pl. HTML), hanem a szerver a b¨ong´esz˝ o k´er´es´ere r¨ opt´eben dinamikus tartalmat hoz l´etre, ´es k¨ uld el a b¨ong´esz˝ onek. Java platformon k´etf´ele web-alkalmaz´ast k¨ ul¨ onb¨ oztet¨ unk meg: megjelen´ıt´es alap´ u: a k´er´esre (request) v´alaszt (reponse) azaz interakt´ıv web-oldalakat gener´al, melyek HTML, XML stb. tag-ekb˝ol valamint dinamikus tartalomb´ ol ´allnak. szolgaltat´as alap´ u: egy webszolg´altat´as k´et v´egpontj´at implement´alja. A megjelen´ıt´es alap´ u web-alkalmaz´asok gyakran kliensei a szolg´altat´as alap´ u web-alkalmaz´asoknak.
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Web-komponensek: Java szervletek JSP oldalak web szolg´altat´as v´egpontok (web service)
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Web-komponensek: Java szervletek JSP oldalak web szolg´altat´as v´egpontok (web service) Mi a szervlet/JSP technol´ ogi´aval fogunk megismerkedni k¨ozelebbr˝ol.
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Web-komponensek: Java szervletek JSP oldalak web szolg´altat´as v´egpontok (web service) Mi a szervlet/JSP technol´ ogi´aval fogunk megismerkedni k¨ozelebbr˝ol. M´as, hasonl´o jelleg˝ u technol´ ogi´ak, melyek szint´en dinamikus tartalmat hoznak l´etre: CGI, ASP, PHP.
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
A web-kliens ´es web-alkalmaz´as k¨ ozti kapcsolat a k¨ ovetkez˝ok´eppen m˝ ukodik: 1 2
3
4
5
A kliens egy HTTP k´er´est k¨ uld a web-szervernek A web-szerver (mely a Servlet ´es JSP technol´ ogi´akat implement´alja) a k´er´est egy HTTPServletRequest objektumm´a alak´ıtja. Ezt az objektumot megkapja a web-komponens, amely JavaBean-ekkel vagy az adatb´azissal egy¨ uttm˝ uk¨ odve dinamikus tartalmat gener´al. A web-komponens egy HTTPServletResponse objektumot fog gener´alni vagy tov´abbadja (forward) a k´er´es objektumot egy m´asik web-komponensnek. A web-szerver ezt az objektumot egy HTTP v´alassz´a (response) alak´ıtja ´es visszak¨ uldi a kliensnek.
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Szervletek: Java oszt´alyok, melyek dinamikusan dogozz´ak fel a k´er´est ´es hozz´ak l´etre a v´alaszt. JSP-k: sz¨oveg alap´ u dokumentumok, melyek szint´en szervletk´ent futnak le, de a statikus tartalmat (HTML, XML) j´ oval egyszer˝ ubben lehet l´etrehozni a seg´ıts´eg¨ ukkel. elvileg – a szervletek ´es JSP-k felcser´elhet˝ oek gyakorlatilag – minkett˝ onek megvan az er˝ ossege ´es a gyeng´eje
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
o¨sszehasonl´ıt´as A szervletek alkalmasabbak: szolg´altat´as alap´ u web-alkalmaz´asok l´etrehoz´as´ara kontrollerk´ent egy megjelen´ıt´es-alap´ u alkalmaz´asn´al (pl. k´er´estov´abb´ıt´as) nem sz¨oveg alap´ u adatok feldolgoz´as´ara A JSP-k alkalmasabbak: sz¨oveg alap´ u (HTML, SVG, WML, XML) oldalak l´etrehoz´as´ara A szervlet ´es JSP technol´ ogi´ak bevezet´ese ´ ota u ´jabb Java technol´ogi´ak ´es keretrendszerek (framework) fejl˝ odtek ki, amelyek az el˝obbi kett˝on alapulnak. (Pl. JSTL, JSF)
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Web-alkalmaz´ as ´ eletciklusa
Egy web-alkalmaz´as a k¨ovetkez˝ o komponensekb˝ ol ´all: web-komponensek telep´ıt´esi le´ır´o (deployment descriptor) statikus er˝oforr´asok (pl. k´epek) seg´edoszt´alyok jar programcsomagok (libraries) Egy web-alkalmaz´as l´etrehoz´asa ´es futtat´asa a k¨ ovetkez˝o l´ep´esekb˝ol ´all: a web komponensek (szervlet, JSP) illetve seg´edoszt´alyok meg´ır´asa a telep´ıt´esi le´ır´o (deployment descriptor) l´etrehoz´asa a komponens oszt´alyok illetve az ezekb˝ ol hivatkozott seg´edoszt´alyok leford´ıt´asa [opcion´alisan] ¨osszecsomagolni az alkalmaz´ast egy telep´ıthet˝o egys´egbe (deployable unit). (.war ´allom´any) telep´ıteni az alkalmaz´ast a web-kont´enerbe b¨ong´esz˝ob˝ol megh´ıvni a megfelel˝ o URL-ket, melyek a web-alkalmaz´asra hivatkoznak
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Web-modulok
Egy web modul saj´atos strukt´ ur´aval rendelkezik: a gy¨ok´erben tal´ahat´ok a JSP oldalak kliens oldali oszt´alyok (applet oszt´alyok) statikus web er˝oforr´asok szint´en a gy¨ok´er tartalmaz egy WEB-INF nev˝ u katal´ ogust, amely a k¨ ovetkez˝oket tartalmazza: web.xml : a webakalmaz´as telep´ıt˝ o le´ır´ oja (deployment descriptor) Tag le´ır´o ´allom´anyok (library descriptor files) classes katal´ogus: szerver-oldali oszt´alyok: szervletek, seg´edoszt´alyok ´es JavaBeans komponensek tags katal´ogus: tag-eket implement´al´ o oszt´alyok lib katal´ogus: jar csomagok, melyeket a szerver-oldali oszt´alyok h´ıvnak meg
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Web-modulok
Egy web modul telep´ıthet˝ o nem csomagolt form´aban csomagolt form´aban (.war ´allom´any) A .war ´allom´any egy speci´alis strukt´ ur´aj´ u .jar ´allom´any. Egy web-modul szerverf¨ uggetlen: b´armilyen web-kont´enerbe telep´ıthet˝o, amelyik megfelel a Java Servlet specifik´aci´ onak.
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Dokument´aci´o
Bruce Eckel: Thinking in Java - alap Java k´ezik¨ onyv J2EE Tutorial Hasznos web-c´ımek: www.java.sun.com – A Sun hivatalos, java-val kapcsolatos weboldala www.apache.org – Hasznos programcsomagok, keretrendszerek, API implement´aci´ok (pl. Tomcat) www.eclipse.org – Az Eclipse fejleszt˝ oi k¨ ornyezet hivatalos honlapja www.google.com ... :)
Bevezet´ es
J2EE komponensek
Java2EE API-k
Web alkalmaz´ asok
Dokument´ aci´ o
Fejleszt˝ oi k¨ ornyezet
Fejleszt˝oi k¨ornyezet
Az al´abbi eszk¨oz¨oket fogjuk haszn´alni: JDK 1.5 (Java Developement Kit) – futtat´asi k¨ ornyezet ´es Java fejleszt˝oi eszk¨oz¨ok (pl. ford´ıt´ o) Eclipse – Java fejleszt˝ oi k¨ ornyezet Ant – build tool Tomcat 5.5 – webkont´ener MySql – adatb´azisszerver tetsz´es szerinti b¨ong´esz˝ o