Solved

Application server instead of webserver

Posted on 2014-03-26
8
430 Views
Last Modified: 2014-04-17
Hi,

I was readign as below

Web Server

Web server contains only web or servlet container. It can be used for servlet, jsp, struts, jsf etc. It can't be used for EJB.

Example of Web Servers are: Apache Tomcat and Resin.
Application Server

Application server contains Web and EJB containers. It can be used for servlet, jsp, struts, jsf, ejb etc.

Example of Application Servers are:

    JBoss Open-source server from JBoss community.
    Glassfish provided by Sun Microsystem. Now acquired by Oracle.
    Weblogic provided by Oracle. It more secured.
    Websphere provided by IBM.

My question is if we use Application server itself that supports EJBs and Servlets etc right. Then what is the need of web server when application server is bundled to do everything.

Please advise
Any links resources ideas highly appreciated. Thanks in advance
0
Comment
Question by:gudii9
8 Comments
 
LVL 36

Assisted Solution

by:Loganathan Natarajan
Loganathan Natarajan earned 100 total points
ID: 39956582
Application server is for large / enterprise level application development. Web server is for small / medium level development and use.
0
 
LVL 34

Expert Comment

by:Gary Patterson
ID: 39956705
If you have an AS, then you don't need a WS.  WS is for when you don't need a full AS.
0
 
LVL 13

Assisted Solution

by:Alexander Eßer [Alex140181]
Alexander Eßer [Alex140181] earned 50 total points
ID: 39958491
Application server is for large / enterprise level application development. Web server is for small / medium level development and use.
If you have an AS, then you don't need a WS.  WS is for when you don't need a full AS.

These 2 statements are not (fully) true! Guys, where do you get this "weird" information from?!

http://www.javaworld.com/article/2077354/learn-java/app-server-web-server-what-s-the-difference.html

...The primary function of a web server is to deliver web pages to clients...
http://en.wikipedia.org/wiki/Web_server
0
 
LVL 12

Assisted Solution

by:Sharon Seth
Sharon Seth earned 50 total points
ID: 39958968
An AS can as well act as a WS ,but if all you need is a servlet serving webpages over the internet, then you SHOULD just use a web server . AS is bundled with more functinality than a WS , so there will be a huge difference in terms of startup time , processing time , space complexity , and not to mention licensing cost
0
Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

 
LVL 34

Accepted Solution

by:
Gary Patterson earned 300 total points
ID: 39959540
@Alexander:  

In the conversation above, the poster is using the term "Web Server" to refer to Tomcat and Resin - clearly meaning "less than full AS" and not "HTTP server" by the term.

The terminology is confusing - especially to someone like you who either didn't bother to read the original question, or didn't understand it very well.

So let's clarify:

A "Web Server" is a generic term, and can apply to any server that responds to requests over the web - and that usually means HTTP and HTTPS, but can also include supporting protocols like FTP, streaming audio/video, messaging, etc.  As a result, it includes a huge array of different types of server software, including HTTP servers, Servlet Containers (SC), Web Profile J2EE AS, full J2EE AS, and more.

To make things confusing, sometimes the term "Web Server" to mean "HTTP Server".  Usually if someone is distinguishing between two servers calling one the "Web Server" and the other the "Application Server", "Web Server" means "HTTP Server".

Anyway, you have to determine what "Web Server" means by context.  

It is a bad term to use in this conversation, I think, because it is not specific enough.

So, let's define our terms a little better.

HTTP Server

For this discussion, let's use the the term "HTTP Server" for "pure" web servers like Apache that focus on the HTTP/HTTPS protocols.  Main job is to serve up static content, and may also redirect requests for non-static content to a SC or AS of some sort.

Servlet Container

Next step up the web server ladder is a Servlet Container (Apache Tomcat, Jetty) - which is an HTTP server in it's own right (though not as sophisticated as a dedicated HTTP server like Apache HTTP server), plus a couple of key capabilities out of the J2EE stack:  JSP and Java servlet container.  A SC is generally used as an extension to an HTTP Server to add JSP and servlet capabilities, though it can be used on its own without a dedicated HTTP Server.

Java EE Web Profile Application Server

Next in order of increasing capabilities, are Java EE Web Profile Application Servers like Resin.  A Web Profile AS provides more J2EE functions than a Servlet Container, but less than the full J2EE stack.  Lots of Application Servers have a Web Profile mode:

http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html

Java EE Full Profile Application Server

Then we get up to full-blown "J2EE Full Profile Application Servers", like Glassfish,  WebSphere, etc.  These web servers provide HTTP serving, servlets, JSP, and the rest of the full J2EE stack.

So basically, this is a matter of "increasing, inclusive functionality".  

The full J2EE stack requires quite a bit of resources to support, so if you don't need the full stack, you can select a lesser stack that has the parts you need:  Web Profile or Servlet Container.  

If you don't need Java at all, then you can just step down to an HTTP server.

Understand, too that HTTP servers like Apache HTTP Server offer some sophisticated functions that may be harder to implement in a SC or an AS, so it is very common to see an HTTP server working in conjunction with Tomcat or an AS.  HTTP servers can also be used to offload routine tasks like serving static content to reduce demand on the larger and more expensive hardware required for an AS.  

- Gary Patterson
0
 
LVL 13

Expert Comment

by:Alexander Eßer [Alex140181]
ID: 39960041
The terminology is confusing - especially to someone like you who either didn't bother to read the original question, or didn't understand it very well.
No need to be so rude! And yes, I read the question!

Nice explanation btw, good work!

Kind regards,
Alex
0
 
LVL 34

Expert Comment

by:Gary Patterson
ID: 39960234
@Alex:  It seemed apparent from your response - you, know, the one where where you  contradicted my perfectly correct (in context) response - that you either didn't read the original question, or didn't understand the context the OP was using for the term "web server".  

"These 2 statements are not (fully) true! Guys, where do you get this "weird" information from?!"


If you want to correct a material error in something I post, please, I encourage you to do so.  And if you want to provide additional information, an alternate explanation, agree, disagree, fantastic.  I do that all the time.  

But instead of offering useful first-hand information, or perhaps an article that explains the differences between HTTP server, Servlet Container, Web Profile AS, and full profile AS, you instead chose to contradict me, and then just posted a link to a JavaWorld article that gives only one of the possible definitions for the term "web server", and then posted a wikipedia article that gives a different, broader definition!

How in the world is that useful to someone who is struggling to understand a rather complex topic?

And if you don't want a sharp reply, you might want to do it without characterizations like "weird".  I for one, don't appreciate it, and that's why you got a little jab in my response to your comment.
0
 
LVL 13

Expert Comment

by:Alexander Eßer [Alex140181]
ID: 39960281
No further questions, Your Honor.
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

This was posted to the Netbeans forum a Feb, 2010 and I also sent it to Verisign. Who didn't help much in my struggles to get my application signed. ------------------------- Start The idea here is to target your cell phones with the correct…
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
This tutorial will introduce the viewer to VisualVM for the Java platform application. This video explains an example program and covers the Overview, Monitor, and Heap Dump tabs.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now