Web application

The educational technology and digital learning wiki
Jump to navigation Jump to search

<pageby nominor="false" comments="false"/>

Definition

“In software engineering, a Web application or webapp is an application that is accessed via web over a network such as the Internet or an intranet. (Wikipedia, retrieved 15:44, 15 September 2007 (MEST))”.

Web applications are popular due to the ubiquity of web browsers. One can update and maintain Web applications without distributing and installing software on potentially thousands of client computers. Web applications are used to implement portalware (e.g. learning management systems), rich internet applications, wikis, Webmail, online retail sales, online auctions, Forums, Weblogs, MMORPGs and many other.

See also: web application framework

Software

“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 using some dynamic Web content technology (such as ASP, ASP.NET, CGI, ColdFusion, JSP/Java, PHP, Python, or Ruby On Rails) 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 generates a user interface.” (Wikipedia, retrieved 15:44, 15 September 2007 (MEST).

 web client - engine - database

Web clients

There exist different kinds of web clients:

  • Most often, web clients are web browsers and contents are displayed with HTML or XHTML and styled with [[CSS]. Dynamic elements are added trough the use of HTML forms and Javascript.
  • Web browsers support many plugins who often also can directly communicate with a server, e.g. Flash or Java Applets

More recent software evolution allows to create web applications that have a look and feel that is almost indistinguishable from traditional applications. They are known as rich internet applications or web 2.0 applications.

Note: Other software also can connect to the Internet, e.g. Mail clients or computer games, but we wouldn't call these web applications.

Engines, software bundles and web application frameworks

Engines are programmed either directly with scripting languages such as PHP, Python or ASP or by using web application framework that facilitate development and integrate tools (e.g. high-level description languages) for all tiers involved.

In the open source community, the most popular low-level software bundle for the engine and database tier is LAMP / WAMP / MAMP, i.e. an operating system like Linux or Windows, the Apache web server and it integrated scripting engine PHP and finally the MySQL database.

Databases

See database

In education

Web applications are hugely popular in education, in particular to support e-learning through various kinds of portalware, e.g. learning management systems.

Web applications are also used in classroom teaching, e.g. trough wikis, weblogs or web-based microworlds such as WISE. See Technology-enhanced classroom.