JEE vs Drupal – On Apples and Oranges

Lets compare apples and oranges, shall we. In this post: why Drupal is the winner and the Java Enterprise Edition (JEE, previously known as J2EE) is just too damn complicated. What I’d like to compare is a fully customizable content management system (Drupal) with fully custom-developped enterprise software (JEE). In  both cases, feel free to replace with your favorite technology and tools.

I have been a JEE developer for my entire career. I have researched clusters and grids created out of J2EE technology. My experience with Drupal runs a little less deep, but none-the-less I have configured a few systems that even made it beyond the beta stage.

Lets say you want to create an average web application, an online shop, a forum or even just a personal website with only a few pages. JEE will give you the technology to make it happen, but it won’t say how. A random framework (Spring MVC/Webflow, Wicket, …) might give you some guidelines, but you’ll have to build from the ground up. If you compare it to building a house, JEE gives you all the options. You can pick your bricks, the color, the size, the material. It lets you choose what foundation to use and if you’d like to build using wood, bricks or anything you fancy.

Spices
Creative Commons License photo credit: r h

Compare that to a CMS like Drupal. Drupal gives you a house from the get-go. You’re out of the rain from day one. The basic operation in a content management system is customization. Changing color is easy. Moving walls a bit more complicated, but still within reach of many people. Replacing the bricks with steel girders is a lot more complicated and might not be worth the effort. However,  with the kind of customization options that are available, you’ll hardly ever need to do complicated stuff. Unless you’re doing some very specific thing, you probably don’t even need to touch any PHP at all.

JEE is technology centric. If you like nuts and bolts, you’ll love it. Drupal is content centric. You start with the content and build from there.

This difference will give Drupal a huge advantage from the start. You’ve got a working website before you even get started. JEE gives you nothing to begin with and only provides advantages in the very long run. If you start clustering, if you need to carefully control database access and caching strategies. That’s when you’ll feel sorry you used Drupal. But will it ever get to that point for your site? Probably not. Plus you can host PHP anywhere. And that’s why in 99% of the situations Drupal is going to win.

Java isn’t going to die, JEE isn’t going to go the way of the dodo, it just isn’t for every site and it’s about time the Java community realized this. I’m not sure if this this is really needed, but if you do want J2EE (and Java by association) to have mass appeal, we need a turnkey CMS system. Zero setup and free hosting.

Image credit.