Web application
- This article or section should include material from browser-based.
In software engineering, a web application is an application delivered to users from a web server over a network such as the World Wide Web or an intranet. Web applications are popular due to the ubiquity of the web browser as a client, sometimes called a thin client.
In earlier versions of client-server computing, each application had its own client program which had to be separately installed on each user's personal computer in order to provide the user with a user interface. Each upgrade to the server part of the application also required an upgrade to all the clients. This was obviously expensive and inefficient.
In contrast, web applications dynamically generate a series of web pages in the standard HTML format as their user interface. Each individual web page is technically a static document (although there are efforts in progress to change that, see AJAX). But when engineered properly, the sequence of pages provides an interactive experience; user input is returned through web form elements embedded in the page markup. During the session, the web browser interprets and displays the pages, and acts as the universal client for any web application. Thus, the ability to update and maintain web applications without distributing and installing software on potentially thousands of client computers is another reason they are popular. Applications like webmail, Amazon.com and eBay are well known examples of web applications but they have uses in many other areas of business and science.
Though many variations are possible, a web application is commonly structured as a three-tiered application. In its most common form, a web browser is the first tier, an engine created using some dynamic web content technology (e.g., CGI, PHP, Java Servlets or Active Server Pages) is the middle tier, and a database is the third tier. The web browser sends requests to the middle tier, which services them by making queries and updates against the database and generating a user interface.
In recent times, there has been an increased tendency to include web interfaces for applications that usually have been thought of as traditional, single user applications. For example, Microsoft HTML Help replaced Windows Help as the primary help system in Microsoft Windows. Like their networked brethren, such applications generate web pages as their user interface and send them (sometimes via an embedded HTTP server) to a local web browser component, which then renders the pages for the user and returns user input to the application. Web applications have also become commonplace as the user interfaces for configuring network components like servers, routers and gateways.
An emerging strategy for application software companies is to provide web access to software that has heretofore been distributed as local applications. These programs allow the user to pay a monthly or yearly fee for use of a software application without having to install it on a local hard drive. A company which follows this strategy is known as an application service provider (ASP), and ASPs are currently receiving much attention in the software industry.
See also
- AJAX
- Cascading Style Sheets
- HTML and XHTML
- LAMP: Linux, Apache, MySQL and Perl/Python/PHP
- Microsoft .NET
- REST
- Rich Internet Application
- Web service
- Website
- World Wide Web Consortium (web standards)
- XML
External links
- How Microsoft lost the API war — A discussion on how web applications are replacing windows applications
- The Other Road Ahead — An article arguing that the future lies on the server, not rich interfaces on the client
Categories: Articles to be merged | World Wide Web | Software architecture