Application Servers, Web Servers, Frameworks...What am I doing?

I am playing around with JSP, so I installed Tomcat. I am seeing a lot of ads for IBM's WebSphere. I am also looking into ColdFusion, and on Adobe.com, they are promoting JRun. I decided to look up application servers and found a lot for Java, but some require Tomcat. I thought application servers did all the language-specific stuff and then the webserver would display website. If the application server did the execution of the scripts, why couldn't I use Apache or any webserver instead of one that could do JSP pages by itself?

I also found a lot of things that were frameworks. What's the difference between application servers and frameworks?

If I want to write JSP scripts, would something like JRun, WebSphere, GlassFIsh, or JBoss be a replacement for Tomcat, or do I not understand the purpose of an application server?

If I had a server that already had Apache and Tomcat installed, in order to run other languages, could I just install:
IgniteFusion - ColdFusion
Mono - .Net
Ruby - Ruby On Rails
WebWare - Python
CServer Pages - C++
ibanez11Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ECollinCommented:
hi,

let's start by the begining.

An application server hosts application (written in any language) and provide them infrastructure services, such as security, transactions, runtime environment, scalabilty...
A framework is generaly a collection of source codes (objects or not) uppon which you can build your own application. A frameworks genraly provides the main arhitecture of the application and many kind of low level services (security, logging, data access...)

Websphere, jrun, weblogic, tomcat are J2EE application servers. They rely on sun's J2EE specifications. Some of them implements all j2ee specifications, some of them not (ie tomcat)

In your information system, you could need a WEB SERVER that provides static contents such as html pages, images...
You could also need a server that provides dynamic content : APPLICATION SERVER

JSP are pages that mix html code and dynamic code (java). This dynamic code is executed by the application server in order to provide a response to the user (a new html page).

Is it a little bit clearer ?

Emmanuel

Emmanuel
0
ibanez11Author Commented:
So would WebSphere, JRun, or WebLogic combined with Apache do the same thing that Tomcat does? WebSphere, JRun, or WebLogic would handle the dynamic code, and Apache would send the html to the user?
0
ECollinCommented:


WebSphere and weblogic are full implementations of the J2EEspecification. Tomcat, is just a servlet container.
You're right, it is a common architecture to place a web server (ie apache) in front of application servers.
Apache serves static contents (html, images...)
Weblogic serves dynamic contents (jsp/servlet)

Emmanuel
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
elvistheprinceCommented:
Coldfusion is an application server that can run as a servlet on a J2EE server (websphere, JRun, etc.) - yes thats right an application server running on an application server or can run standalone (actually it runs an internal version of JRun and runs on that but you don't need to worry about that). Coldfusion takes CFML pages instead of JSP pages, many consider it easier to use whilst others dismiss it was a bit lite, as in most things there is no "best" just your personal preference.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Application Servers

From novice to tech pro — start learning today.