An application server or server application development is a software framework that provides both facilities to create web applications and a server environment to run them.
Application Server Frameworks contain a comprehensive service layer model. An application server acts as a set of components accessible to the software developer through a standard API defined for the platform itself. For Web applications, these components are usually performed in the same running environment as their web server(s), and their main job is to support the construction of dynamic pages. However, many application servers target much more than just Web page generation: they implement services like clustering, fail-over, and load-balancing, so developers can focus on implementing the business logic.
In the case of Java application servers, the server behaves like an extended virtual machine for running applications, transparently handling connections to the database on one side, and, often, connections to the Web client on the other.
Other uses of the term may refer to the services that a server makes available or the computer hardware on which the services run. The term was originally used when discussing early client-server systems to differentiate servers that contain application logic SQL services and middleware servers as distinct from other types of data servers.
To simplify this, application servers are system software upon which web applications or desktop applications run. Application servers consist of web server connectors, computer programming languages, runtime libraries, database connectors, and the administration code needed to deploy, configure, manage, and connect these components on a web host. An application server runs behind a web Server (e.g. Apache or Microsoft Internet Information Services (IIS)) and (almost always) in front of an SQL database (e.g. PostgreSQL, MySQL, or Oracle). Web applications are computer code that runs atop application servers and are written in the language(s) the application server supports and call the runtime libraries and components the application server offers.
Many application servers exist. The choice impacts the cost, performance, reliability, scalability, and maintainability of a web application.