EJB-kehityksen resurssit

Tässä ohjeaiheessa kuvataan EJB-kehityksessä yleisesti käytettäviä resursseja ja kehitystyökaluja.

EJB-moduulit

EJB-moduulit näkyvät J2EE-perspektiivin projektien selausnäkymässä ja vastaavat EJB-projekteja.

EJB-moduulia käytetään kokoamaan yhdestä tai useasta bean-yrityskomponentista yksi käyttöön otettava yksikkö. EJB-moduuli kehitetään EJB-projektissa. EJB-moduuli voidaan joko viedä itsenäisenä EJB JAR -tiedostona tai yhdistää muihin EJB- tai Web-moduuleihin yrityssovelluksessa. EJB JAR -tiedostojen muoto on sama kuin vakiomuotoisen Java-arkistotiedoston muoto. EJB-moduuli sisältää seuraavat osat:

  • Vähintään yksi bean-yrityskomponentti ja siihen liittyvät .class- ja .java-tiedostot.
  • Grafiikkatiedostot ja muut tiedostot bean-yrityskomponentin tarpeiden mukaan.
  • Käyttöönoton kuvaaja. Käyttöönoton kuvaajan tiedostolaji on XML (Extensible Markup Language). Tämä tiedosto esittelee EJB-moduulin sisällön, määrittää moduulin sisältämien bean-komponenttien rakenteen sekä kuvailee, kuinka bean-komponentteja tulee käyttää ajon aikana.
  • META-INF-hakemistossa sijaitseva MANIFEST.MF-tiedosto. Manifest-tiedosto voi sisältää luokkapolkumerkinnän sekä viittauksia muihin JAR-tiedostoihin tai EJB-moduuleihin J2EE-yrityssovelluksessa. Tiedostossa määritetään moduulin ulkoiset riippuvuudet.

EJB-moduuli asennetaan EJB-säilöön, jossa se myös ajetaan.

Bean-yrityskomponentti on Java-komponentti, joka voidaan yhdistää muihin resursseihin hajautettujen työasema-/palvelinsovellusten luontia varten.

Huomautus: Jos päätät luoda EJB-moduulille EJB-työasemaohjelman JAR-tiedoston, bean-yrityskomponenttien rajapintaluokkia työasemassa ei sisällytetä EJB JAR -tiedostoon, mutta ne sisällytetään EJB-työasemaohjelman JAR-tiedostoon.
EJB-projektit

Työympäristössä on mahdollista luoda ja ylläpitää yrityssovellusten resursseja projekteissa. EJB-projekti on looginen moduuli, jonka avulla voi järjestää bean-yrityskomponentteja.

Työympäristö tukee EJB 1.1-, EJB 2.0- ja EJB 2.1 -projekteja. Tietoja sisältävän EAR-projektin J2EE-määritystasoksi on määritettävä EJB 2.0 -projekteissa vähintään J2EE 1.3 ja EJB 2.1 -projekteissa J2EE 1.4. EJB 1.1 -projektissa on mahdollista luoda vain EJB 1.1 -bean-komponentteja.

EJB-projekti on tiettyyn tehtävään tarkoitettu Java-projekti. Java-projektin tavoin EJB-projektilla on oltava vähintään yksi lähdekansio, joka sisältää projektin lähde- ja tulostiedostot. Oletusarvon mukaan lähdekansion nimi on ejbModule, mutta voit muuttaa nimeä projektin tai uusien lähdekansioiden luonnin yhteydessä. Kun projekti julkaistaan tai otetaan käyttöön, kansion tai kansioiden sisältö koostetaan.

EJB-projektia ei voi käyttää lähdekansiona. Tällainen käyttö aiheuttaa virheitä. Vaikka projektissa voi olla useita lähdekansioita, vain yksi lähdekansio voi sisältää META-INF-kansion, jossa MANIFEST.MF-tiedosto ja käyttöönoton kuvaajatiedostot sijaitsevat.

Huomautus: Jos päätät luoda EJB-moduulille EJB-työasemaohjelman JAR-tiedoston, bean-yrityskomponenttien rajapintaluokkia työasemassa ei sisällytetä EJB-projektiin, vaan erilliseen EJB-työasemaohjelman JAR-projektiin. EJB-työasemaohjelman JAR-projektit näkyvät projektien selausnäkymässä Java-projekteina Muut projektit -solmussa.
EJB-työasemaohjelman projektit

EJB-työvälinejärjestelmä tukee EJB-työasemaohjelman JAR-projektien luontia EJB-moduuleille. EJB-työasemaohjelman JAR-projekti sisältää kaikki rajapintaluokat, joita työasemaohjelma tarvitsee EJB-projektin sisältämien bean-yrityskomponenttien työasemaohjelmanäkymien käyttöön. Kun EJB-projektille luodaan EJB-työasemaohjelmaprojekti, järjestelmä luo uuden Java-projektin ja lisää sen työtilaan. Järjestelmä lisää EJB-työasemaohjelmaprojektin projektin JAR-apuohjelmatiedostona kuhunkin moduuliin, johon EJB-projekti kuuluu.

Kun EJB-projekti luodaan käyttämällä ohjattua toimintoa, järjestelmä luo oletusarvon mukaan myös EJB-työasemaohjelman JAR-projektin. Tämä vaihtoehto on kuitenkin mahdollista poistaa käytöstä ohjatussa toiminnossa.

Vihje: EJB-työasemaohjelmaprojekti voidaan myös lisätä toiseen yrityssovellukseen, jossa EJB-projekti ei ole moduulina. Näin voidaan varmistaa, että EJB-työasemaohjelman JAR-tiedosto viedään ja paketoidaan EAR-tiedoston kanssa sovelluksen viennin yhteydessä.
Bean-yrityskomponentit

Bean-yrityskomponentti on Java-komponentti, joka voidaan yhdistää muihin resursseihin hajautettujen työasema-/palvelinsovellusten luontia varten.

Bean-yrityskomponentteja on kolmea tyyppiä: bean-oliokomponentteja, istunnon bean-komponentteja ja sanomaperusteisia bean-komponentteja. Yleensä kaikkia bean-komponenttityyppejä käytetään yhdessä yrityssovelluksessa.

Bean-oliokomponentit
Bean-oliokomponentteihin tallentuu pysyviä tietoja. Säilön ylläpitämän pysyvyyden sisältävät bean-oliokomponentit edellyttävät tietokantayhteyksiä. Bean-komponentin ylläpitämän pysyvyyden sisältävät bean-oliokompontit hallitsevat pysyviä tietoja bean-komponenttien koodissa määritetyllä tavalla. Tämä voi tarkoittaa esimerkiksi kirjoitusta tietokantoihin tai XML-tiedostoihin.
Istunnon bean-komponentit
Istunnon bean-komponentit eivät edellytä tietokantayhteyksiä, vaikka yhteys voi syntyä (tarvittaessa) komponenttien käyttäessä bean-oliokomponentteja. Istunnon bean-komponentit voivat myös käyttää tietokantoja (ja muita resursseja) suoraan resurssiviitteiden avulla.
Sanomaperusteiset bean-komponentit
Sanomaperusteiset bean-komponentit ovat erikoislaatuisia bean-yrityskomponentteja, jotka toimivat sanomien kuluttajasäikeinä JMS-viestijärjestelmässä. Vakiomuotoisten JMS-viestien kuluttajasäikeiden tavoin sanomaperusteiset bean-komponentit toteuttavat liiketoimintalogiikkaa viestin sisällön perusteella. Sanomaperusteisen bean-komponentin ilmentymien dynaaminen luonti ja varaus muistuttaa monin tavoin tilattomien istunnon bean-yrityskomponenttien toimintaa. Sanomaperusteiset bean-komponentit poikkeavat kuitenkin tilattomista istunnon bean-yrityskomponenteista (ja muunlaisista bean-yrityskomponenteista) seuraavilla tavoilla:
  • Sanomaperusteiset bean-komponentit käsittelevät useita JMS-viestejä asynkronisesti sen sijaan, että käsittelisivät metodikutsujen sarjaa.
  • Sanomaperusteisilla bean-komponenteilla ei ole omaa rajapintaa tai etärajapintaa, eivätkä sisäiset tai ulkoiset työasemaohjelmat siksi voi käyttää niitä suoraan.
Käyttöönoton kuvaajat

Käyttöönoton kuvaaja sisältää kokoonpanotietoja, joita ajonaikainen ympäristö käyttää sovellusta varten. Käyttöönoton kuvaaja voi sisältää tietoja seuraavista:

  • Sovelluksen rakenne ja sisältö (esimerkiksi bean-yrityskomponentit).
  • Viittaukset sisäisiin ja ulkoisiin riippuvuuksiin. EJB-moduulin bean-yrityskomponentti voi esimerkiksi edellyttää toista bean-yrityskomponenttia, joka ei sisälly samaan moduuliin.
  • Viittaukset resurssien factory-objekteihin, esimerkiksi URL-osoitteisiin tai JDBC-tietolähteisiin.
  • Suojausroolit, joita säilö käyttää toteutettaessa sovelluksen edellyttämää käyttöoikeuksien tarkistusta.
  • Tapahtumatiedot siitä, hallitseeko säilö sovelluksen tapahtumia ja miten säilö hallitsee niitä.

Käyttöönoton kuvaajat ovat XML-tiedostoja, jotka on pakattu sovelluksen tiedostojen mukana Java-arkistotiedostoon. EJB-käyttöönoton kuvaajan nimi on ejb-jar.xml, ja se sijaitsee EJB-projektin META-INF-kansiossa. J2EE-sovellus sisältää yhden sovellustason käyttöönoton kuvaajatiedoston, joka hallitsee sovellusta kokonaisuutena. Sovellus sisältää myös useita komponenttitason käyttöönoton kuvaajia, yhden sovelluksen kutakin moduulia varten.