Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

difference between the various web related technologies?

Tags:

java

jsp

heya! i always wondered what was the difference between a web container, web server, servlet container, application server, web framework, web platform, etc. these terms have always confused me. searching on google has led to some answers, but sometimes, information online is quite conflicting.

as per my understanding, an application server is a complex thing which includes a web server AND more things like business logic support, EJB. web server only deals with simple http. web container is a web server and provides servlet/JSP support. am i right? could somebody please shed some light on these technologies. perhaps some references and comparisons would be greatly appreciated. im aware that similar questions might've been asked- but theyve either not been answered properly, or have conflicting answers, or do not compare all the techonolgies asked above. thanks in advance!

like image 685
OckhamsRazor Avatar asked Jan 05 '11 05:01

OckhamsRazor


1 Answers

Maybe you're just showing your frustration at the lack of common terminology in the tech industry, but here's my stab at it:

web container - This is probably the same as application server below, but specifically for web applications.

web server - i.e. Apache, IIS, etc. Serves content over the web. Can also be used to refer to the hardware that serves content over the web. i.e. 'I can get to the database but the web server won't respond to my ping'.

servlet container - i.e. Tomcat, Jetty, Weblogic, etc. This is a Java specific term. It refers to something that implements the java servlet specification.

application server - i.e. Weblogic, Websphere, Tomcat etc. Somewhere where you deploy your applications (war/ear files in java land). Servlet containers are a type of application server. Application servers may also do other things like handle messaging. The application server acts as a layer in between your application and the environment around it.

web framework - A framework/library that you use to write web applications more easily. You can write bare servlets if you want, but frameworks like struts/tapestry/wicket/etc will probably make it easier. Some frameworks may target a particular application server.

web platform - I would define this as a type of web framework that comes with an application server - i.e. everything comes in the one box. You could also use this term to refer to things like content management systems that let you build web sites - i.e. Drupal

like image 100
Pat L Avatar answered Oct 21 '22 04:10

Pat L