Application server
From Wikipedia, the free encyclopedia
An application server is a server computer on a computer network dedicated to running certain software applications (as opposed to e.g. a file server or print server).
Generally, an application server is a software engine that delivers applications to client computers. Moreover, an application server should handle most, if not all, of the business logic and data access of the application. The main benefits of application server technology are ease of application development and centralization.
Although the term Application server applies to all platforms, it has become heavily identified with the Sun Microsystems J2EE platform; however, it has also come to encompass servers of web-based applications, such as integrated platforms for e-commerce, content management systems, affiliate management systems and occasionally, even applied to simplistic web-site page builders. The paradigm is more similar to mainframe based applications than traditional client-server.
Contents |
[edit] Advantages of application servers
- Data and code integrity
- By centralizing business logic on an individual or 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 be done centrally.
- Security
- A central point through which access to data and portions of the application itself can be managed is considered 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 presentation layer traffic, it is perceived that the client-server model improves the performance of large applications in heavy usage environments.
- Total Cost of Ownership (TCO)
- The above benefits combined are considered to represent a cost saving to a company. In practise, 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.
[edit] History
In the later part of the 1990s, it was thought that a massive shift over to centrally served applications was likely, and that the desktop PC would be replaced by lightweight network computers. This would have been a return to the much older model of computing as it was done in the 1960s, with a large, very expensive central computer being accessed by multiple users using dumb terminals. The difference now was the widespread use of the graphical user interface (GUI). Certain products, such as Citrix's WinFrame, became quite popular, allowing standard Windows software to be run on an NT server, and accessed from a wide variety of clients, including non-Windows platforms such as Mac and Unix. Currently, the trend is to deliver applications via a browser or other Internet device.
[edit] Java application servers
Following the success of the Java platform, the term application server sometimes refers to a J2EE application server. JBoss (Red Hat), JRun (Adobe), WebSphere (IBM), Oracle Application Server 10g (Oracle Corporation), Sun Java System Application Server and WebLogic (BEA) are the better known commercial J2EE application servers. GlassFish, an open source Application Server from Sun, is the first to provide a robust, commercial, compatible Java EE 5 implementation.
The JOnAS application server, developed by the ObjectWeb consortium, is the first non-commercial, open source application server to have reached the official certification of compliance with J2EE. The programming language used is Java. The web modules are servlets and JavaServer Pages (JSP), and business logic is built into Enterprise JavaBeans (EJB). The Java 2 Platform, Enterprise Edition (J2EE) provides standards for containing the web components. Tomcat from Apache and JOnAS from ObjectWeb are typical of containers to put these modules into. Both organizations provide the code freely and openly (open source).
A JSP is a Servlet from Java that executes in a web container--the Java equivalent of CGI scripts. JSPs are 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 Java2 architecture from Sun Microsystems.
The application servers mentioned above mainly serve Web applications. Some application servers are targeting networks other than the Web. This is the case of SIP servers, which target telephony networks. An example of a telephony server is the Ubiquity SIP Application Server, which complies with the IMS architecture, as well as the SIP Servlet API standard (JSR 116).
[edit] Other platforms
The term application server has also been applied to various non-J2EE and non-Java offerings. For example, with the rising popularity of .NET, Microsoft can claim to deliver an application server. Additional open source and commercial application servers are available from other vendors. Some examples are the Base4 Server, Appaserver, and Zope. Contrary to prior versions of this entry, Microsoft's Windows Communication Foundation is not an application server, but rather a framework for communication (middleware).
[edit] Common features
Application server products typically bundle middleware to enable applications to intercommunicate with various qualities of service — reliability, security, non-repudiation, and so on. Application servers also provide an API to programmers, so that they don't have to be concerned with the operating system or the huge array of interfaces required of a modern web-based application. Communication occurs through the web in the form of HTML and XML, as a link to various databases, and, quite often, as a link to systems and devices ranging from huge legacy applications to small information devices, such as an atomic clock or a home appliance.
Portals are a very common application server mechanism by which organizations can manage information. They provide a single point of entry for all users, they can access Web services transparently from any device, and they are highly flexible. Portals can work inside or outside of the organization, and they can attach themselves to any part of it.
This term is widely used as a buzzword in the following fields:
- Distributed computing — denoting a computer running some part of a distributed computation task
- Software components — denoting a "component farm", which is a computer loaded with software components, ready to answer calls for usage
- Web services — denoting a machine running applications which will answer interface calls over HTTP in an XML format
[edit] See also
[edit] References
[edit] External links
- Java EE SDK
- Java EE Training
- Application server (Citrix) certification web site
- AllegroServe - a Common Lisp application server
- AP² - web application server.
- The Server Side : web site dedicated to server side technologies.
- Microsoft - The Application Server in Windows
- Appaserver - An application server for database applications.
- Java Application Server Direcotry
- InfoTollgate Web 2.0 Application Server from Turnpike Softwareda:Applikationsserver
de:Application Server es:Servidor de aplicaciones fr:Serveur d'applications hr:Aplikacijski poslužitelj it:Application server nl:Applicatieserver ja:アプリケーションサーバ pl:Serwer aplikacji pt:Servidor de aplicação ru:Сервер приложений sv:Applikationsserver vi:Máy chủ cho chương trình ứng dụng

