May 9, 2024

I started a new position as a Java contractor 3 weeks ago and I’m learning a lot here. The company is a subsidiary of one of the largest private companies in Florida. And they are using some of the latest Java technology – Beehive (Weblogic Workshop actually), EJBs, Maven, Cactus, and Hibernate. And the app runs on Weblogic 8 on top of Oracle 9. Though we are using all these technologies, I’m becoming more and more convinced that J2EE development is slow in general. To test something on the app server, you have to compile and deploy, which can take almost a minute per iteration. Or, I can just test the EJBs using Cactus, but that can take 30 seconds. I also am not a big fan of Hibernate. One reason is not being able to test Hibernate queries directly. Though I’ve installed the Hibernate console, there seems to be a mismatch with our hibernate jar file. (I’ve since figured out how to solve this). Hibernate is nice for straight forward schemas. But when you start trying to deal with complicated things, I find Hibernate to get quite unwieldy. If something doesn’t work, you really have to dig deep to figure out what’s wrong. Isn’t ORM suppossed to make things easier? Rather, I find it makes things more obscure and complicated. Same goes for EJBs. It just makes things a whole lot more complicated and time-consuming to deal with EJBs. Also, J2EE development is a memory hog. I originally had 1 Gig memory on my computer, but with Weblogic, Workshop, Eclipse, and other miscellaneous apps running, it was quite slow. After installing another Gig, it’s tolerable now. And I haven’t yet even tried running Oracle locally.

Well, that’s enough ranting for now. Back to some Java coding…