Share on Facebook Share on Twitter Email
Answers.com

Application server

 
Sci-Tech Dictionary: application server
(′ap·lə′kā·shən ′ser·vər)

(computer science) A computer that executes commands requested by a Web server to fetch data from databases. Also known as app server.


Search unanswered questions...
Enter a question here...
Search: All sources Community Q&A Reference topics
Computer Desktop Encyclopedia: application server
Top

(1) Before the Web, the term referred to a computer in a client/server environment that performed the business logic (the data processing). In a two-tier client/server environment, which is most common, the user's machine performs the business logic as well as the user interface, and the server provides the database processing. In a three-tier environment, a separate computer (application server) performs the business logic, although some part may still be handled by the user's machine. After the Web exploded in the mid-1990s, application servers became Web based (see definition #2 below). See file server.

Three-Tier Client/Server
An application server in a three-tier client/server environment provides middle tier processing between the user's machine and the database management system (DBMS).

(2) Since the advent of the Web, the term most often refers to software in an intranet/Internet environment that hosts a variety of language systems used to program database queries and/or general business processing. These scripts and services, such as JavaScript and Java server pages (JSPs), typically access a database to retrieve up-to-date data that is presented to users via their browsers or client applications.

The application server may reside in the same computer as the Web server (HTTP server) or be in a separate computer. In large sites, multiple computers are used for both application servers and Web servers (HTTP servers). Examples of Web application servers include BEA Weblogic Server and IBM's WebSphere Application Server. See Web server.

Application Servers & Web Servers
There is overlap between an application server and a Web server, as both can perform similar tasks. The Web server (HTTP server) can invoke a variety of scripts and services to query databases and perform business processing, and application servers often come with their own HTTP server which delivers Web pages to the browser.

J2EE Application Server
Application servers have become the middleware for the enterprise as they increasingly provide more hooks into legacy applications. This is a J2EE-compliant application server running only Java and using Enterprise JavaBeans (EJBs) for the business logic. See EJB.

Download Computer Desktop Encyclopedia to your iPhone/iTouch

Wikipedia: Application server
Top

An application server is a software framework dedicated to the efficient execution of procedures (scripts, routines, programs, ...) for supporting the construction of applications. The term was created in the context of web applications. In these, the application server acts as a set of components accessible to the software developer through an API defined by the platform itself. These components are usually performed in the same machine where the web server is running, and their main job is to support the construction of dynamic pages. [1]

Other uses of the term can refer to:

  1. the services that a server makes available
  2. the computer hardware on which the services run

Contents

Java application servers

Following the success of the Java platform, the term application server sometimes refers to a J2EE or Java EE 5 application server. Some of the better-known Java Enterprise Edition application servers include:


The web modules include servlets and JavaServer Pages. Business logic resides in Enterprise JavaBeans (EJB-3 and later). The Hibernate project offers an EJB-3 container implementation for the JBoss application server. Tomcat from Apache and JOnAS from ObjectWeb exemplify typical containers which can store these modules.

A Java Server Page (JSP) (a servlet from Java) executes in a web container — the Java equivalent of CGI scripts. JSPs provide a way to create HTML pages by embedding references to the server logic within the page. HTML coders and Java programmers can work side by side by referencing each other's code from within their own. JavaBeans are the independent class components of the Java architecture from Sun Microsystems.

The application servers mentioned above mainly serve web applications. Some application servers target networks other than web-based ones: Session Initiation Protocol servers, for instance, target telephony networks.

Microsoft platform

Microsoft has contributed the .NET Framework to the world of application servers. .NET technology includes the Windows Communication Foundation, .NET Remoting, ADO.NET, and ASP.NET among several other components. It works with (or depends upon) other Microsoft products, such as Microsoft Message Queuing and Internet Information Services.

TrustLeap has released the G-WAN application server in July 2009. TrustLeap G-WAN, which runs in user-mode, offers 'edit & play' scripted C servlets that match Microsoft's IIS 7.0 static pages performances (which run in kernel-mode).

Zend platform

Zend offers an application server called Zend Server — used for running and managing PHP applications.

Other platforms

Open-source application servers also come from other vendors. Examples include:

Non-Java offerings have no formal interoperability specifications on a par with the Java Specification Request. As a result, interoperability between non-Java products is poor compared to that of Java EE based products. To address these shortcomings, specifications for enterprise application integration and service-oriented architecture were designed[by whom?] to connect the many different products. These specifications include Business Application Programming Interface, Web Services Interoperability, and Java EE Connector Architecture.

Advantages of application servers

Data and code integrity 
By centralizing business logic on an individual server or on a small number of server machines, updates and upgrades to the application for all users can be guaranteed. There is no risk of old versions of the application accessing or manipulating data in an older, incompatible manner.
Centralized configuration 
Changes to the application configuration, such as a move of database server, or system settings, can take place centrally.
Security 
A central point through which service-providers can manage access to data and portions of the application itself counts as a security benefit, devolving responsibility for authentication away from the potentially insecure client layer without exposing the database layer.
Performance 
By limiting the network traffic to performance-tier traffic the client-server model improves the performance of large applications in heavy usage environments.[citation needed]
Total Cost of Ownership (TCO) 
In combination, the benefits above may result in cost savings to an organization developing enterprise applications. In practice, however, the technical challenges of writing software that conforms to that paradigm, combined with the need for software distribution to distribute client code, somewhat negate these benefits.
Transaction Support 
A transaction represents a unit of activity in which many updates to resources (on the same or distributed data sources) can be made atomic (as an indivisible unit of work). End-users can benefit from a system-wide standard behaviour, from reduced time to develop, and from reduced costs. As the server does a lot of the tedious code-generation, developers can focus on business logic.

See also

External links

Footnotes

  1. ^ Template:Title=Designing Data Intensive Web Applications, 2Q03

Shopping: Application server
Top
 
 

 

Copyrights:

Sci-Tech Dictionary. McGraw-Hill Dictionary of Scientific and Technical Terms. Copyright © 2003, 1994, 1989, 1984, 1978, 1976, 1974 by McGraw-Hill Companies, Inc. All rights reserved.  Read more
Computer Desktop Encyclopedia. THIS COPYRIGHTED DEFINITION IS FOR PERSONAL USE ONLY.
All other reproduction is strictly prohibited without permission from the publisher.
© 1981-2009 Computer Language Company Inc.  All rights reserved.  Read more
Wikipedia. This article is licensed under the Creative Commons Attribution/Share-Alike License. It uses material from the Wikipedia article "Application server" Read more