Difference Between JBoss and Tomcat

Some common terms used in web development are a web server, servlet container, and application server. A web server uses Hyper Text Transfer Protocol (HTTP) to provide web pages to users according to the requests. It gives static HTML pages to the browser. Some examples of web servers are Apache and Internet Information Services (IIS) by Microsoft. They can create dynamic content using plugins. IIS can use .NET framework for server-side programming in Active Server Pages (ASP). Java is a major programming language for server-side programming. A servlet container is a component that interacts with Java servlets which can manage the lifecycle of servlets. It can also handle Java Server Pages (JSP). Application Servers provide services to the server-side programming languages based applications. JBoss is an application server. This article discusses the difference between JBoss and Tomcat. The key difference between JBoss and Tomcat is that JBoss is an application server whereas Tomcat is a servlet container and a web server.

CONTENTS

1. Overview and Key Difference
2. What is JBoss
3. What is Tomcat
4. Similarities Between JBoss and Tomcat
5. Side by Side Comparison – JBoss vs Tomcat in Tabular Form
6. Summary

What is JBoss?

Application servers provide services such as transactions, security, dependency injection and concurrency for the applications. Developers can focus on the business logic rather than concentrating on the services. They can configure the services using the information provided by the application server.

Figure 01: JBoss

In Java Enterprise Edition, application servers can further have logically divided into a servlet container, application client container, and EJB container. Application Client container provides dependency injection and security. EJB container can run EJB lifecycle and is capable of handling transactions. JBoss is an Application Server. It was formally known as WildFly. Other application servers are WebLogic, WebSphere. JBoss application server provides complete Java enterprise edition (Java EE) stack including Enterprise JavaBeans (EJB) and many other technologies.

What is Tomcat?

Tomcat is an open source web server and a servlet container. Apache Software Foundation developed it. It can run servlets and Java Server Pages (JSP). It provides a pure Java web server environment to run Java applications. Apache Tomcat includes tools for configuration and management. Direct configurations can be done by editing XML configuration files.

Apache Tomcat is a cross-platform software, so it runs on various operating systems. The software has been improved with some features. It provides garbage collection, scalability and JSP parsing. Initially, Apache Tomcat was started as a servlet reference implementation by James Davidson at Sun Micro Systems. He later made the project open source by giving it to Apache Software Foundation. Apache Ant software is a software improved while making the Apache Tomcat an open source project. It is a tool for automating the build process.

Figure 02: Tomcat

Tomcat has a limited capacity than an application server like JBoss. It does not support EJB and JMS. Tomcat contains some components. Tomcat 4 has Catalina, which is a servlet container, Coyote, which is an HTTP connector, and Jasper, which is a JSP engine. Coyote listens the incoming connections on a specific TCP port and forwards the request to the Tomcat engine. Tomcat engine processes the request and sends it back to the requested client. Jaspera parses JSP files. It compiles them to Java code. The compiled Java code is handled by Catalina (servlet container).

What are the Similarities Between JBoss and Tomcat?

  • Both are capable of developing Java EE applications.
  • Both are open sources and cross-platforms.

What is the Difference Between JBoss and Tomcat?

JBoss vs Tomcat

JBoss is an open source Java EE-based application server used to build, deploy, and host Java applications and services. Tomcat is a Java servlet container and web server from Apache Software Foundation.
 Developer
Red Hat developed JBoss. Apache Tomcat Software Foundation developed Tomcat.
Applications
JBoss can handle servlets, JSP and EJB, JMS. Tomcat can handle servlets and JSP.
 Specifications
JBoss uses Java EE specification. Tomcat uses Sun Microsystems specifications.

Summary – JBoss vs Tomcat 

Web server, application server and servlet container are some terms used in web application development. JBoss and Tomcat are used for building, deploying Java applications. The difference between JBoss and Tomcat is that JBoss is an application server and Tomcat is a servlet container and a web server. They can be used according to the required application. Tomcat is lightweight and does not support EJB and JMS, and JBoss is a full stack of Java EE.

Download the PDF JBoss vs Tomcat

You can download PDF version of this article and use it for offline purposes as per citation note. Please download PDF version here Difference Between JBoss and Tomcat

Reference:

1.HandsonERP, ‘Apache Tomcat Components’, YouTube, YouTube, 22 Feb. 2014. Available here 
2.“JBoss Enterprise Application Platform.” Wikipedia, Wikimedia Foundation, 14 Dec. 2017. Available here 
3.“Apache Tomcat.” Wikipedia, Wikimedia Foundation, 31 Dec. 2017. Available here 

Image Courtesy:

1.’JBoss logo’By Marsupilami at German Wikipedia (Public Domain) via Commons Wikimedia
2.’Tomcat’By RRZEicons – Own work, (CC BY-SA 3.0) via Commons Wikimedia