No contest, imho. EJB's provide transactions, security, and scalability ootb without you performing session management and writing a whole bunch(none) of JDBC code. Declare the services you need in the deployment descriptor and worry about your business logic instead of worrying about managing transactions, sessions, and database code.
TSS has many articles, and here is the location of the BEA dev2dev site for EJB:
It has a lot of information posted by the WLS developers and is worth a look.
"Enterprise Java Beans" by Richard Monson-Haefel is an invaluable guide.