Monday, November 28, 2005

Intro J2EE Books

So as a part of my new job I may, as time goes on, have a need to deal with the looming monster of J2EE in one way or another. We have a lot of Java code in the system, and while I don't actually work on it, there are definately going to be times when the part of the system I work on will intersect the part of the system I know virtually nothing about.

You see, despite the fact that I do, in theory, know Java, and in fact that I've been paid in the past to write both desktop Java applications and Java web applications, I really know very little about J2EE. Honestly, I don't even like the term J2EE. If people could just say "Java Web Applications" I'd be fine with it, but as soon as they try to use the term "Enterprise" to make something like a web page sound impressive I really start to glaze over.

Despite this, I do recognize that there are a lot of smart J2EE developers out there, and they have built a number of impressive systems using those technologies, and since I do have a need to interact with this stuff it's probably a good idea that I actually learn something about it. So this weekend I stopped at a book store and tried to find a decent looking intro J2EE book. So far, I've been largely dissappointed. I picked up a copy of "Core Servlets and Java Server Pages", which seems reasonable enough for the JSP and Servlet stuff, which I already know, but could probably use a reference on, but it's like 3 inches thick, and covers a bunch of useless "HTTP and HTML 1.0" crap that nobody who's been alive in the programming world over the past few years should need to see again.

Plus, it doesn't cover anything other than Servlents and JSP, plus a smidgen of things like JDBC. I mean I've got no freaking clue about EJBs, or any number of other acronyms that show up in the J2EE world, but I'm certainly not willing to go out and buy a 40 dollar book for each and every one of them, and from what I can see that's what you're buying into when you start picking up books in the J2EE space.

So does anyone have a good intro J2EE book they'd like to recommend to me? Something to get me to the point where I can be conversant in the terminology and know enough to poke around in some code without being totally lost, but where I don't have to spend hundreds of dollars and waste weeks of my time reading hundreds of pages of crap?

3 comments:

  1. ugh. i feel sorry for you starting at this point in the J---blahblah world. j2ee == a whole mess of headaches ... much like the ++ of c++. if you're stuck dealing with EJBs and want to learn about them in particular (i HIGHLY recommend against using EJB1/2 ... EJB3 should be decent) there is a good book oreilly puts out (http://www.oreilly.com/catalog/entjbeans3/?CMP=IL7015).
    honestly, most good J2EE developers piss on 95% of the J2EE spec/implementation and go with a combination of open source projects to get the work done. a good book for this: http://www.oreilly.com/catalog/bfljava/
    some pointers:
    hibernate -> a good ORM mapping tool. will help to remove most of your database code. www.hibernate.org
    spring -> a very lightweight bean container. efficient for managing and arranging complex systems, comes with a good MVC framework. encourages testable code. www.springframework.org
    tomcat -> you need to host your app in something. this is the easiest, lightest container available.
    all three of those websites contain a plethora of information and excellent user guides. purchasing books for them isn't needed.
    beyond those technologies, all you really need is JSPs and servlets. and if you need a reference for either of these ... for the love of [insert your deity here] ... *don't bother with a book*. a proper book written on these subjects would cover so few pages it wouldn't be worth the printing costs. which is why the existing JSP/servlet books are about 10% useful and 90% filler that you'll never use. just google the web a bit here and there and you'll find all the info you need.
    you can shoot me email/aim if you have any specific questions.

    ReplyDelete
  2. I'm a fan of Rod Johnson:
    - Expert One-on-One J2EE Development without EJB (ISBN: 0764558315)
    - Expert One-on-One J2EE Design and Development (Programmer to Programmer) (ISBN: 0764543857)

    ReplyDelete
  3. Robert Burrell DonkinNovember 29, 2005 at 9:48 AM

    I think that you've started to realise something important about J2EE: it's a portmeneau consisting of an evergrowing number of separate but related specifications. Each can be used by itself or as part of a (more or less) integrated J2EE container. If you're not a J2EE developer then buying (at least one) book on each of these specifications may be a little overkill especially given good basic knowledge of general internet and enterprise development.
    There are a number of general J2EE books but unless you actually want to be able to develop applications they may not be worth the investment.
    A wiser approach may be to learn a little about each of the specifications that make up J2EE by combining some reading of the specifications themselves with introductionary articles from the likes of http://www.onjava.com/ and http://www.javaworld.com/.
    It's probably a good idea to review sun blueprints http://java.sun.com/blueprints/enterprise/index.html. It's a moot point how good these are as design principles but they can be useful vocabulary. The names in http://java.sun.com/blueprints/corej2eepatterns/index.html are widely used (and misused) amongst commercial J2EE developers.

    ReplyDelete