Vývojové prostředky EJB

Toto téma popisuje prostředky a vývojářské nástroje, které se běžně používají při vývoji EJB.

Moduly EJB

Moduly EJB se zobrazují v pohledu Průzkumník projektů perspektivy J2EE, přičemž odpovídají projektům EJB.

Modul EJB se používá k sestavení jednoho nebo více objektů enterprise bean do jediné implementovatelné jednotky. Modul EJB se vyvíjí v projektu EJB a lze jej exportovat buď jako samostatný soubor EJB JAR, nebo jej lze kombinovat s ostatními moduly EJB nebo s webovými moduly v rámci podnikové aplikace. Soubor EJB JAR používá formát standardního archivního souboru Java. Modul EJB obsahuje následující:

  • Minimálně jeden objekt enterprise bean a odpovídající soubory .class a .java.
  • Grafiku a další soubor v závislosti na potřebách objektu enterprise bean.
  • Deskriptor implementace. Deskriptor implementace je souborem typu XML (Extensible Markup Language). Tento soubor deklaruje obsah modulu EJB, definuje strukturu objektů bean v modulu a popisuje, jak se mají objekty bean použít v době běhu programu.
  • Soubor MANIFEST.MF v adresáři META-INF. Soubor s manifestem může obsahovat položku cesty ke třídě, která se odkazuje na další soubory JAR nebo moduly EJB v podnikové aplikaci J2EE. Definuje externí závislosti modulu.

Modul EJB se instaluje a spouští v kontejneru EJB.

Objekt enterprise bean je komponentou Java, kterou lze kombinovat s dalšími prostředky a vytvářet distribuované aplikace klient/server.

Poznámka: Pokud se u modulu EJB rozhodnete vytvořit soubor JAR klienta EJB, třídy klientského rozhraní pro objekty enterprise bean nebudou v souboru JAR EJB obsaženy, ale zahrnou se do souboru JAR klienta EJB.
Projekty EJB

Na pracovní ploše vytváříte a udržujete prostředky pro podnikové aplikace v projektech. Projekt EJB je logickým modulem, který vám umožňuje uspořádat vaše objekty enterprise bean.

Pracovní plocha podporuje projekty EJB 1.1, EJB 2.0 a EJB 2.1. Úroveň specifikace J2EE obsahujícího projektu EAR musí být pro projekty EJB 2.0 nastavena na J2EE 1.3 nebo vyšší, resp. J2EE 1.4 pro projekty EJB 2.1. V projektu EJB 1.1 budete moci vytvářet pouze objekty bean EJB 1.1.

Projekt EJB je specializovaným projektem Java. Podobně jako projekt Java musí mít i projekt EJB minimálně jednu zdrojovou složku pro uložení zdrojových a výstupních souborů projektu. Ve výchozím nastavení se zdrojová složka nazývá ejbModule, ale tento název můžete při vytváření projektu nebo nových zdrojových složek změnit. Když projekt publikujete nebo implementujete, obsah složky nebo složek bude agregován.

Projekt EJB nemůžete použít jako zdrojovou složku; to by způsobilo chybu. Přestože můžete mít v projektu i několik zdrojových složek, pouze jedna z těchto zdrojových složek smí obsahovat složku META-INF, ve které je uložen MANIFEST.MF a soubor deskriptoru implementace.

Poznámka: Pokud se u svého modulu EJB rozhodnete vytvořit soubor JAR klienta EJB, třídy klientského rozhraní pro objekty enterprise bean nebudou v projektu EJB obsaženy, ale zahrnou se do samostatného projektu JAR klienta EJB. Projekty JAR klienta EJB se zobrazují v průzkumníku projektů jako projekty Java pod uzlem Jiné projekty.
Projekty klienta EJB

Nástroje EJB podporují vytváření projektů JAR klienta EJB pro moduly EJB. Projekt JAR klienta EJB obsahuje všechny třídy rozhraní, které klientský program potřebuje k použití klientského pohledu na objekty enterprise bean, které jsou obsaženy v projektu EJB. Když vytváříte projekt klienta EJB pro projekt EJB, vytvoří se nový projekt Java a přidá se do pracovního prostoru. Projekt klienta EJB se přidá jako soubor JAR utility projektu do všech modulů, ke kterým projekt EJB patří.

Pokud ve výchozím nastavení použijete k vytvoření projektu EJB průvodce, vytvoří se také projekt JAR klienta EJB. Tuto volbu však můžete v průvodci zrušit.

Tip: Projekt klienta EJB můžete také přidat do jiné podnikové aplikace, která neobsahuje projekt EJB jako modul. Tímto zajistíte, že soubor JAR klienta EJB se při exportu aplikace exportuje a zabalí společně se souborem EAR.
Objekty enterprise bean

Objekt enterprise bean je komponentou Java, kterou lze kombinovat s dalšími prostředky a vytvářet distribuované aplikace klient/server.

Existují tři typy objektů enterprise bean: Objekty entity bean, objekty session bean a objekty typu message-driven bean. Všechny typy objektů bean se zpravidla používají v podnikové aplikaci společně.

Objekty entity bean
Objekty entity bean ukládají trvalá data. Objekty entity bean s CMP (container-managed persistence) vyžadují připojení k databázi. Objekty entity bean s perzistencí řízenou objektem bean spravují trvalá data způsobem, který je definován v kódu objektu bean. Sem patří například zápis do databází nebo souborů XML.
Objekty session bean
Objekty session bean nevyžadují přístup k databázi, ačkoli jej mohou nepřímo získat (podle potřeby) přístupem k objektům entity bean. Objekty session bean mohou také získat přímý přístup k databázím (a dalším prostředkům) prostřednictvím odkazů na prostředky.
Objekty typu message driven bean
¨Objekty typu message driven bean jsou speciálním druhem objektu enterprise bean, které se v systému zpráv JMS chovají jako konzumenty zpráv. Podobně jako standardní konzumenty zpráv JMS i objekty typu message driven bean provádějí obchodní logiku založenou na obsahu zpráv. Dynamické vytváření a alokace instancí objektů typu message driven bean několikerým způsobem napodobuje chování nestavových objektů session enterprise bean. Objekty typu message driven bean se však od nestavových objektů session enterprise bean (a dalších typů objektů enterprise bean) v několika ohledech odlišují:
  • Objekty typu message driven bean zpracovávají více zpráv JMS asynchronně, místo aby zpracovávaly serializovanou posloupnost volání metod.
  • Objekty typu message driven bean nemají žádné domovské ani vzdálené rozhraní, a proto k nim nelze přímo přistupovat z interních ani externích klientů.
Deskriptory implementace

Deskriptor implementace obsahuje data konfigurace, která běhové prostředí používá pro aplikaci. Deskriptor implementace může zahrnovat informace o následujícím:

  • Struktura a obsah (např. objekty enterprise beans) aplikace.
  • Odkazy na interní a externí závislosti. Objekt enterprise bean v modulu EJB může například vyžadovat jiný objekt enterprise bean, který není zabalen ve stejném modulu.
  • Odkazy na objekty továrny prostředků, např. adresy URL nebo zdroje dat JDBC.
  • Role zabezpečení, které kontejner používá při implementaci požadovaného řízení přístupu pro aplikaci.
  • Transakční informace o tom jak (a zda vůbec) má kontejner spravovat transakce pro aplikaci.

Deskriptory implementace jsou soubory XML zabalené společně se soubory aplikace v archivním souboru Java. Deskriptor implementace EJB se nazývá ejb-jar.xml a nachází se ve složce META-INF projektu EJB. Aplikace J2EE obsahuje jeden soubor deskriptoru implementace na úrovni aplikace, který řídí aplikaci jako takovou. Rovněž obsahuje několik deskriptorů implementace na úrovni komponent pro jednotlivé moduly v aplikaci.