A common question students ask me is what’s the difference between a Java Application server and a Java EE Application server? Actually the question usually goes a bit further to include a HTTP (HyperText Transport Protocol) Server as well. Seeing as how the application server is a central player in running your projects, the question isn’t trivial.
A HTTP Server:
Client requests to a HTTP Server create a server response, usually in the form of an HTML (HyperText Markup Language) document or dynamic content through CGI (Common Gateway Interface) programs. The most popular HTTP Server is Apache, an open source Web server. The first version of Apache was developed in 1995. A distant second place in popularity is Microsoft’s IIS.
Java Application Server:
These servers are focused on Java technologies for dynamic content rather than CGI. They provide a web container capable of executing JSP (JavaServer Pages) and Servlets, a subset of the Java EE specification. They do have some HTTP Server capabilities as well, but they are usually not strong enough to meet the needs of a large, complex web site. It is common to front a Java Application Server with a HTTP Server to capitalize on the best of both worlds. The most popular Java Application Server is Tomcat from the Apache Software Foundation. Described as a "reference implementation" of the Java Servlet and the JSP specifications, Tomcat is the result of an open collaboration of developers and is available from the Apache Web site in both binary and source versions. Tomcat requires a Java Runtime Environment that conforms to JRE 1.1 or later.
Java EE Application Server:
Enterprise servers provide everything Java Application Servers do and a lot more. Java EE includes several API specifications, such as JDBC, RMI, e-mail, JMS, web services, XML, etc., and defines how to coordinate them. Java EE also features some specifications unique to Java EE components. These include Enterprise JavaBeans (EJB), Connectors, servlets, portlets, JavaServer Pages and several Web Service technologies. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. A Java EE Application Server can handle transactions, security, scalability, concurrency and management of the components that are deployed to it.
JBoss is the most popular Java EE Application Server. It is a Red Hat, open source project supporting the JBoss Enterprise Middleware Suite (JEMS) brand. It is an alternative to commercial offerings from IBM WebSphere, Oracle BEA Services, and SAP NetWeaver. Like Tomcat, JBoss is often fronted by Apache to support clustering and cash in on its Web Server power.





Hi,
Just stumbled upon your blog. Wow, exactly what I was looking for. Thanks for the clear and informative posts! (you are so bookmarked right now
)
Will you by any chance cover interaction with a mysql database using JDBC later?
Chrz,
Nik
July 1st, 2010 at 2:34 am
Thanks for your comments. Your suggestion for an article on the JDBC and MySQL is terrific. I’ll get to work on it.
July 2nd, 2010 at 8:11 pm