Okay, gehen wir ins Detail, denn es geht um Details.
1. JavaEE VS. J2EE
Die Version 5 der Java Spec für Enterpriseanwendungen heißt "JavaEE", alles davor "J2EE". Das ist in sofern wichtig, dass mit JavaEE EJB3 gekommen ist, die letzte Version des EJB Standards in J2EE ist EJB2.1.
Wenn es also heißt "in J2EE einarbeiten" heißt das Java Enterprise Standard 1.4 (inklusive EJB2.1). Wenn es heißt "in JavaEE einarbeiten, dann Standard 1.5 (oder 5) - und der enthält nur EJB3.
2. JavaEE != EJB3 oder J2EE != EJB2.X
JavaEE / J2EE werden landläufig synonym mit EJB verwendet. Dabei ist EJB "nur" das Komponentenmodell innerhalb von JavaEE (SessionBeans, EntityBeans usw.). Es gibt eine Reihe weitere APIs die zum JavaEE Standard gehören: JTA, JMS, JMX usw.
Was ich damit meine, ist, dass man eine JavaEE Anwendung nicht zwingen (meiner Meinung nach zu 90% nicht) auf EJB basieren muss bzw. sollte. Parallel zu EJB haben sich nämlich wesentlich leichtgewichtegere Ansätze wie Spring (
http://www.springframework.org) etabliert und EJB in meinen Augen auch zum Großteil verdrängt. Der Vorteil von Spring: POJO Programmiermodell, keine (ungewollten) Abhängigkeiten zur Infrastrukur (durch DependencyInjection - DI), Portable Service Abstraction (d.h. du bindest Infrastrukturdienste wie Security, Transaktionen auf die gleiche Weise in eine Spring basierte J2SE Anwendung ein, wie in eine Spring basierte JavaEE Anwendung). Weiterhin brauchst nicht zwingendermaßen einen ApplicationServer um die Anwendung laufen zu lassen.
Kernziel der ganze Sache ist vor allem die Containerunabhängigkeit. Echte Unittests gehen mit EJB ohne Container gar nicht, JAAS als Securitystandard ist unflexibel und überholt. EJB kann keine echte DI, kein richtiges AOP - alles Sachen die heutzutage die Grundlage von Enterpriseanwendungen sind.
Was will ich damit sagen:
Ich geh jetzt mal davon aus, dass deine Aufgabe eher eine wissensaneignende Natur hat. Und da stößt man beim Thema JavaEE natürlich schnell auf EJB. Das sollte den Blick allerdings nicht vor alternativen Technologien in diesem Bereich verschließen, die sich bereits zu Defacto Standards gemausert haben. Wie gesagt, ich finde, es gibt nur sehr wenige Anforderungen, die mich zu der Entscheidung bringen, eine Anwendung mit EJB zu implementieren.
Gruß
Ollie