An application server is a
server
Server may refer to:
Computing
*Server (computing), a computer program or a device that provides requested information for other programs or devices, called clients.
Role
* Waiting staff, those who work at a restaurant or a bar attending custome ...
that hosts applications or
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
that delivers a
business application
Business software (or a business application) is any software or set of computer programs used by business users to perform various business functions. These business applications are used to increase productivity, measure productivity, and per ...
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 variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer science), sem ...
. For a typical
web application
A web application (or web app) is application software that is created with web technologies and runs via a web browser. Web applications emerged during the late 1990s and allowed for the server to dynamically build a response to the request, ...
, the application server sits behind the
web servers
A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initiates ...
.
An application
server framework is a service layer model. It includes
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
components available to a
software developer
Software development is the process of designing and Implementation, implementing a software solution to Computer user satisfaction, satisfy a User (computing), user. The process is more encompassing than Computer programming, programming, wri ...
through an
application programming interface
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
. 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 ne ...
, 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 origina ...
, 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. One definition for software systems specifies that this may be done by adding resources to the system.
In an economic context, a scalable business model implies that ...
.
*
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 pa ...
: 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 applicat ...
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 known as Java EE Connector Architecture and J2EE Connector Architecture) are a set of Java programming language tools designed for connecting application servers and enterprise information systems (EIS) as a part ...
)
* 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 ...
)
Microsoft
Microsoft's .NET positions their middle-tier applications and services infrastructure in the
Windows Server
Windows Server (formerly Windows NT Server) is a brand name for Server (computing), server-oriented releases of the Windows NT operating system (OS) that have been developed by Microsoft since 1993. The first release under this brand name i ...
operating system and the
.NET Framework technologies in the role of an application server. The Windows Application Server role includes
Internet Information Services
Microsoft IIS (Internet Information Services, IIS, 2S) is an extensible web server created by Microsoft for use with the Windows NT family. IIS supports HTTP, HTTP/2, HTTP/3, HTTPS, FTP, FTPS, SMTP and NNTP. It has been an integral part o ...
(IIS) to provide web server support, the .NET Framework to provide application support,
ASP.NET
ASP.NET is a server-side web-application framework designed for web development to produce dynamic web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, applications and services. The name stands for Ac ...
to provide
server side scripting, COM+ for application component communication, Message Queuing for multithreaded processing, and the
Windows Communication Foundation
The Windows Communication Foundation (WCF), previously known as Indigo, is a free and open-source runtime and a set of APIs in the .NET Framework for building connected, service-oriented applications.
.NET Core 1.0, released 2016, did not s ...
(WCF) for application communication.
PHP application servers
PHP application servers run and manage
PHP
PHP is a general-purpose scripting language geared towards 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 () is a Zoroastrian term for Middle Persian or Pahlavi versions and commentaries of Avestan texts. These translations were produced in the late Sasanian period.
''Zand'' glosses and commentaries exist in several languages, including ...
, provides application server functionality for the PHP-based applications.
*
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, Mexico and C ...
, 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:
Biology
* Infectious mononucleosis, "the kissing disease"
* Monocyte, a type of leukocyte (white blood cell)
* Monodactylidae, members of which are referred to as monos
Technology and computing
* Mono (audio), single-c ...
(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 corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
and released under the
MIT License
The MIT License is a permissive software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts very few restrictions on reuse and therefore has high license compatibility.
Unl ...
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 (Representational State Transfer) is a software architectural style that was created to describe the design and guide the development of the architecture for the World Wide Web. REST defines a set of constraints for how the architecture of ...
) 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 as "on lin ...
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 pri ...
(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 use ...
practices make it hard to secure mobile devices
Deployment models
An application server can be deployed:
*
On premises
*
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 ...
* Private cloud
*
Platform as a service
Platform as a service (PaaS) or application platform as a service (aPaaS) or platform-based service is a cloud computing service model where users provision, instantiate, run and manage a modular bundle of a computing platform and applications, w ...
(PaaS)
See also
*
Application service provider
An application service provider (ASP) is a business providing application software generally through the. ASPs that specialize in a particular application (such as a medical billing program) may be referred to as providing software as a service.
...
*
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.
C
* Enduro/X A middleware platform for distributed transaction processing, base ...
References
{{DEFAULTSORT:Application Server
Servers (computing)
Software architecture