Enterprise JavaBeans

EJB (Enterprise JavaBeans) je standardní komponentní architektura, sloužící pro realizaci aplikační vsrstvy informačního systému.

EJB komponenty jsou objekty implementované vývojářem, které zajišťují vlastní aplikační (Business) logiku systému.

Cílem je

Většina standardních služeb (autentizace, autorizace, distribuovanost, transakce, persistence, řízení přístupu ke zdrojům, apod.) jsou zajišťovány kontejnerem a jejich konfigurace probíhá deklarativním způsobem.

Klíčovou vlastností je interoperabilita - jak mezi jednotlivými kontejnery a aplikačními servery, tak i s jinými aplikacemi (prostřednictvím rozhraní CORBA).

Architektura EJB Aplikací

EJB mají své uplatnění ve tří-(a více)-vrstvých distribuovaých aplikacích.
EJB Architecture
EJB komponenty ke své činnosti vyžadují kontejner, který

Nastavení atributů různých služeb (transakce, bezpečnost, přístup ke zdrojům apod.) je důsledně odděleno od kódu komponent a řeší se deklarativním způsobem v Popisovačí nasazení (deployment deskriptoru). To umožňuje komponenty snadno přizpůsobit požadavkům při konkrétním nasazení, aniž by bylo nutné měnit kód komponenty.

Pro přístup ke službám, zdrojům a konfuguraci se používá JNDI.

Mezi nejrozšířenější volně dostupné aplikační servery s EJB kontejnerem patří např. JBoss, Sun Java System Application Server Platform Edition 8 dodávaný s J2EE 1.4 SDK od firmy SUN Microsystems, nebo prozatím vyvíjený Geronimo od Apache Software Foundation.

Typy EJB komponent

Role při vývoji EJB aplikací

Tvorba EJB komponent

http://java.sun.com/j2ee/1.4/docs/tutorial/doc/EJB.html

Distribuce a nasazení EJB komponent

Komponenty se spolu s popisovači nasazení zabalí do tzv. modulů, které je možné nasadit v prostředí libovolného kontejneru, splňujícím specifikaci EJB. Při nasazení je ovšem nutné aplikaci nakonfigurovat, což se děje prostřednictvím úprav popisovačů nasazení. Většina kontejnerů poskytuje nástroje pro zjednodušení tohoto procesu. Kromě standardizovaných popisovačů nasazení existují ještě popisovače nasazení specifické pro konkrétní kontejner, prostřednictvím něhož se nastavují parametry aplikace specifické pro daný kontejner.

Pro distribuci klientských GUI aplikací prostřednictvím internetu lze s úspěchem využít technologii Java Web Start http://java.sun.com/products/javawebstart/

Kdy použít EJB

Kdy nepoužít EJB

Nevýhody EJB

Doporučené postupy

http://www.theserverside.com/books/wiley/EJBDesignPatterns/index.tss
http://www-106.ibm.com/developerworks/java/library/j-ejbcol.html
http://www.oracle.com/technology/sample_code/tech/java/codesnippet/j2ee/ejbbestpractices/EJB-Best.html

Zdroje informací

http://java.sun.com/j2ee/1.4/docs/tutorial/doc/index.html
http://www.theserverside.com/
http://www.jboss.org

Zelený, J., Nožička, J.: COM+, CORBA, EJB. Technická literatura BEN, Praha, 2002.