An application server is a modern form of platform middleware. It is system software that resides between the operating system on one side, and the external resources - such as DBMS, communications and Internet services - on another side, and the users' applications on a third side.
At runtime, the application server is to act as host (or container) for the user's business logic while facilitating access and performance of the business application. The application server must perform despite the variable and competing traffic of client requests, hardware and software failures, the distributed nature of the larger-scale applications, and potential heterogeneity of the data and processing resources required to fulfill the business requirements of the applications.
The following classifications apply to standalone applications servers, not application servers that are included with a multi-tier COTS product.