An enterprise application will contain enterprise beans(session/entity beans) and will run in a J2EE Container which provides transaction and security services to the beans and it will be named as .ear file. Whereas a web appliaction executes in a web-container like tomcat, contains servlets/jsps alone and named with an extension of .war.
SCJP1.4, SCBCD 1.3, SCWCD 1.4, SCEA 5, JLPT-N3
An Enterprise application runs in a Special container called enterprise container which have special features like JMS,Transaction etc. This containers can also handles web application. Eg : Bea Weblogic, IBM WebSphere, Oracle IAS, JBOSS etc.
Web application runs in web container. This containers won't have special fetaures like transaction, JMS etc.. Eg : Tomcat,JavaWebserver
Also from high level standpoint, enterprise application is usually divided into more than one tiers, not just 'one container' and 'browser'. The business services etc stuff lives in it's own container across more than one physical boxes potientially. The services that look up these business services could be deployed and running on seperate boxes. The whole infrastructure that keeps various tiers running is usually distributed all over the physical boxes.
A simple web application mainly has a server side container and thats pretty much it. JSP's HTMLs, Servlets, css everything packaged on a box is a typical small web-application. You could run this simple app on multiple boxes but still it can't be called enterprize app because logical architecture of the app still remains same - a server side container responding to browser requests. You could call backend database a 'tier' but still it doesn't have that largely distributed nature of services running under different tiers of the infrastructure.
Joined: Jul 16, 2005
You mean EJB container may be a distributed one ? Could you please elaborate this ?