A Reason to Hate Enterprise Java
Today, while going through my morning ritual of scanning my RSS feeds, I came across this little gem.These are the kinds of pictures that a software architect or Java evangelist might get giddy over. Now imagine a development team that needs to, e.g., expose an API as a RESTful service, or create a web site for end users to view their account, or perhaps act as “glue” between two in-house business systems. To an upper-level manager, such as a VP of Software Engineering, a picture like this would tell me:
- This is powerful stuff, and it will support all of my current and future needs.
- I probably need to pay an outside firm or consultant to explain all of this to my team.
This is undoubtedly the goal of the document. After all, it’s the upper-level managers who get to make the final call on which technology to use. However, as a software developer, I don’t want or need an entire “ecosystem” to support my little RESTful service or client self-service web application. I want the best tool for the job, and that might be a far simpler, lightweight, specialized solution.
Granted, my ideal small solution is somewhere in this mess (sort of - this thing doesn’t even get into frameworks). My small application probably involves dragging a bunch of other components along to make it all work; a web site won’t work without JSP, which needs a Servlet Container, which probably accesses a database and needs JPA. Why should I need to care?
I guess my little rant is about a difference in perceived needs. In my world, many development shops are in need of small, isolated web applications and/or web services that access a database. There’s a form of security around it, but it’s basically all about getting and/or updating data from a database somewhere, either as a pretty web site or in some data stream (XML, JSON, CSV, whatever) to be picked up by another service and consumed. Java wants to be all things to all people, from end-user applications on mobile devices to enterprise service busses to web pages and web services. I’m finding that Java’s myriad “solutions” are less and less relevant to me.
The only thing that binds these disparate products together is the language itself. Java-the-language is okay, I guess, but it’s not a compelling enough reason to choose this “Technology Concept Map.” Conceptually, a mobile application is a very different thing than a web application. Knowing the language doesn’t make my skills transferable if my company decides to get out of the RESTful financial services business, and start making dating applications for mobile phones. So if my VP of Software Engineering is choosing Java based on the probability that it will meet all of our future needs, then she or he is choosing it for the wrong reasons.
I know that I’m showing up late to the Java-bashing fest, and I’m far from the first person to raise these gripes. I’m firmly invested, professionally, in Java technology now - I have no intentions of abandoning it any time soon. But I’m really looking forward to learning some alternatives for building web services and applications.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)






Comments
Jeroen Wenting replied on Thu, 2009/02/19 - 4:10am
Is there no originality let in the world? The Java haters are starting to sound surprisingly like the Bush haters, immature, poorly informed, bigotous, and spouting the same nonsense over and over again just to be seen as "being part of the group".
Steven Baker replied on Thu, 2009/02/19 - 4:18am
why are you even considering java if all you want to do is basic crud apps?
Thomas Mueller replied on Thu, 2009/02/19 - 4:33am
> Bush haters
I hope nobody response to this flamebait... Oh no I did... :-)
> he doesn't have to use the entire stack
I agree.
Nicolas Labrot replied on Thu, 2009/02/19 - 5:45am
You can do the same exercice with Windows or Linux.
It doesn't mean that you must know all the stack....
John O'Hanley replied on Thu, 2009/02/19 - 6:40am
The WEB4J tool (web4j.com) was made to address the problem you speak of. It's purported niche is building a simple HTML front end to a relational db. You might find it useful.
As well, its author is going to open source it in a few days....
Jason Kilgrow replied on Thu, 2009/02/19 - 10:11am
Mark Unknown replied on Thu, 2009/02/19 - 9:00pm
Riyad Kalla replied on Fri, 2009/02/20 - 12:34am
in response to:
Jason Kilgrow
Faisal Aziz replied on Fri, 2009/02/20 - 5:27am
Very old rant. May be 6-7 years old.
Rodrigo Asensio replied on Tue, 2009/02/24 - 8:50am
in response to:
Steven Baker
Andy Leung replied on Wed, 2009/02/25 - 8:18am
in response to:
Jason Kilgrow
john green green replied on Fri, 2009/10/23 - 2:07am