Do we need an Application Server?

July 2 2008No Commented

Categorized Under: Java, Software Engineer

It is long time ago when I develop the enterprise web application on one true application server (it is Oracle Application Server). Several days ago, when my subordinate ask me "Why we do not develop our application on some application server like Jboss, Websphere etc but only Tomcat servlet container?'. I do not answer this question immediately but ask him "Why do we need an Application Server?'. We do not develop our application base on EJB, Java Server Faces. We only need the Servlet Container to run our application, that is the main reason that we do not use one application server. Actually, except from the specific request from our clients, we do not have further plan of developing our projects base on any application server. Why we need to use an big application that integrates all stubs in one package, open in many ports and lot of configuration settings (some of them are not documented), and most important is many of them we do not use it. Instead of using one application server, you can use one servlet container and integrate components if needed. Let see what we can do with serlvet container (Tomcat, Jetty) compares with one application server:

  • We do not need to use EJB 3, instead that we use Spring as our IoC and it manages POJO beans. Hibernate is the good choice for replacing CMP bean. We can have many options to integrate Spring with ORM frameworks like JPA, Hibernate and IBatis, not stick into EJB so far!
  • Instead of using Java Server Faces, we can use the better choices like Wicket, Grails, Spring MVC. Even we would like to use JSF, we can integrate it in servlet container easily.
  • Clustering is supported in Tomcat, Jetty. One servlet container can gain the good performance against the argument from wrong thinking that it is only used for testing purpose or low performance, even some guys think that the free product can not gain the high quality than the commercial one.
  • Naming resources also be supported. You can configure the datasource, mail server etc easily too.
  • Many libraries, companies provide the way to integrate with one servlet container. You need an repository, use jackrabbit and integrate it to your container. You need a messaging system, use activemq and integrate them with your container. Even in case you do not need to integrate them with your container, you can deploy as the standalone service. You are not forced to use the given services are provided by application server.

I prefer to have the simple container that host the very necessary services that I need, not the one bundles all things that serve for general purposes. With one serlvet container, if needed we can integrate with other libraries, components manually and we can choose the best ones suitable for our application. So, it is the reason that we only use servlet container (not the application server like JBoss, Glashfish) while our application not only use serlvet but also messaging system (activemq), osgi (spring dynamic modules) etc

Subscribe

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • blinkbits
  • BlinkList
  • blogmarks
  • BlogMemes
  • BlogMemes Cn
  • BlogMemes Fr
  • BlogMemes Jp
  • BlogMemes Sp
  • Blogosphere News
  • Blogsvine
  • blogtercimlap
  • Book.mark.hu
  • Bumpzee
  • co.mments
  • connotea
  • De.lirio.us
  • Design Float
  • DotNetKicks
  • DZone
  • eKudos
  • email
  • Fark
  • Faves
  • feedmelinks
  • Fleck
  • Furl
  • GeenRedactie
  • Global Grind
  • Gwar
  • Haohao
  • HealthRanker
  • Hemidemi
  • Identi.ca
  • IndianPad
  • Internetmedia
  • kick.ie
  • Kirtsy
  • laaik.it
  • Leonaut
  • LinkaGoGo
  • LinkArena
  • LinkedIn
  • Linkter
  • Live
  • Ma.gnolia
  • Meneame
  • MisterWong
  • MisterWong.DE
  • muti
  • MyShare
  • MySpace
  • N4G
  • Netvibes
  • Netvouz
  • NewsVine
  • NuJIJ
  • Ping.fm
  • PlugIM
  • Pownce
  • ppnow
  • Print
  • Propeller
  • Ratimarks
  • Rec6
  • Reddit
  • SalesMarks
  • Scoopeo
  • scuttle
  • Segnalo
  • Shadows
  • Simpy
  • Slashdot
  • Smarking
  • Socialogs
  • SphereIt
  • Spurl
  • StumbleUpon
  • Symbaloo
  • Taggly
  • TailRank
  • Technorati
  • ThisNext
  • Tipd
  • Tumblr
  • TwitThis
  • Upnews
  • Webnews.de
  • Webride
  • Wikio
  • Wikio FR
  • Wikio IT
  • Wists
  • Wykop
  • Xerpi
  • Yahoo! Buzz
  • YahooMyWeb
  • Yigg

Leave a Reply