With an application server, the developer should spend time creating business logic (which provides added value) instead of infrastructure code (for example, transaction management, configuration, security, etc.). So for me, the main argument is that using an application server should improve performance .
Unfortunately, the learning curve until you can deploy this performance boost for quite some time. In the worst case, improper use of application server functions can even lead to loss of performance.
Also a common problem with any approach that raises the level of abstraction (the same as MDA, etc.) is that when something goes wrong, itโs harder to figure out how to fix or work around the problem. On the other hand, if you do everything yourself at a lower level of abstraction, you know how easy it is to fix the problem, but you reinvent the wheel again and again.
This is a high-level view of the application server concept. For more information on the technical specifications of Java EE application servers, see the Java EE documentation or the link in the 1st comment to your question.
source share