Az Enterprise ARchive (EAR) egy olyan Java EE által használt fájl formátum, amely egy vagy több modult tartalmaz egy egyszerű archív állományban. A modulok együttesen vagy párhuzamosan telepíthetők egy alkalmazásszerverre. Az állomány legalább egy XML fájlt tartalmaz, amit telepítési leíró fájlnak neveznek, és azt írja le, hogyan kell telepíteni a modulokat. Leggyakrabban Maven vagy Ant használható EAR fájl készítésére.

Enterprise ARchive
Fájlkiterjesztés.ear
FejlesztőSun Microsystems
Formátum típusaadattömörítés
Konténerformátuma ennekJSP, Java Servlet, JEE modulok

Fájlstruktúra szerkesztés

Egy EAR fájl nem más mint egy sztenderd JAR fájl (és egyben egy Zip fájl is) .ear kiterjesztéssel. A fájl tartalmazza a META-INF nevű metaadat könyvtárat egy v. több telepítésleíró fájllal (application.xml), valamint egy vagy több alkalmazásmodult reprezentáló entry-t (jar fájlokat).

Telepítésleírók szerkesztés

A telepítésleírók olyan XML dokumentumok, amelyek alkalmazások, modulok vagy szoftver komponensek telepítési beállításaival kapcsolatos információkat tartalmaznak, mint a metódusok tranzakciós attribútumai vagy az egyes EJB-kre vonatkozó biztonsági beállítások. A telepítési adatok deklaratív jellegéből adódóan könnyedén megváltoztathatóak, anélkül, hogy az általuk érintett forrásokban bármilyen módosítást kellene végrehajtani. A leírókat a J2EE szerver használja fel. Ezekből a fájlokból olvassa ki, miképp kezelje az EAR fájlban lévő elemeket.

Kétféle telepítésleíró létezik. A J2EE leírót a J2EE specifikáció definiálja és a J2EE implementáció független telepítési beállításokat tartalmazza. A másik típus a runtime leíró. Idekerülnek az implementáció-specifikus beállítások.

Modulok szerkesztés

Az EAR fájl tartalmazhat:

  • Webmodult .war kiterjesztéssel (olyan telepítési egység, amely egy vagy több webkomponenst, egyéb erőforrásokat és egy webalkalmazás telepítésleírót tartalmaz, a webmodul könyvtárak és fájlok hierarchiáját tartalmazhatja egy sztenderd webalkalmazás formátumában)
  • POJO-t (java class fileok, amelyek .jar fájlformátumban telepíthetők)
  • Enterprise Java Bean modult (amelynek .jar a kiterjesztése, és olyan leírókat tartalmaz a saját META-INF könyvtárában, amelyek meghatározzák a perzisztens class fájlok telepítésének módját telepítéskor, a telepítés után pedig a Message Bean-ek és a Session Bean-ek elérhetővé válnak távolról, valamint az Entitás Bean-ek elérhetők lesznek más komponensek és opcionálisan a távoli kliensek számára)
  • Resource Adapter modult, ami egy jar fájl .rar kiterjesztéssel. A modul java interfészeket, osztályokat, natív könyvtárakat, dokumentációkat és az ezeket leíró Resource Adapter telepítésleíró állományt tartalmazza. A modulba csomagolt elemek együttesen megvalósítják Connector Architecture-t egy adott EIS-hez, melyeket az alkalmazásszerver telepíthet (deployment).

Class elkülönülés (isolation) szerkesztés

A legtöbb alkalmazásszerver a class-okat a telepített EAR fájlból tölti be izolált Java classloaderek fáján keresztül, izolálva az alkalmazást más alkalmazásoktól, de mindvégig megosztva a class-okat a telepített modulok között. A telepített WAR fájl képes létrehozni a JAR fájlban definiált class példányokat, de mindig csak a saját EAR fájljához tartozóan. Az izoláció teljes szeparációval teszi lehetővé a statikus singleton-t használó alkalmazások párhuzamos futását (pl. Log4J). Lehetővé teszi továbbá az alkalmazások és könyvtárak különböző verzióinak egymás melletti telepítését is.

A JBoss alkalmazás szerver pl. nem izolálja a telepített komponenseket (a megoldási mód vitaható). Az egyesített classloader tervezés úgy csökkenti a túlzott kommunikációs terheket a futó alkalmazások között, hogy a class adatait megosztja referenciák v. egyszerű másolatokon keresztül, megóvja a fejlesztőket a classloader fa bonyolultságától. Megvéd attól, hogy független könyvtárak különböző verzióit telepítsük szeparált alkalmazásokba. Míg a JBoss 4.0.2. hierarchikus classloadereket használ, kompatibilitási okokból a 4.0.3-ban visszatértek egyesített classloaderekhez.

META-INF könyvtár szerkesztés

A META-INF könyvtár mindig tartalmazza az application.xml telepítési leírót (másként Java EE telepítési leíró). A telepítési leíró XML a következő összetevőket tartalmazza:

  • icon: megadja azon képek elhelyezkedését, amelyek az alkalmazást reprezentálják. A tag-en belül a következő altagok használhatók: small-icon és large-icon.
  • display-name: alkalmazás azonosító
  • description: szöveges leírás
  • module: archív állomány összetevője
  • security-role: globális jogosultsági szerepkör (multiplicitás: 0...*)

Minden module elem tartalmazhat egy ejb-t, web-t vagy java elemet, melyek leírják az egyes modulokat az alkalmazáson belül. A Web modul context-root-ot biztosít a web modul URL-jével.

A Java EE telepítési leírók mellett létezhetnek futás idejű telepítési leírók is (multiplicitás: 0...*), melyeket az implementáció-specifikus Java EE paraméterek konfigurálására használhatjuk.

Kapcsolódó szócikkek szerkesztés

További linkek szerkesztés

Fordítás szerkesztés

  • Ez a szócikk részben vagy egészben az EAR (file format) című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.