A Java EE 5 platform Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11. 13.
A Java EE 5 platform
A Java EE 5 plattform A J2EE 1.4 után következő verzió. Alapvető továbbfejlesztési célok: A programozási modell lényeges egyszerűsítése. A Java EE alkalmazások hatékonyságának növelése Komplex szolgáltatásokat nyújtó alkalmazás szerver fejlesztése (Sun Java System Application Server Platform) A Java EE 5 platform
JavaEE5Plattform / 2
A Java EE 5 plattform (folyt.) Hatékony fejlesztő környezet kialakítása: A Java EE 5 SDK integrálja a Sun alkalmazás szervert A Sun alkalmazás szerver integrálható a legelterjedtebb Java fejlesztőkkel (Eclipse, stb.) A NetBeans IDE 5.5 + NetBeans Enterprise Pack 5.5 speciális változata, amely összecsomagolva és előre konfigurálva tartalmaz egy teljes fejlesztő környezetet:
• Sun EE 5 SDK • Sun alkalmazás szerver • Java EE 5 API dokumentáció • Java EE 5 minta alkalmazások
A Java EE 5 platform
JavaEE5Plattform / 3
NetBeans Enterprise Pack 5.5 Fő funkciói Java EE 5 komponensek fejlesztésének támogatása Java Persistence API támogatás ("Entity" osztályokból adatbázis generálás, illetve adtabázis struktúrához tartozó "Entity" osztályok generálása) Varázsló "Entity" osztályok generálásához Varázsló JavaServer Faces alkalmazások generálására A Java EE 5 platform
JavaEE5Plattform / 4
Legfontosabb vá változá ltozások Egyszerűbb programozási modell annotációk alkalmazása az XML "deployment descriptor" a legtöbb esetben feleslegessé válik kevesebb jelző és API-elem interface szükséges
A Java EE 5 platform
JavaEE5Plattform / 5
Legfontosabb vá változá ltozások (folyt.) Egyszerűbb alkalmazás összeállítás (packaging) egy alkalmazás sokkal kevesebb file-ból áll kevesebb a jötelező meta-adat
A Java EE 5 platform
JavaEE5Plattform / 6
Legfontosabb vá változá ltozások (folyt.) Egyszerűbb EJB fejlesztés Kevesebb osztály és interface szükséges Az üzleti interface metódusainak nem kell kivételeket specifikálniuk A deployment descriptor opcionális (helyette annotációk, illetve "dependency injection") A JNDI (Java Naming and Directory Interface) használata nem szükséges sem a kliens, sem a szerver oldalon. (Helyette egy egyszerűbb "lookup" metódus.) A Java EE 5 platform
JavaEE5Plattform / 7
Legfontosabb vá változá ltozások (folyt.) Egyszerűbb EJB fejlesztés (folyt.) egyszerűbb perzisztencia (új perzisztencia API) Interceptors: objektumok, amelyek képesek "elfogni" egy üzleti metódus hívást, és kiegészíteni, majd továbbítani.
A Java EE 5 platform
JavaEE5Plattform / 8
Legfontosabb vá változá ltozások (folyt.) Dependency Injection Egy tervezési minta, amelyben egy objektum számára szükséges függőségeket (külső erőforrásokat) automatikusan biztosít egy külső objektum Az objektumnak nem kell megkeresnie, létrehoznia, sokszor explicite igényelnie sem ezeket az erőforrásokat.
A Java EE 5 platform
JavaEE5Plattform / 9
Legfontosabb vá változá ltozások (folyt.) Dependency Injection (folyt.) Az JEE platform esetén a függőségekre implicite utalhatnak annotációk (pl. @EJB, @WebServiceRef) a @Remote annotáció jelezheti a szükségességét.
Az erőforrások biztosítása a konténerek feladata
A Java EE 5 platform
JavaEE5Plattform / 10
Legfontosabb vá változá ltozások (folyt.) Dependency Injection (folyt.) A mechanizmus alkalmazható az alábbi komponensek esetén EJB konténerek vagy web konténerek által kezelt komponensek esetén klienseknél.
A Java EE 5 platform
JavaEE5Plattform / 11
Legfontosabb vá változá ltozások (folyt.) Új Persistence API Az entitás bean helyett Bár az EE fejlesztői készítették, bárhol alkalmazható (a SE részévé tették) Az entitások és kapcsolataik speciális annotációkkal megjelölt egyszerű Java osztályokkal definiálhatók (POJO: plain old Java object) Szabványos objektum-reláció leképezés. Lekérdezési műveletek támogatása. A Java EE 5 platform
JavaEE5Plattform / 12
Legfontosabb vá változá ltozások (folyt.) Jobb Web services támogatás
A Java EE 5 platform
JavaEE5Plattform / 13
Legfontosabb vá változá ltozások (folyt.) Könnyebb web alkalmazás fejlesztés JavaServer Faces technológia JavaServer Pages Standard Tag Library
A Java EE 5 platform
JavaEE5Plattform / 14
Java EE application model Osztott többrészes architektúra:
A Java EE 5 platform
JavaEE5Plattform / 15
Kliens tí típusok Web kliensek Browser által megjelenített, a server oldali eszközök (web komponensek) által generált dinamikus web oldalak ("tiszta" vékony kliens) Nem igényel (a böngészőn kívül) semmilyen kliens oldali eszközt és beállítást
Appletet is tartalmazó generált web oldal Az applet futtatása "plug-in"-t igényelhet, és megfelelő beállításokat a kliens oldali biztonsági politikában A Java EE 5 platform
JavaEE5Plattform / 16
Kliens tí típusok (folyt.) Dedikált kliens (Application client) Tipikusan saját felhasználói interface-el rendelkező, a kliens gépen futó alkalmazás Közvetlenül képes elérni az üzleti logikát megvalósító enterprise bean-eket, de használhat HTTP kapcsolatokat is. Kliens oldali telepítést igényel: működtető környezet (application client container) maga a kliens program A Java EE 5 platform
JavaEE5Plattform / 17
Kliens tí típusok (folyt.) Dedikált kliens (folyt.) Előnyei: Bonyolultabb funkcionalitást tud megvalósítani Összetettebb felhasználói felületet kezelhet Nem Java nyelvű kliensek is integrálhatók
Hátrány: bonyolultabb üzemeltetés (változás esetén kliens oldali újrainstallálást igényelhet) ebben segíthet a Java Web Start software A Java EE 5 platform
JavaEE5Plattform / 18
Java EE komponensek A Java EE alkalmazások komponensekből épülnek fel Java EE komponens: önálló (self-contained) fukcionális software egység beintegrálható egy Java EE alkalmazásba (a hozzátartozó osztályokkal és egyéb file-okkal) képesek egymással kommunikálni
A Java EE 5 platform
JavaEE5Plattform / 19
Java EE komponensek (folyt.) Fajtái: kliens oldali komponensek (kliens programok és appletek) server oldali web komponenesek (servlet, JSP, JavaServer Faces) üzleti logikai komponensek: enterprise bean-ek
Működésükhöz konténerek kellenek.
A Java EE 5 platform
JavaEE5Plattform / 20
J2EE konté konténerek Java EE server EJB konténer web konténer
Application client konténer Applet konténer
A Java EE 5 platform
JavaEE5Plattform / 21
J2EE konté konténerek (folyt.)
A Java EE 5 platform
JavaEE5Plattform / 22
A Java EE 5 API elemei
A Java EE 5 platform
JavaEE5Plattform / 23
Hivatkozá Hivatkozások
A Java EE 5 platform
JavaEE5Plattform / 24