|
In
software engineering, a Web application
is an application delivered to users from
a Web server over a network such as the
Internet or an intranet. Web applications
are popular due to the ubiquity of the Web
browser as a client, sometimes called a
thin client.
The ability to update and maintain Web applications
without distributing and installing software
on potentially thousands of client computers
is a key reason for their popularity. Web
applications are used to implement webmail,
online retail sales, online auctions, wikis,
discussion boards, weblogs, MMORPGs, and
perform many other functions.
|
|
 |
Application:
-
Web interfaces have increasingly been used for
applications that have previously 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 powered by
embedded Web servers have also become commonplace
as the user interfaces for configuring network
components such as servers, routers, and gateways
.
Business
use:
An emerging strategy for application software
companies is to provide Web access to software
previously distributed as local applications.
Depending on the type of application, it may require
the development of an entirely different browser-based
interface, or merely adapting an existing application
to use different presentation technology. 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.
Writing Web applications
While many Web applications are written directly
in PHP or mod_perl, there are many Web application
frameworks which automate the process, by allowing
the programmer to define a higher-level description
of the program.
The use of Web application frameworks can often
reduce the number of errors in a program, both
by making the code more simple, and by allowing
one team to concentrate just on the framework.
In applications which are exposed to constant
hacking attempts on the Internet, security-related
problems caused by errors in the program are a
big issue.
A web application framework is
a set of software tools to make it easier to create
web applications. They typically provide functionality
such as database access, templating and session
management.
Such tools range from simple libraries such as
DBI and the much larger PEAR, or pure Ajax presentation
mechanism such as ZK, to systems using Model-view-controller
concepts, where the mere structure of the data
is all that need to be specified to create a fully-functional
application.
For example, when programming a to-do list as
a web application, it is often sufficient for
a programmer to specify "each user can have
many tasks, each of which has a description, a
date, and a priority" and the web application
framework will turn that description into a program
capable of adding, editing, listing, and deleting
tasks from a database
|