Az OpenEJB egy nyílt forráskódú, beágyazható, pehelysúlyú EJB konténer rendszer és EJB szerver, melyet Apache licenc 2.0 alatt adták ki. Az OpenEJB-t olyan Java EE alkalmazásszerverekkel integrálták, mint pl. Geronimo[1] és a WebObjects.[2]

Apache OpenEJB
FejlesztőApache Software Foundation
Legfrissebb fejlesztői kiadás4.0.0-beta-2 (2012. január 23.) +/-
Programozási nyelvJava
Operációs rendszerPlatformfüggetlen (JVM)
ÁllapotAktív
KategóriaEJB konténer rendszer
LicencApache Licenc 2.0
Az Apache OpenEJB weboldala

Története szerkesztés

Az OpenEJB-t Richard Monson-Haefel és David Blevins alapította 1999 decemberében. Abban az időben jószerivel hetente jelentek meg új gyártók az Enterprise Java világba. A projekt ahelyett, hogy csatlakozott volna ebbe a kialakuló térbe, mint versenyző, a projekt teljes mértékben arra koncentrált, hogy új platformokat lehessen vele előállítani. Mindezzel úgy lehet EJB megfelelést szerezni, hogy az OpenEJB-t beépülő modul módjára mindössze csak hozzá kell adni az alkalmazásszerverhez.

Az első, amihez integráltak az OpenEJB-t ebben a formában az Apple WebObjects-e 2000 végén, amit 2001-ben adtak ki. 2002-ben, amikor a projektet átköltöztették a SourceForge-ra, akkor integrálták az Apache Tomcat-hez. Again rather than follow what most in the industry were doing and putting Tomcat into OpenEJB, the project decided to follow its vision and provide an integration that allowed Tomcat users to plug in OpenEJB to gain EJB support in the Tomcat platform. It was in this same vein of putting an EJB container into a Web server that the project developed the Collapsed EAR concept of putting EJBs inside the .war file.

Az Apple WebObjects-sel való integrációs munka előkészítésének részeként, az OpenEJB egy hatalmas integrációs teszt csomagot fejlesztettek ki. A teszt csomagot általános alkalmazásként kifejlesztették ki, habár a szükséges futtatni mind a WebObjects-en, mind más platformokon, ami integrálja OpenEJB-t. Az egyszerűség kedvéért a teszt csomag készítése (build) - ami JUnit-on alapult - OpenEJB-vel történik a teszteken belül, nem önálló processzként, ami könnyen megtehető volt, mivel a konténert úgy tervezték, hogy beépíthető legyen más platformokba, továbbá lehetővé tette, hogy a lehető legkevesebb megkötést feltételezzen a környezetéről. Ettől a munkából született meg a beágyazható EJB konténer koncepciója, amely egy EJB alkalmazás és az egyszerű egységtesztek kombinációja volt. Eredetileg "helyi" EJB konténernek nevezték el, és ez vezette oda a projektet, hogy úgy jellemezze magát, hogy két módon is tud futni: lokálisan és távoli módban.

2003 augusztusában a projekt útjára bocsátotta az Apache Geronimo alkalmazásszervert. Eredetileg az OpenEJB egy új verzióját fejlesztették ki a Geronimo GBean architektúrája felett és kiadták OpenEJB 2.0-ként, amely túlélte a Geronimo 1.x életciklusát. 2006-ban, amikor kiadták a EJB 3.0-at, ami az egyszerűségre koncentrált, a projekt visszatért a gyökereihez és revideálta az OpenEJB 1.0 kódbázist, a 2.0 kódbázis kiválasztott részeit portolták, és felhozták az EJB 3.0 specifikációs szintre.Ezt nevezzük ma OpenEJB 3.0-nak.

Apache OpenEJB Verziói
Verzió Kiadás dátuma Megjegyzés
0.01 (első kiadás) 1999. december Exolab-ban megszületett a projekt
2002. január Átvitték a SourceForge.net-ra
2004. március Átvitték a Codehaus-hoz
3.0 2006. szeptember 29. Beléptették a projektet az Apache Inkubátor folyamatba
2007. június 1. Az inkubátor folyamat lezárult, és a projekt OpenEJB néven bekerült az Apache projektek közé.

Főbb funkciók szerkesztés

  • támogatja a következő sztenderdeket: EJB 3.0, 2.1, 2.0, 1.1 beágyazott-, önálló-, egyébmódon.
  • részleges EJB 3.1 támogatás
  • JAX-WS támogatás
  • JMS támogatás
  • J2EE connector támogatás
  • bedobható a Tomcat 5 vagy 6-ba és ezáltal számos JavaEE 5 and EJB 3.0 funkciót hozzáadva a sztenderd Tomcat installhoz.
  • CMP támogatás JPA felett, lehetővé téve, hogy szabadon keverhető legyen a CMP és a JPA használat.
  • GlassFish leírók teljes támogatása, lehetővé téve, hogy a Glassfish használók beágyazhassák az alkalmazásaikat.
  • maximálisan rugalmas JNDI név támogatás, mely lehetővé teszi formátumok meghatározását makró- és mikró szinten továbbá más gyártók formátumainak imitálását is.
  • könnyen tesztelhetőséget és debuggolhatóságot tesz lehetővé olyan IDE-kben, mint pl. Eclipse, IntelliJ IDEA vagy NetBeans pluginek telepítése nélkül.
  • Használható közönséges JUnit és hasonló stílusú tesztesetekben, bonyolult konfiguráció vagy külső processz használata nélkül.
  • hitelesíti az alkalmazásokat teljes mértékben és jelentéseket készít minden hibáról azonnal, három választható részletezettségi szint szerint, ezáltal elkerülve sok órányi "javítás, újrafordítás, újra telepítés, hibás futás, ismétlés" ciklust

Kapcsolódó szócikkek szerkesztés

Jegyzetek szerkesztés