EJB-utvecklingsresurser

I det här avsnittet beskrivs de resurser och utvecklingsverktyg som vanligen används i EJB-utveckling.

EJB-moduler

EJB-moduler visas i projektutforskarvyn i J2EE-perspektivet och de överensstämmer med EJB-projekt.

En EJB-modul används till att samla en eller flera Enterprise-bönor i en enda utplaceringsbar enhet. En EJB-modul utvecklas i ett EJB-projekt och den kan exporteras antingen som en fristående EJB JAR-fil eller så kan den kombineras med andra EJB- eller webbmoduler i en Enterprise-tillämpning. För en EJB JAR-fil används formatet för en Java-arkivsfil av standardtyp. En EJB-modul innehåller följande:

  • En eller flera Enterprise-bönor och associerade .class- och .java-filer.
  • Bildfiler och andra filer, beroende på behovet av Enterprise-bönan.
  • En utplaceringsbeskrivning. Filtypen för utplaceringsbeskrivningen är Extensible Markup Language (XML). Filen deklarerar innehållet i EJB-modulen, definierar strukturen för bönorna i modulen samt tillhandahåller en beskrivning av hur bönorna ska användas för körning.
  • En MANIFEST.MF-fil i META-INF-katalogen. Manifestfilen kan innehålla en klassökvägspost med referenser till andra JAR-filer eller EJB-moduler i en J2EE Enterprise-tillämpning. I den definieras modulens externa beroenden.

En EJB-modul installeras och körs i en EJB-behållare.

En Enterprise-böna är en Java-komponent som kan kombineras med andra resurser för att skapa distribuerade klient-/servertillämpningar.

Anm: Om du väljer att skapa en JAR-fil för en EJB-klient i EJB-modulen inkluderas inte klientgränssnittsklasserna för Enterprise-bönorna i EJB JAR-filen men i JAR-filen för EJB-klienten.
EJB-projekt

I arbetsmiljön skapar du och underhåller resurser för Enterprise-tillämpningar i projekt. Ett EJB-projekt är en logisk modul som du kan använda till att ordna Enterprise-bönor.

Arbetsmiljön har funktioner för EJB 1.1-, EJB 2.0- och EJB 2.1-projekt. J2EE-specifikationsnivån för ett ingående EAR-projekt måste vara J2EE 1.3 eller högre för EJB 2.0-projekt och J2EE 1.4 för EJB 2.1-projekt. I ett EJB 1.1-projekt kan du endast skapa EJB 1.1-bönor.

Ett EJB-projekt är ett specialiserat Java-projekt. Precis som ett Java-projekt måste ett EJB-projekt ha en eller flera källmappar som innehåller käll- och utdatafiler för projektet. Som standard har källmappen namnet ejbModule men du kan ändra namnet när du skapar projektet eller nya källmappar. När du publicerar eller placerar ut projektet aggregeras innehållet i mappen eller mapparna.

Du får inte använda EJB-projektet som källmapp. Om du gör det uppstår fel. Trots att du kan ha fler än en källmapp i projektet kan endast en av dem innehålla mappen META-INF där MANIFEST.MF-filen och utplaceringsbeskringsfilen finns.

Anm: Om du väljer att skapa en JAR-fil för en EJB-klient i EJB-modulen inkluderas inte klientgränssnittsklasserna för Enterprise-bönorna i EJB-projektet men i ett separat JAR-projekt för EJB-klienten. JAR-projekt för EJB-klienter visas i projektutforskaren som Java-projekt under noden Andra projekt.
EJB-klientprojekt

EJB-verktygen kan användas till att skapa JAR-projekt för EJB-klienter för EJB-moduler. En EJB-klients JAR-projekt innehåller alla gränssnittsklasser som ett klientprogram behöver för att använda klientvyerna för de Enterprise-bönor som ingår i EJB-projektet. När du skapar ett EJB-klientprojekt för ett EJB-projekt skapas ett nytt Java-projekt som läggs till i arbetsytan. EJB-klientprojektet läggs till som en projektverktygs-JAR-fil i varje modul som EJB-projektet tillhör.

När du använder guiden till att skapa ett EJB-projekt skapas också ett JAR-projekt för EJB-klienten som standard. Du kan dock avaktivera det här alternativet i guiden.

Tips: Du kan också lägga till EJB-klientprojektet till en annan Enterprise-tillämpning där inte EJB-projektet ingår som en modul. Det säkerställer att JAR-filen för EJB-klienten exporteras och paketeras med EAR-filen när tillämpningen exporteras.
Enterprise-bönor

En Enterprise-böna är en Java-komponent som kan kombineras med andra resurser för att skapa distribuerade klient-/servertillämpningar.

Det finns tre slags Enterprise-bönor: entitetsbönor, sessionsbönor och meddelandestyrda bönor. Vanligen används alla typer av bönor tillsammans med en Enterprise-tillämpning.

Entitetsbönor
Entitetsbönor lagrar beständiga data. För entitetsbönor med CMP (Container Managed Persistence, behållarstyrd beständighet) krävs databasanslutning. Entitetsbönor med bönstyrd beständighet hanterar beständiga data enligt vad som angetts i bönkoden. Det kan exempelvis vara att skriva till databaser eller XML-filer.
Sessionsbönor
För sessionsbönor krävs inte databasåtkomst även om de kan ha det indirekt (enligt behov) via åtkomst till entitetsbönor. Sessionsbönor kan också ha direkt åtkomst till databaser (och andra resurser) via resursreferenser.
Meddelandestyra bönor
Meddelandestyra bönor är en specialtyp av Enterprise-bönor som fungerar som meddelandemottagare i JMS-meddelandesystemet. Precis som JMS-meddelandemottagare av standardtyp utför meddelandestyrda bönor verksamhetslogik baserat på meddelandeinnehållet. På många sätt fungerar dynamiskt skapande och allokering av meddelandestyrda bönförekomster på samma sätt som för Enterprise-bönor i Stateless-sessioner. Meddelandestyrda bönor skiljer sig från Enterprise-bönor i Stateless-sessioner (och andra typer av Enterprise-bönor) på några sätt:
  • Meddelandestyrda bönor bearbetar flera JMS-meddelanden asynkront och bearbetar inte en följd av metodanrop.
  • Det finns inget hem- eller fjärrgränssnitt för meddelandestyrda bönor och det går därför inte att få åtkomst till dem från interna eller externa klienter.
Utplaceringsbeskrivningar

En utplaceringsbeskrivning innehåller konfigurationsdata som används för en tillämpning i runtimemiljön. En utplaceringsbeskrivning kan innehålla följande information:

  • Struktur och innehåll (till exempel Enterprise-bönor) för tillämpningen.
  • Referenser till interna och externa beroenden. För en Enterprise-böna i en EJB-modul kan det hända att det måste finnas en till Enterprise-böna som inte ingår i samma modul.
  • Referenser till resursfabriksobjekt, till exempel URL-adresser eller JDBC-datakällor.
  • Säkerhetsroller som behållaren använder vid implementering av de åtkomstkontroller som krävs för tillämpningen.
  • Överföringsinformation om hur (och om) behållaren ska hantera överföringar för tillämpningen.

Utplaceringsbeskrivningar är XML-filer som är paketerade med filerna för tillämpningen i en Java-arkivfil. En EJB-utplaceringsbeskrivning kallas ejb-jar.xml och finns i mappen META-INF för ett EJB-projekt. En J2EE-tillämpning innehåller en utplaceringsbeskrivningsfil på tillämpningsnivå som har den övergripande kontrollen över tillämpningen. Den innehåller dessutom flera utplaceringsbeskrivningar på komponentnivå, en för varje modul i tillämpningen.