EAR (formát souboru) - EAR (file format)

Enterprise Archive
Přípona názvu souboru
.ucho
VyvinulSun Microsystems
Typ formátuarchiv souborů, komprese dat
Rozšířeno zSKLENICE

UCHO (Epřekvapení Aaplikace aRpažitka) je formát souboru používá Java EE pro zabalení jednoho nebo více modulů do jednoho archivu, aby bylo možné nasadit různé moduly na aplikační server se děje současně a soudržně. Také obsahuje XML volané soubory deskriptory nasazení které popisují, jak nasadit moduly.

Mravenec, Maven nebo Gradle lze použít k vytváření souborů EAR.

Struktura souborů

Soubor EAR je standardem Soubor JAR (a tedy a Zip soubor) s příponou .ear, s jednou nebo více položkami představujícími moduly aplikace a s názvem adresáře metadat META-INF který obsahuje jeden nebo více deskriptorů nasazení.

Modul

Vývojáři mohou do souboru EAR vložit různé artefakty pro nasazení aplikačními servery:

  • Webový modul má .válka rozšíření. Jedná se o nasaditelnou jednotku, která se skládá z jedné nebo více webových komponent, dalších zdrojů a webová aplikace deskriptor nasazení. Webový modul je obsažen v a hierarchie adresářů a souborů ve standardním formátu webové aplikace.
  • POJO Třídy Java mohou být nasazeny v .sklenice soubory.
  • An Enterprise Java Bean modul má a .sklenice rozšíření a obsahuje vlastní META-INF deskriptory adresářů popisující zavedené trvalé třídy. Nasazené fazole entity se stanou viditelnými pro ostatní komponenty a pokud jsou vzdáleně exportovány, pro vzdálené klienty. Fazole zpráv a Fazole relace jsou k dispozici pro vzdálený přístup.
  • A Zdrojový adaptér modul má .rar rozšíření.

Izolace třídy

Většina aplikačních serverů načítá třídy z nasazeného souboru EAR jako izolovaný strom Java třídní nakladače, izolace aplikace od ostatních aplikací, ale sdílení tříd mezi nasazenými moduly. Například nasazený soubor WAR by byl schopen vytvořit instance tříd definovaných v souboru JAR, který byl také zahrnut v souboru EAR obsahujícím, ale ne nutně v souborech JAR v jiných souborech EAR. Jedním z klíčových důvodů tohoto chování je umožnit úplné oddělení aplikací, které používají statické singletony (např.Log4J), což by jinak zaměňovalo konfiguraci mezi samostatnými aplikacemi. To také umožňuje nasazení různých verzí aplikací a knihoven vedle sebe.

The JBoss aplikační servery před verzí 5 byly pozoruhodné v tom, že neizolují nasazené komponenty. Webová aplikace nasazená v jednom souboru EAR by měla přístup ke třídám v jiných souborech EAR a WAR. Jedná se o poněkud kontroverzní politiku. The Unified Classloader design snižuje režii komunikace mezi spuštěnými aplikacemi, protože data třídy lze sdílet pomocí odkazu nebo jednoduchých kopií. Umožňuje také vývojářům vyhnout se nutnosti porozumět problémům, které může strom třídních nakladačů vytvořit. Zabraňuje však nasazení různých verzí závislých knihoven v samostatných aplikacích. JBoss 4.0.2 přešel na hierarchický zavaděč tříd, ale ve verzi 4.0.3 se vrátil z důvodu zpětné kompatibility na Unified Classloader. Nyní existuje možnost konfigurace změnit toto chování. JBoss 5.x, 6.xa 7.x již nepoužívá Unified Classloading.

Adresář META-INF

The META-INF adresář obsahuje alespoň application.xml deskriptor nasazení, známý jako Deskriptor nasazení Java EE. Obsahuje následující entity XML:

  • ikona, který určuje umístění pro obrázky, které představují aplikaci. Pododdělení je vytvořeno pro malá ikona a velká ikona.
  • zobrazované jméno, který identifikuje aplikaci
  • popis
  • A modul prvek pro každý modul v archivu
  • Nula nebo více bezpečnostní role prvky pro role globálního zabezpečení v aplikaci

Každý modul prvek obsahuje odložit, web nebo Jáva prvek, který popisuje jednotlivé moduly v aplikaci. Webové moduly také poskytují a kontextový kořen který identifikuje webový modul podle jeho URL.

Vedle deskriptoru nasazení Java EE může být nula nebo více deskriptory nasazení za běhu. Ty se používají ke konfiguraci parametrů Java EE specifických pro implementaci.

Viz také

externí odkazy