Objevujeme EJB
Jsou technologie, které jsou všeobecně známé a používané a technologie všeobecně známé a nepoužívané. Po několika měsících experimentování s Hibernate jsem došel k názoru, že to ještě není to pravé ořechové a začal jsem se učit a zkoušet Enterprise Java Beans (EJB). Po nastudování několika knih mám pocit, že je tato technologie přímo zrozená k tomu, aby byla objevena a masivně používána. Nebudu tady popisovat, o čem jsou EJB (to už udělali lépe jiní), jen vypíchnu, co se mi na nich líbí a co ne:
Líbí:
- Striktně komponentový přístup
- Definice home/remote (local/local-home) rozhraní k beanu (fakt, mě se tato logika velmi líbí, když pochopíte, o čem to je, nedáte na to dopustit)
- Striktní definice v názvech metod (ejbCreate, ejbHome…) a vůbec držení vývojáře maximálně zkrátka (řeči o volnosti neberu, když se na projektu střídá hafo lidí, tak někdy ani jmenné konvence nestačí)
- Container Managed Persistence (CMP) (při deploy create table, atd.) a relationships
- DD ejb-jar.xml
- Miluju Sun a tohle dělá Sun
Nelíbí:
- Specifikace EJB je místy příliš obecná (i když, zase vendoři serverů mají volnější ruce, např. load balancing, clustering, generace PK…)
- EJB-QL je dost chudý (např. 2.0 nemají ani ORDER BY)
- Složitá technologie, ale jen na začátku. Když pochopíte, jak vše funguje a hlavně proč je to tak uděláno, nedáte na EJB dopustit. Chce to dobrou literaturu a hned musím říct, že J2EE tutorial od SUNu dobrý zdroj není (v dalším příspěvku uvedu lepší materiály ke studiu).
Jak tak procházím java konferenci, či různé příspěvky, mám z nich pocit, že EJB se nepoužívají jednoduše proto, že spoustě lidí připadají příliš složité (což nejsou). Možná je ale pravda jinde-prostě je všichni používají, ale nepíšou o tom :).