EJB fejlesztési erőforrások

Ez a témakör az EJB fejlesztésben általánosan használt erőforrásokat és fejlesztőeszközöket írja le.

EJB modulok

Az EJB modulok a J2EE perspektíva Projektböngésző nézetében jelennek meg, és az EJB projekteknek felelnek meg.

Az EJB modulok segítségével lehet az EJB-komponenseket egyetlen telepíthető egységbe összeállítani. Az EJB modulok fejlesztése EJB projektekben történik, majd exportáltatók önálló EJB JAR fájlokként, illetve kombinálhatók más EJB- vagy webmodulokkal egy vállalati alkalmazáson belül. Az EJB JAR fájlok a szabványos Java archívum fájlok formátumát használják. Az EJB modulok a következőket tartalmazzák:

  • Legalább egy EJB-komponens és kapcsolódó .class és .java fájljaik.
  • Képek és egyéb fájlok, az EJB-komponens szükségleteitől függően.
  • Egy telepítési leíró. A telepítési leíró fájltípusa Bővíthető leírónyelv (XML). Ez a fájl határozza meg az EJB modul tartalmát, a modulban található komponensek struktúráját, valamint leírja, hogy hogyan kell használni a komponenseket a futás során.
  • Egy MANIFEST.MF fájl a META-INF könyvtárban. A leírófájl osztályútvonal bejegyzést tartalmazhat, hivatkozásokkal más JAR fájlokra vagy EJB modulokra egy J2EE vállalati alkalmazásban. Ez határozza meg a modul külső függőségeit.

Az EJB modulokat EJB tárolókban telepítik és futtatják.

Az EJB-komponensek olyan Java komponensek, amelyek más erőforrásokkal kombinálhatók osztott ügyfél/kiszolgáló alkalmazások létrehozása érdekében.

Megjegyzés: Ha EJB ügyfél JAR fájl létrehozása mellett dönt az EJB modulhoz, akkor az EJB-komponensek ügyfél felületi osztályai nem lesznek benne az EJB JAR fájlban, benne lesznek viszont az EJB ügyfél JAR fájlban.
EJB projektek

A munkaterületen a projektekben található vállalati alkalmazások számára hoz létre és tart karban erőforrásokat. Az EJB projektek az EJB-komponensek rendszerezését lehetővé tevő logikai modulok.

A munkaterület EJB 1.1, EJB 2.0 és EJB 2.1 projekteket támogat. A tartalmazó EAR projekt J2EE specifikáció szintjét J2EE 1.3 vagy magasabb értékre kell állítani EJB 2.0 projektek esetén, és J2EE 1.4 értékre EJB 2.1 projektek esetén. EJB 1.1 projektekben csak EJB 1.1 komponenseket hozhat létre.

Az EJB projektek specializált Java projektek. A Java projektekhez hasonlóan, az EJB projekteknek legalább egy forrás mappát kell tartalmazniuk a projekthez tartozó forrás- és kimeneti fájlok tárolására. Alapértelmezésben a forrás mappa neve ejbModule, de a projekt, illetve új forrás mappák létrehozásakor lehetősége van a név módosítására. A projekt közzétételekor, illetve telepítésekor a rendszer összesíti a mappa vagy mappák tartalmát.

Az EJB projekt nem használható forrás mappaként; ez hibákhoz vezet. Habár rendelkezhet több forrás mappával a projektben, ezek közül csak egy leíróhatja a META-INF mappát, amelyben a MANIFEST.MF és a telepítési leíró fájlok találhatók.

Megjegyzés: Ha EJB ügyfél JAR fájl létrehozása mellett dönt az EJB modulhoz, akkor az EJB-komponensek ügyfél felületi osztályai nem az EJB projektben lesznek benne, hanem egy külön EJB ügyfél JAR projektben. Az EJB ügyfél JAR projektek Java projektekként jelennek meg a Projektböngészőben az Egyéb projektek csomópont alatt.
EJB ügyfél projektek

Az EJB eszközkészlet támogatja az EJB ügyfél JAR projektek létrehozását EJB modulokhoz. Az EJB ügyfél JAR projektek tartalmazzák az összes olyan felületi osztályt, amelyre az ügyfélprogramnak szüksége van az EJB projektben található EJB-komponensek ügyfélnézetek használatához. Ha EJB ügyfél projektet hoz létre egy EJB projekthez, akkor a rendszer egy új Java projektet hoz létre és ad hozzá a munkaterülethez. Az EJB ügyfél projekt aztán projekt segédprogram JAR fájlként kerül hozzáadásra minden egyes olyan modulhoz, amelybe az EJB projekt tartozik.

Alapértelmezésben amikor a varázsló segítségével hozza létre az EJB projektet, akkor a rendszer egy EJB ügyfél JAR projektet is létrehoz. Lehetősége van azonban a beállítás törlésére a varázslóban.

Tipp: Továbbá másik olyan vállalati alkalmazáshoz is hozzáadhatja az EJB ügyfél projektet, amely nem tartalmazza az EJB projektet modulként. Ez biztosítja, hogy a rendszer exportálja és az EAR fájllal csomagolja az ügyfél JAR fájlt az alkalmazás exportálásakor.
EJB-komponensek

Az EJB-komponensek olyan Java komponensek, amelyek más erőforrásokkal kombinálhatók osztott ügyfél/kiszolgáló alkalmazások létrehozása érdekében.

Három típusuk létezik: entitás komponensek, munkamenet komponensek és üzenetvezérelt komponensek. Tipikus esetben az összes típusú komponens együtt használatos a vállalati alkalmazásokon belül.

Entitás komponensek
Az entitás komponensek állandó adatokat tárolnak. A tárolóvezérelt (CMP) entitás komponensek adatbázis-kapcsolatokat igényelnek. A komponensvezérelt mentésű entitás komponensek a megmaradó adatokat a komponens kódjában meghatározott módon kezelik. Ez lehet például adatbázisokba vagy XML fájlokba írás.
Munkamenet komponensek
A munkamenet komponensek nem igényelnek adatbázis hozzáférést, habár (szükség szerint) közvetetten megszerezhetik azt entitás komponensek elérésével. A munkamenet komponensek közvetlen elérést is szerezhetnek adatbázisokhoz (és más erőforrásokhoz) erőforrás-hivatkozások használatán keresztül.
Üzenetvezérelt komponensek
Az üzenetvezérelt komponensek olyan speciális EJB-komponensek, amelyek üzenetfogyasztóként viselkednek a JMS üzenetkezelési rendszerben. Az általános JMS üzenetfogyasztókhoz hasonlóan az üzenetvezérelt komponensek üzleti működést hajtanak végre az üzenet tartalma alapján. Az üzenetvezérelt komponens példányok dinamikus létrehozása és kiosztása számos módon utánozza az állapotnélküli munkamenet EJB-komponensek viselkedését. Az üzenetvezérelt komponensek (és egyéb típusú EJB-komponensek) azonban egy pár dologban eltérnek az állapotnélküli munkamenet EJB-komponensektől:
  • Az üzenetvezérelt komponensek több JMS üzenetet aszinkron módon dolgoznak fel, metódus hívások rendezett sorának feldolgozása helyett.
  • Az üzenetvezérelt komponensek nem rendelkeznek alap és távoli felülettel, és így a belső, illetve külső ügyfelek által közvetlenül nem elérhetők.
Telepítési leírók

A telepítési leírók olyan konfigurációs adatokat tartalmaznak, amelyeket a futási környezet használ az alkalmazásokhoz. A telepítési leírók az alábbiakról tartalmazhatnak információkat:

  • Az alkalmazás szerkezete és tartalma (például EJB-komponensek).
  • Hivatkozások belső és külső függőségekre. Például egy EJB-komponens egy EJB modulban igényelhet egy másik olyan EJB-komponenst, ami nem ugyanabba a modulba van csomagolva.
  • Hivatkozások erőforrás gyár objektumokra, például URL címekre vagy JDBC adatforrásokra.
  • Olyan biztonsági szerepek, amelyeket a tároló a szükséges hozzáférés-felügyelet megvalósításakor használ az alkalmazáshoz.
  • Tranzakciós információk arról, hogy a tárolónak kell-e, és ha igen, akkor hogyan tranzakciókat kezelnie az alkalmazás számára.

A telepítési leírók az alkalmazás fájljaival csomagolt XML fájlok a Java archív fájlban. Az EJB telepítési leírók neve ejb-jar.xml, és az EJB projektek META-INF mappájában találhatók. A J2EE alkalmazások egy alkalmazás szintű telepítési leírót tartalmaznak, ami az alkalmazás egészét irányítja. Tartalmaz számos komponens szintű telepítési leírót is, egyet az alkalmazásban található minden egyes modulhoz.