Application Server - to use or not to use?

We typically use WebLogic or JBoss to deploy our applications. I understand that when using open source solutions like Spring, you can build your application and run it on a simple servlet container like Jetty. So the question is, why even bother with the application server?

+6
java java-ee jetty application-server
source share
7 answers
  • Additional functions - for example, transactions, security integration, consolidation, hi-perf priority, clusters.
  • Performance (weblogic has a hot JVM)
  • operational and administrative interfaces.

for this ... I don't know?

In most cases, YAGNI .

+4
source share

No one was fired for using WebLogic or WebSphere in an enterprise environment. For large enterprises and managers, not only technological aspects are important. These application servers offer full-featured administrative consoles that are easy to use even from inexperienced administrators. Support services are also easier to find. An open source company should invest in experienced developers to get things done and maintained. Application servers are widely used in companies (for example, banks) that their enterprises have nothing to do with software. For them, it makes sense to buy everything (software license, installation / configuration, support services) from one supplier.

+3
source share

If you must ask, you cannot afford it.

Seriously, full-blown application servers have more features, and you have to decide if it's worth it, say, Tomcat or Jetty. I don’t think this is the right place to try to explain all the reasons, but one thing: application servers can simplify the transfer of functionality and services to transactions. Additional reasons are given here .

+2
source share

The clustering, disaster recovery, and session synchronization features of WebLogic and JBoss still make them useful in large data centers.

JBoss uses Tomcat as its web interface, of course, so it is neither / or.

I have seen people add OpenEJB and ActiveMQ to Tomcat and get all the features of the Java EE application server. The line is pretty blurry.

Spring DM server built on Tomcat. It will be interesting to know if it can begin to take in mind and market share from users of Java EE applications.

I like Spring - this is my preferred framework, but I can tell you that it comforts some people to know that Java EE is a standard implemented by several application server providers. If you do not use vendor-specific extensions, in theory your code could be ported from WebSphere to WebLogic to JBoss without change. Here are some major IT stores. They shy away from Spring because it is not a standard. This is the brainchild of Rod Johnson and his team. If you decide that you do not like their material, you have nowhere else to go.

There is a new standard Java IoC / DI. Rod Johnson and Bob Lee are working on this. Perhaps this will begin to calm some of the fears out there.

+1
source share

Some people like to support EJB (Java EE specification) "just in case"

0
source share

Several reasons, most of which may or may not apply to a specific need.

1) Support. Many enterprises like to have a support contract with the seller who developed the server. With open source, you are pretty much "on your own."

2) Full support for Java EE / EJB. Although I do not find this particularly useful myself, these features are widely used in commercial applications. If you need them, there is no alternative. If they don’t need you, it’s a waste.

3) Good administrative consoles. Tomcat has an admin console that allows you to add and remove applications. As far as I know, this applies to the extent possible. In WebSphere, this (although not very optimized), but you can also change the connection pool sizes, data sources, stream pool sizes, change the logging configuration (very high granularity), and activate memory and JVM profiling. Basically, without restarting the application server. Clustering is supposedly relatively easy to set up. Tomcat also lacks the ability to install the .EAR file, and if you have several related applications to install, it becomes a real pain to manage them.

You can do (at least) most of (3) in tomcat, but not through the admin GUI. Some people like to have a user-friendly graphical interface.

0
source share

Application Server is an architectural solution. You should use it if you intend to think about the various reusable modules of your application. If you do not mind that your services should be implemented through the HTTP stack, EJB should be your default option. With AS, you have an already packaged solution to address architectural excellence. You can use queues, themes, jms, etc., and these are all Java EE standards. But I think you should think about your application in this architectural style in order to judge the AS decision.

0
source share

All Articles