I’ve been doing ‘plain old java objects’ programming for 10 years now, with Swing and JDBC, and I consider myself pretty good at it. But I start a new job in two weeks where they use JBoss, and I’d like to get a heads up and start learning all this stuff before I start. What are good resources? On-line tutorials, books, e-books, anything you can suggest, especially ones that don’t try to teach you the basics of plain Java first.
Share
For quick getting up to speed, you really need to master EJBs and JSP/Servlets. Those are the fundamentals of Java EE technology. The Head First series on EJBs and JSP/Servlets is a good start for what has usually been a mind-numbingly complex framework. Beware that recent Head First editions have switched to teaching the simpler annotation-based Java EE 1.5 frameworks. While the newer version of Java EE is simpler and better, you probably need to know the previous versions (Java EE 1.4 = EJB 2.1 and Servlets 2.4).
At this point, you’ve only dipped your foot in the water. I would spend a lot of time over the next year, reading up on Java EE technologies and more generally enterprise application development for client-servers.
a) You absolutely must understand data modeling, and databases. The best I’ve seen are by Chris Date, Steve Feuerstein (if you’re using Oracle) and Joe Celko. The better Java EE developers can keep up with their DBAs in technical discussions about the database.
b) You do need to understand how JDBC works, and why ORM tools like iBatis, Hibernate and Toplink came about. Assuming you know how to write a JDBC DAO, then be sure to understand how Hibernate works.
c) You should understand how the layered architecture of a Java EE application. Core Java EE Design Patterns has prescribed typical practice, and it’s highly likely that your upcoming project will stick to those patterns. That said, you should also understand alternative points of view on architecture. I’ve found Martin Fowler’s Patterns of Enterprise Application Architecture and Rod Johnson’s Expert One-On-One Java EE Design and Development to be valuable. The ideas in the latter became the Spring framework, and has settled into mainstream for how many J2EE developers prefer to develop their apps.
d) Then learn some of the frameworks that have sprouted up around the Java EEE ecosystem. While it’s a philosophical question why there are so many frameworks, and which one is better, focusing on the frameworks your employer is specifically using is more than enough.