An application server is a
server
Server may refer to:
Computing
*Server (computing), a computer program or a device that provides functionality for other programs or devices, called clients
Role
* Waiting staff, those who work at a restaurant or a bar attending customers and su ...
that hosts applications or
software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consists ...
that delivers a business application through a
communication protocol
A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any kind of variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer scien ...
.
An application
server framework is a service layer model. It includes
software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consists ...
components available to a
software developer
Software development is the process of conceiving, specifying, designing, Computer programming, programming, software documentation, documenting, software testing, testing, and Software bugs, bug fixing involved in creating and maintaining applic ...
through an application programming interface. An application server may have features such as clustering,
fail-over
Failover is switching to a redundant or standby computer server, system, hardware component or network upon the failure or abnormal termination of the previously active application, server, system, hardware component, or network in a computer net ...
, and
load-balancing. The goal is for developers to focus on the
business logic In computer software, business logic or domain logic is the part of the program that encodes the real-world business rules that determine how data can be created, stored, and changed. It is contrasted with the remainder of the software that might ...
.
Java application servers
Jakarta EE
Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web serv ...
(formerly Java EE or J2EE) defines the core set of API and features of
Java application servers.
The Jakarta EE infrastructure is partitioned into logical containers.
*EJB container:
Enterprise Beans are used to manage transactions. According to the
Java BluePrints Java BluePrints is Sun Microsystems' best practices for Enterprise Java development. This is Sun's official programming model for Java Platform, Enterprise Edition (Java EE) Software Development Kit (SDK). It began with Java Pet Store, the origin ...
, the
business logic In computer software, business logic or domain logic is the part of the program that encodes the real-world business rules that determine how data can be created, stored, and changed. It is contrasted with the remainder of the software that might ...
of an application resides in
Enterprise Beans—a modular server component providing many features, including declarative transaction management, and improving application
scalability
Scalability is the property of a system to handle a growing amount of work by adding resources to the system.
In an economic context, a scalable business model implies that a company can increase sales given increased resources. For example, a ...
.
*
Web container
A web container (also known as a servlet container;
and compare "webcontainer"
) is the component of a web server that interacts with Jakarta Servlets. A web container is responsible for managing the lifecycle of servlets, mapping a URL to a par ...
: the web modules include
Jakarta Servlet
A Jakarta Servlet (formerly Java Servlet) is a Java software component that extends the capabilities of a server. Although servlets can respond to many types of requests, they most commonly implement web containers for hosting web application ...
s and
Jakarta Server Pages
Jakarta Server Pages (JSP; formerly JavaServer Pages) is a collection of technologies that helps software developers create dynamically generated web pages based on HTML, XML, SOAP, or other document types. Released in 1999 by Sun Microsystems, J ...
(JSP).
* JCA container (
Jakarta Connectors
Jakarta Connectors (JCA; formerly Java EE Connector Architecture and J2EE Connector Architecture) is a Java programming language tool for connecting application servers and enterprise information systems (EIS) as part of enterprise application i ...
)
* JMS provider (
Jakarta Messaging
The Jakarta Messaging API (formerly Java Message Service or JMS API) is a Java application programming interface (API) for message-oriented middleware. It provides generic messaging models, able to handle the producer–consumer problem, that can ...
)
Commercial Java application servers have been dominated by
WebLogic Application Server
Oracle WebLogic Server is a Java EE application server currently developed by Oracle Corporation. Oracle acquired WebLogic Server when it purchased BEA Systems in 2008.
Application Server versions
* WebLogic Server 14c (14.1.1) - March 30, 2020 ...
by
Oracle
An oracle is a person or agency considered to provide wise and insightful counsel or prophetic predictions, most notably including precognition of the future, inspired by deities. As such, it is a form of divination.
Description
The word '' ...
,
WebSphere Application Server
WebSphere Application Server (WAS) is a software product that performs the role of a web application server. More specifically, it is a software framework and middleware that hosts Java-based web applications. It is the flagship product with ...
from
IBM and the open source
JBoss Enterprise Application Platform (JBoss EAP) by
Red Hat
Red Hat, Inc. is an American software company that provides open source software products to enterprises. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina, with other offices worldwide.
Red Hat has become ass ...
.
Microsoft
Microsoft's .NET positions their middle-tier applications and services infrastructure in the
Windows Server
Windows Server (formerly Windows NT Server) is a group of operating systems (OS) for servers that Microsoft has been developing since July 27, 1993. The first OS that was released for this platform was Windows NT 3.1 Advanced Server. With the r ...
operating system and the
.NET Framework
The .NET Framework (pronounced as "''dot net"'') is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until bein ...
technologies in the role of an application server. The Windows Application Server role includes Internet Information Services (IIS) to provide web server support, the .NET Framework to provide application support, ASP.NET to provide server side scripting, COM+ for application component communication, Message Queuing for multithreaded processing, and the Windows Communication Foundation (WCF) for application communication.
PHP application servers
PHP application servers run and manage
PHP
PHP is a general-purpose scripting language geared toward web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by The PHP Group ...
applications.
*
Zend Server
{{Infobox software
, title = Zend Server
, name = Zend Server
, logo =
, logo caption = Zend Server
, screenshot =
, caption =
, collapsible =
, author = Zend Technologies
, developer = Perforce
, released = 2009
, discontinued =
, ...
, built by
Zend
Zend or Zand ( pal, 𐭦𐭭𐭣) is a Zoroastrian technical term for exegetical glosses, paraphrases, commentaries and translations of the Avesta's texts. The term ''zand'' is a contraction of the Avestan language word ' (, meaning "interpretat ...
, provides application server functionality for the PHP-based applications.
*
appserver.io, built by TechDivision GmbH is a multithreaded application server for PHP written in PHP.
*
RoadRunner
The roadrunners (genus ''Geococcyx''), also known as chaparral birds or chaparral cocks, are two species of fast-running ground cuckoos with long tails and crests. They are found in the southwestern and south-central United States and Mexico, us ...
, built by Spiral Scout is a high-performance PHP application server, load-balancer, and process manager written in
Go.
Third-party
*
Mono
Mono may refer to:
Common meanings
* Infectious mononucleosis, "the kissing disease"
* Monaural, monophonic sound reproduction, often shortened to mono
* Mono-, a numerical prefix representing anything single
Music Performers
* Mono (Japanese b ...
(a cross platform open-source implementation of .NET supporting nearly all its features, with the exception of Windows OS-specific features), sponsored by
Microsoft
Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
and released under the
MIT License
The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license comp ...
Mobile application servers
Mobile application servers provide data delivery to mobile devices.
Mobile features
Core capabilities of mobile application services include
* Data routing– data is packaged in smaller (
REST
Rest or REST may refer to:
Relief from activity
* Sleep
** Bed rest
* Kneeling
* Lying (position)
* Sitting
* Squatting position
Structural support
* Structural support
** Rest (cue sports)
** Armrest
** Headrest
** Footrest
Arts and entert ...
) objects with some business logic to minimize demands on bandwidth and battery
* Orchestration– transactions and data integration across multiple sources
* Authentication service– secure connectivity to back-end systems is managed by the mobile middleware
*
Off-line
In computer technology and telecommunications, online indicates a state of connectivity and offline indicates a disconnected state. In modern terminology, this usually refers to an Internet connection, but (especially when expressed "on line" or ...
support– allows users to access and use data even though the device is not connected
* Security– data encryption, device control, SSL, call logging
Mobile challenges
Although most standards-based
infrastructure
Infrastructure is the set of facilities and systems that serve a country, city, or other area, and encompasses the services and facilities necessary for its economy, households and firms to function. Infrastructure is composed of public and priv ...
(including
SOAs) are designed to connect to any independent of any vendor, product or technology, most enterprises have trouble connecting back-end systems to mobile applications, because mobile devices add the following technological challenges:
* Limited resources – mobile devices have limited power and bandwidth
* Intermittent connectivity – cellular service and wifi coverage is often not continuous
* Difficult to secure
– mobility and
BYOD
Bring your own device (BYOD )—also called bring your own technology (BYOT), bring your own phone (BYOP), and bring your own personal computer (BYOPC)—refers to being allowed to use one's personally owned device, rather than being required to u ...
practices make it hard to secure mobile devices
Deployment models
An application server can be deployed:
*
On premises
On-premises software (abbreviated to on-prem, and incorrectly referred to as on-premise) is installed and runs on computers on the premises of the person or organization using the software, rather than at a remote facility such as a server farm ...
*
Cloud
In meteorology, a cloud is an aerosol consisting of a visible mass of miniature liquid droplets, frozen crystals, or other particles suspended in the atmosphere of a planetary body or similar space. Water or various other chemicals may co ...
* Private cloud
*
Platform as a service
Platform as a service (PaaS) or application platform as a service (aPaaS) or platform-based service is a category of cloud computing services that allows customers to provision, instantiate, run, and manage a modular bundle comprising a computin ...
(PaaS)
See also
*
Application service provider
An application service provider (ASP) is a business providing application software generally through the Web.
The ASP model
The application software resides on the vendor's system and is accessed by users through a communication protocol. Altern ...
*
List of application servers
This list compares the features and functionality of application servers, grouped by the hosting environment that is offered by that particular application server.
BASIC
* Run BASIC - An all-in-one BASIC scriptable application server, can auto ...
References
{{DEFAULTSORT:Application Server
Servers (computing)
Software architecture