Java Champion / JavaOne Rockstar Adam Bien ( is a self-employed consultant, lecturer, software architect, developer, and author in the enterprise Java sector. He is also the author of several books and articles on Java and Java EE technology, as well as distributed Java programming. adam has posted 59 posts at DZone. View Full User Profile

Your Application is *Not* Lightweight If

  • submit to reddit
  1. You already know what ThreadLocal is (and used that extensively)
  2. You see transaction management in the application code (an annotation, however is not perfect, but o.k.)
  3. You have to deal with EntityManagerFactory and EntityTransaction in your code
  4. Your XML-configuration doesn't fit on a single page any more
  5. Your solution cannot be handled without extensive tooling
  6. You spend some time for convincing other developers, that your solution is actually lightweight :-)
  7. You are in the process of replacing existing frameworks with your "lightweight" POJOs and hope the result will be easier, lighter and better maintainable
  8. You forgot the name and purpose of the layers
  9. The number of interfaces is equal or greater, than the number of classes, and you need naming conventions to deal with that
  10. The deployment size of your application archive (WAR) is greater, than the installation size of your "lightweight" server (like tomcat)
Published at DZone with permission of its author, adam bien.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)



Alessandro Santini replied on Thu, 2010/10/14 - 5:47am

Turns out that there are no lightweight applications :)

Dimitris Menounos replied on Thu, 2010/10/14 - 7:03am

Your Application is *Not* Lightweight If ... it requires a heavyweight JEE server platform to run.

Lightweightness is meant for runtime execution not source artifacts. You don't achieve that just by hidding obesity behind @nnotations.


Mladen Girazovski replied on Thu, 2010/10/14 - 8:32am

I think that the "lightweightness" has to be corelated to the application complexity, since i doubt that "lightweightness" could be measured without taking the complexity of the problems that are solved into account.

Peter Thomas replied on Thu, 2010/10/14 - 1:22pm

10.  The deployment size of your application archive (WAR) is greater, than the installation size of your "lightweight" server (like tomcat)

Interesting point. For those who are wondering, the so-called "embedded" Glassfish JAR weighs in at a whopping 42 MB.  And thats just the web profile.  Have a look:

You can imagine what a pleasant surprise it was when some 50MB got downloaded into my local Maven repository when I tried running a unit test.

 I guess the creator of this list was really struggling to make it a round 10 items - so that it looks more impressive.  Nice try, trying to turn application server bloat into a positive thing.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.