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.