简体   繁体   中英

What is the reason that the tomcat is not an application server

I know that Tomcat is a web server but why it is not an application server?

Any server needs to follow some specification. What is that spec?

Is it possible for apache to make the tomcat application server?

Also I have read in a blog that the tomcat do not have some lib to act as an application server. What are those libs?

Thanks

I've heard once the following explanation I tend to agree with:

There is a spec of JEE (Java enterprise edition).

Formally you can think about it as a bunch of pdf-s describing the behavior of various technologies that comprise the JEE stack (for example: JMS, EJB, JPA, JPA, JSF, CDI and so on and so forth) as well as deployment models (EARs for example).

Implementors of Application servers have to implement all those technologies and offer interfaces that can be used by the application developers. So teams that stand behind WildFly (former JBoss), Geronimo, WebSphere, WebLogic and so on have read these specs and implemented everything in there.

Now, Tomcat didn't do that, they've only concentrated on (primarily) Servlets/JSPs. These are web technologies, so Tomcat can't be considered as an Application server that implements the whole JEE stack.

In general Tomcat (as well as Jetty, incidentally) should be more lightweight than full JEE compliant Application servers, it should start-up faster and it memory footprint should be smaller. So Tomcat/Jetty call themselves web servers.

I understand that this answer can be considered as speculation, but for me it makes a lot of sense.

Bellow is my perceive:

know that Tomcat is a web server but why it is not an application server?

Here, Application Server is specially for Java EE ServerJava EE is a huge specific collections for Enterprice Application Development ,So Application Server should implement most specifics of these, while Tomcat (or Jetty ) is only a Web Server (More accurately, Servlet Container ),they only implements the specific about Web (such as Servlet Spec (JSR340), JSP (JSR245)). Therefore, Application Server is stronger than Web Server ,but Web Server is more lightweight and enough to satisfy most web applications.

Any server needs to follow some specification. What is that spec?

Of course,it depends on that your Server want to provide what services(functions) ,these specifications can view here .

Is it possible for apache to make the tomcat application server?

I don't think apache will make tomcat to be an application server. Now, there are some popular Java EE Server : JbossWebLogic , etc. Not all enterprices need a heavyweight Application Server , on the contrary, most only need a lightweight Web Server

Also I have read in a blog that the tomcat do not have some lib to act as an application server. What are those libs?

Tomcat only need care the specs about Web ,and implements them.

Hope for your help.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM