Application server

Short description: Server that hosts applications

An application server is a server that hosts applications[1] or software that delivers a business application through a communication protocol.[2] For a typical web application, the application server sits behind the web servers.

An application server framework is a service layer model. It includes software components available to a software developer through an application programming interface. An application server may have features such as clustering, fail-over, and load-balancing. The goal is for developers to focus on the business logic.[3]

## Contents

* 1 Java application servers
* 2 Microsoft
* 3 PHP application servers
* 4 Third-party
* 5 Mobile application servers
* 5.1 Mobile features
* 5.2 Mobile challenges
* 6 Deployment models
* 7 See also
* 8 References

## Java application servers

Jakarta EE (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, the business logic of an application resides in Enterprise Beans—a modular server component providing many features, including declarative transaction management, and improving application scalability.
* Web container: the web modules include Jakarta Servlets and Jakarta Server Pages (JSP).
* JCA container (Jakarta Connectors)
* JMS provider (Jakarta Messaging)

Commercial Java application servers have been dominated by WebLogic Application Server by Oracle, WebSphere Application Server from IBM and the open source JBoss Enterprise Application Platform (JBoss EAP) by Red Hat. Another example of web server which can be used as an application server for the Java EE ecosystem is Apache Tomcat.

## Microsoft

Microsoft's .NET positions their middle-tier applications and services infrastructure in the Windows Server operating system and the .NET Framework technologies in the role of an application server.[4] 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.[5]

## PHP application servers

PHP application servers run and manage PHP applications.

* Zend Server, built by Zend, 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, built by Spiral Scout is a high-performance PHP application server, load-balancer, and process manager written in Go.

## Third-party

* Mono (a cross platform open-source implementation of .NET supporting nearly all its features, with the exception of Windows OS-specific features), sponsored by Microsoft and released under the MIT License

## 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) 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 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 (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:[6]

* Limited resources – mobile devices have limited power and bandwidth
* Intermittent connectivity – cellular service and wifi coverage is often not continuous
* Difficult to secure[7] – mobility and BYOD practices make it hard to secure mobile devices

## Deployment models

An application server can be deployed:

* On premises
* Cloud
* Private cloud
* Platform as a service (PaaS)

## See also

* Application service provider
* List of application servers

## References

1. ↑ Ottinger, Joseph (2008-09-01). "What is an App Server?". https://www.theserverside.com/news/1363671/What-is-an-App-Server. "an application server provides an environment where applications can run, no matter what the applications are or what they do"
2. ↑ Sintes, Tony (2002-08-23). "App server, Web server: What's the difference?". JavaWorld. https://www.infoworld.com/article/2077354/app-server-web-server-what-s-the-difference.html. "[A]n application server exposes business logic to client applications through various protocols"
3. ↑ Ceri, Stefano; Fraternali, Piero; Bongio, Aldo; Brambilla, Marco; Comai, Sara; Matella, Maristella (2003). Designing Data-Intensive Web Applications. Morgan Kaufmann. doi:10.1016/B978-1-55860-843-6.X5000-2. ISBN 1-55860-843-5.
4. ↑ TechNet: Application Server
5. ↑ TechNet: Application Server Role
6. ↑ Jaenicke, Coco (2014-11-19). "Why Mobile App Development Requires More than an SOA". https://appdevelopermagazine.com/2104/2014/11/19/Why-Mobile-App-Development-Requires-More-than-an-SOA.
7. ↑ Egan, Bob (2014-04-11). "A Billion Smartphone Users May Be Affected by the Heartbleed Security Flaw". https://www.forbes.com/sites/bobegan/2014/04/11/a-billion-smartphones-users-may-be-affected-by-the-heartbleed-security-flaw/.

* v
* t
* e

Web interfaces

Server-side|

| Protocols|

* HTTP
* CGI
* SCGI
* FCGI
* AJP
* WSRP
* WebSocket

|

Server APIs|

* C NSAPI
* C ASAPI
* C ISAPI
* COM ASP
* Java servlet
* container
* CLI OWIN
* ASP.NET Handler
* Python WSGI
* Ruby Rack
* JavaScript JSGI
* Perl PSGI
* Lua WSAPI
* Portlet
* container

Apache modules|

* mod include
* mod jk
* mod lisp
* mod mono
* mod parrot
* mod perl
* mod php
* mod proxy
* mod python
* mod wsgi
* mod ruby
* Phusion Passenger

Topics|

* Web resource vs. Web service
* Open API
* Webhook
* Application server
* comparison
* Scripting

Client-side|

| Browser APIs|

* C NPAPI
* LiveConnect
* XPConnect
* C NPRuntime
* C PPAPI
* NaCl
* ActiveX
* BHO
* XBAP

|

Web APIs|

| W3C|

* Audio
* Canvas
* CORS
* DOM
* DOM events
* EME
* File
* Geolocation
* IndexedDB
* MSE
* SSE
* SVG
* Video
* WebAuthn
* WebRTC
* WebSocket
* Web messaging
* Web storage
* Web worker
* XMLHttpRequest
* WebAssembly

|

Khronos|

* WebCL
* WebGL

Others|

* Gears
* Web SQL Database (formerly W3C)
* WebUSB

Topics|

* Ajax and Remote scripting vs. DHTML
* Mashup
* Web IDL
* Scripting

Topics|

* Dynamic web page
* Web standards
* Rich web application
* Web API security
* Web application
* Web framework

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Application server. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Application_server&oldid=26421"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template