A Java fejlődése során szükségessé vált a különböző kiadások létrehozása.
Java SE | Java Standard Edition | hagyományos asztali alkalmazások appletek |
Java ME | Java Micro Edition | a Java SE kisebb része és mobilalkalmazásokhoz API |
Java EE | Java Enterprise Edition | legnagyobb méret, tartalmazza a Java SE-t, elosztott sokfelhasználós, vállalati méretű szoftverek |
A Java EE a Java Enterprise Edition rövidítése.
A Java EE egy programozói platform, amely a Java SE kiterjesztése. A Java EE több programozói könyvtárat tartalmaz, szemben a Java SE rendszerrel.
Java Community Process
Az első Java EE verziót 1999-ben a Sun Microsystems szállította, J2EE néven. Ez után a fejlesztés a Java Community Process kereteiben folytatódott, ahol JSR dokumentumok formájában készítenek ajánlásokat megvalósítás előtt. Így minden változat egy JSR ajánlásnak feleltethető meg.
Szeretnénk, ha az adatok leállás után is rendelkezésre állnának. Ezt általában egy relációs adatbázissal van megoldva. Ehhez szükség van adatbázis kapcsolatok támogatására.
A növekvő terhelés esetén a rendszer nem lehet lassabb. Ha bírja a terhelést, azt mondjuk skálázható.
Szükség van a folyamatos rendelkezésre állásra. Ennek egyik eszköze lehet a klaszterezés.
A többfelhasználós rendszereknek a terhelés elviselése fontos követelménye. Előnyös, ha programozónak nem kell leprogramoznia a szálkezelést.
A tranzakciókezelés fontos az adatbázis rendszerek konzisztensen tartásához.
Webes felület.
Távoli metódushívás.
Elosztott rendszerekben szükség van az objektumok és az erőforrások név alapján való elérésére, anélkül, hogy ismernénk a hálózati címét.
Ha a partner szervere áll az üzenet nem továbbítható. Azonban szükség van arra, hogy a partner gépének újraindulása után a gép megkapjon egy üzenetet.
Ezt hívják lazacsatolásnak.
Többfelhasználós rendszereknél fontos a hozzáférés-vezérlés, az azonosítás, a hálózati kapcsolatok titkosítása. A programozónak nincs szüksége alapos kriptográfiai ismeretekre.
Szükséges lehet a folyamatok, események nyomon követése, hibakezelés, statisztika készítés, beavatkozás.
A Java EE rendszerben ezeket úgynevezett middleware-szolgáltatásokkal oldjuk meg.
Ehhez több technológia áll rendelkezésre.
Alacsony szintű szolgáltatások | |
---|---|
Technológia | Szolgáltatás |
Java Transaction API (JTA) | tranzakciókezelés |
Java Persistence API (JPA) | perzisztencia |
Validation | osztály és metódusszintű megkötések és ellenőrzésük |
Java Message Service (JMS) | Aszinkron üzenetkezelés |
Java Naming and Directory Interface (JNDI) | névszolgáltatás |
Java Mail | e-mail küldés alkalmazásból |
JavaBeans Activation Framework | Java SE, MIME típusok kezelése |
XML processing | A telepítés opcionálisan XML leírókkal, XML manipuláció, XML továbbítása |
JSON processing | a Java EE 7-ben új; JSON generálása, használata |
Java Connector Architecture (JCA) | távoli elérés, biztonság, többszálúság, tranzakciókezelés, aszinkron üzenetkezelés |
Security services | azonosítás, hozzáférés kezelés |
Web services | SOAP és RESTful web szolgáltatások; XML Webszolgáltatások XML alapú RPC |
Dependency Injection | erőforrások (adatok, komponensek, EJB, stb.) injektálása |
Management | Java Management Extensions (JMX) monitorozás és beavatkozás |
Deployment | a telepítési eszközök és a Java EE közötti specifikációk |
Java DataBase Connectivity (JDBC) | Perzisztencia |
Magasabb szinten | |
---|---|
Technológi | Szolgáltatás |
JavaServlet | távoli elérés weben, többszálúság, biztonság |
JavaServer Pages (JSP) | távoli elérés weben, biztonság, többszálúság |
JavaServer Faces (JSF) | távoli elérés weben, biztonság, többszálúság |
Enterprise JavaBeans (EJB) | perzisztencia, többszálúság, távoli elérés, tranzakciókezelés, aszinkron üzenetküldés, biztonság |
Az RMI-IIOP rövidítésből az RMI a Remote Method Invocation szavakból van. Távoli metódushívás jelent. Engedélyezi a távoli objektumok elérését alacsonyabb szintű protokolloktól függetlenül. Magába foglalja a CORBA specifikációt. A Java EE alkalmazások a külső CORBA objektumok eléréséhez az IIOP protokollt használják.